|
numerics 0.1.0
|
Conjugate gradient solvers. More...
#include "core/matrix.hpp"#include "core/policy.hpp"#include "core/vector.hpp"#include "linalg/matrix_properties.hpp"#include "linalg/solvers/solver_result.hpp"#include "core/concepts.hpp"#include <cmath>#include <stdexcept>Go to the source code of this file.
Namespaces | |
| namespace | num |
| namespace | num::detail |
Functions | |
| SolverResult | num::cg (const Matrix &A, const Vector &b, Vector &x, real tol=1e-10, idx max_iter=1000, Backend backend=default_backend) |
| SolverResult | num::cg (const linalg::SPDMatrix< Matrix > &A, const Vector &b, Vector &x, real tol=1e-10, idx max_iter=1000, Backend backend=default_backend) |
| template<class Op > requires LinearOperator<Op, Vector, Vector> | |
| SolverResult | num::detail::cg_operator_impl (const Op &A, const Vector &b, Vector &x, real tol, idx max_iter, Backend backend) |
| template<class Op > requires SPDLinearOperator<Op, Vector, Vector> | |
| SolverResult | num::cg (const Op &A, const Vector &b, Vector &x, real tol=1e-10, idx max_iter=1000, Backend backend=default_backend) |
| Operator CG for a declared SPD operator. | |
Conjugate gradient solvers.
Solves \(Ax=b\) for symmetric positive definite \(A\) using \(\mathcal{K}_k(A,r_0)=\mathrm{span}\{r_0,Ar_0,\ldots,A^{k-1}r_0\}\).
Definition in file cg.hpp.