|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
Classes | |
| struct | mundy::CGResult< Scalar > |
| Result of a linear-system solve: iteration count, final residual, and whether it converged. More... | |
| struct | mundy::CGConfig< Scalar > |
| class | mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace > |
| The linear system A x = b for a square operator A. More... | |
| class | mundy::CGState< Scalar, XVector, RVector, PVector, ApVector > |
| The CG solve state: the x/r/p/Ap vectors and the iteration scalars. More... | |
| class | mundy::CGStrategy< ResidualPolicy, Config > |
| The CG strategy: initialize/iterate/done/result over (Problem, State). More... | |
| class | mundy::CGInvOp< Backend, Op > |
| Wraps an SPD operator as its inverse: apply(rhs, out) solves op * out = rhs via matrix-free CG. More... | |
Namespaces | |
| namespace | mundy |
Functions | |
Solve result | |
| template<class Scalar> | |
| std::ostream & | mundy::operator<< (std::ostream &os, const CGResult< Scalar > result) |
| Write a CGResult to an ostream. | |
Factory functions | |
| template<class Backend, class LinearOp, class RhsVector> | |
| auto | mundy::make_linear_system (LinearOp &&A, RhsVector &&b) |
| template<class ResidualPolicy, class Scalar> | |
| auto | mundy::make_cg_solution_strategy (ResidualPolicy &&residual_policy, const CGConfig< Scalar > &cfg={}) |
| template<class Scalar> | |
| auto | mundy::make_cg_solution_strategy (const CGConfig< Scalar > &cfg={}) |
| template<class XVector, class RVector, class PVector, class ApVector> | |
| auto | mundy::make_cg_state (XVector &&x, RVector &&r, PVector &&p, ApVector &&ap) |
| template<class Problem, class Strategy, class State> | |
| auto | mundy::solve_linear_system (const Problem &prob, const Strategy &strat, State &state) |
| Solve A x = b for SPD A via CG. | |
Inverse operator | |
| template<class Backend, class Op, class Scalar> | |
| auto | mundy::make_cg_inv_op (Op &&op, const CGConfig< Scalar > &cfg, bool warm_start=false) |