num::solve¶
Defined in header <linear/banded/banded.hpp>, <linear/factorization/block_tridiagonal.hpp>, <linear/factorization/cholesky.hpp>, <linear/factorization/factor.hpp>, <linear/factorization/lu.hpp>, <linear/factorization/mixed_lu.hpp>, <linear/factorization/qr.hpp>, <linear/factorization/reuse.hpp>, <linear/factorization/woodbury.hpp>, <linear/solve.hpp>, <linear/solvers/auto_linear.hpp>, <linear/solvers/auto_resolvent.hpp>, <linear/solvers/hessenberg_resolvent.hpp>, <linear/solvers/sparse_resolvent.hpp>, <linear/sparse/klu.hpp>, <linear/sparse/umfpack.hpp>
void solve(const banded_lu_result &f, const vec<real> &b, vec<real> &x); // (1)
void solve(const banded_lu_result &f, const mat<real> &B, mat<real> &X); // (2)
template <class F, class RHS>
RHS solve(const F &factor, const RHS &b)
requires requires(RHS &x); // (3)
template <class F, class RHS>
void solve(detail::transposed_factor<F> factor, const RHS &b, RHS &x); // (4)
template <std::floating_point T>
void solve(const lu_result<T> &f, const std::type_identity_t<vec<T>> &b, vec<T> &x); // (5)
template <std::floating_point T>
void solve(const lu_result<T> &f, const std::type_identity_t<mat<T>> &B, mat<T> &X); // (6)
void solve(const cholesky_result &f, const vec<real> &b, vec<real> &x); // (7)
void solve(const cholesky_result &f, const mat<real> &B, mat<real> &X); // (8)
void solve(const block_lu_factor &factor, const mat<real> &B, mat<real> &X); // (9)
void solve(const block_lu_factor &factor, const vec<real> &b, vec<real> &x); // (10)
void solve(const block_cholesky_factor &factor, const mat<real> &B, mat<real> &X); // (11)
void solve(const block_cholesky_factor &factor, const vec<real> &b, vec<real> &x); // (12)
friend void solve(const auto_linear_solver &, const vec<real> &, vec<real> &); // (13)
friend void solve(const auto_linear_solver &, const mat<real> &, mat<real> &); // (14)
friend void solve(const klu_factorization &, const vec<real> &, vec<real> &); // (15)
friend void solve(const klu_factorization &, const mat<real> &, mat<real> &); // (16)
template <class F, class RHS>
void solve(const similar_factor<F> &Z, const RHS &b, RHS &x); // (17)
void solve(const qr_result &f, const vec<real> &b, vec<real> &x); // (18)
void solve(const mixed_lu &F, const vec<real> &b, vec<real> &x); // (19)
void solve(const mixed_lu &F, const mat<real> &B, mat<real> &X); // (20)
template <class RHS>
friend void solve(const woodbury_solver &W, const RHS &b, RHS &x); // (21)
template <class RHS>
friend void solve(const corrected_factor &Z, const RHS &rhs, RHS &out); // (22)
template <class RHS>
void solve(const suffix_block_lu &Z, const RHS &rhs, RHS &out); // (23)
template <class RHS>
void solve(const suffix_block_cholesky &Z, const RHS &rhs, RHS &out); // (24)
void solve(const hessenberg_shifted_lu &F, const vec<cplx> &b, vec<cplx> &x); // (25)
void solve(const hessenberg_shifted_lu &F, const vec<real> &b, vec<cplx> &x); // (26)
vec<cplx> solve(const hessenberg_shifted_lu &F, const vec<real> &b); // (27)
friend void solve(const sparse_shifted_lu &F, const vec<cplx> &b, vec<cplx> &x); // (28)
void solve(const auto_shifted_lu &F, const vec<cplx> &b, vec<cplx> &x); // (29)
friend void solve(const umfpack_factor &, const vec<real> &, vec<real> &); // (30)
friend void solve(const umfpack_factor &, const mat<real> &, mat<real> &); // (31)
(1) Solve \(Ax = b\). x may be b.
(2) Solve \(AX = B\), one right-hand side per column. X may be B.
(3) Solve \(Ax = b\), allocating x. Prefer the out-parameter form in hot loops.
(4) Undocumented.
(5) Solve \(Ax = b\). x may be b.
(6) Solve \(AX = B\). X may be B.
(7) Solve \(Ax=b\). x may be b.
(8) Solve \(AX=B\). X may be B.
(9) Solve \(AX = B\) using stored block LU factors.
(10) Solve \(Ax = b\) using stored block LU factors.
(11) Solve \(AX = B\) using stored block Cholesky factors.
(12) Solve \(Ax = b\) using stored block Cholesky factors.
(13) Solve \(Ax = b\). x may be b.
(14) Solve \(AX = B\). X may be B.
(15) Solve \(Ax = b\). x may be b.
(16) Solve \(AX = B\). X may be B.
(17) Undocumented.
(18) Solve \(\min_x \|Ax-b\|_2\), which is \(Ax = b\) for square nonsingular \(A\). x may be b.
(19) Solve \(Ax = b\) to double-precision accuracy. x may be b.
(20) Solve \(AX = B\), refining each column. X may be B.
(21) Solve \((A_{base} + PQ^{T})x = b\).
x may be b.
(22) Undocumented.
(23) Undocumented.
(24) Undocumented.
(25) Solve \((sI - A)x = b\). x may be b.
(26) Solve \((sI - A)x = b\) for a real \(b\); the solution is complex.
(27) Undocumented.
(28) Solve \((sI - A)x = b\). x may be b.
(29) Solve \((sI - A)x = b\). x may be b.
(30) Solve \(Ax = b\). x may be b.
(31) Solve \(AX = B\). X may be B.