|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
The linear system A x = b for a square operator A. More...
#include <linear_system.hpp>
Public Types | |
| using | backend_t = Backend |
| using | linear_op_storage_t = ::mundy::storage<LinearOp> |
| using | rhs_vector_storage_t = ::mundy::storage<RhsVector> |
| using | linear_op_t = typename linear_op_storage_t::value_type |
| using | rhs_vector_t = typename rhs_vector_storage_t::value_type |
| using | workspace_t = Workspace |
| using | value_type = impl::vector_value_type<rhs_vector_t> |
Public Member Functions | |
| LinearSystem (Backend, LinearOp &&A, RhsVector &&b) | |
| LinearSystem (Backend, LinearOp &&A, RhsVector &&b, workspace_t workspace) | |
| Backend | backend () const |
| const auto & | A () const |
| const auto & | b () const |
| workspace_t & | workspace () const |
| Cached scratch state for evaluating A (mutated during a solve). | |
Pairs the operator with its right-hand side and a mutable workspace; unconstrained (no convex space). A must be square; CG (this header) additionally requires it to be SPD.
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::backend_t = Backend |
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::linear_op_storage_t = ::mundy::storage<LinearOp> |
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::rhs_vector_storage_t = ::mundy::storage<RhsVector> |
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::linear_op_t = typename linear_op_storage_t::value_type |
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::rhs_vector_t = typename rhs_vector_storage_t::value_type |
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::workspace_t = Workspace |
| using mundy::LinearSystem< Backend, LinearOp, RhsVector, Workspace >::value_type = impl::vector_value_type<rhs_vector_t> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
One Problem must not back two concurrent solves; construct a fresh Problem per concurrent solve.