6 #ifndef MYRAMATH_ITERATIVE_SOLVEACTION_H 7 #define MYRAMATH_ITERATIVE_SOLVEACTION_H 36 : solver(&in_solver), op(in_op) { }
41 virtual std::pair<int,int> size()
const 42 {
int N = solver->size();
return std::pair<int,int>(N,N); }
45 virtual void multiply(
const X& x,
const B& b)
const 46 { b.
assign(x); solver->solve(b,
'L',op); }
Reflects Number trait for a Container, containers of Numbers (Matrix's, Vector's, etc) should special...
Definition: Number.h:55
Interface class for representing subranges of dense Matrix's.
Applies the "Action" of a linear operator, b := A*x, used in iterative solution algorithms.
void assign(const CMatrixRange< Number > &that) const
Assigns the values in *this with the values in that.
Definition: MatrixRange.cpp:268
Represents a const MatrixRange.
Definition: bothcat.h:22
Definition: random.cpp:45
Action< typename ReflectNumber< Solver >::type > make_SolveAction(const Solver &solver, char op='N')
Free function for making SolveAction's.
Definition: SolveAction.h:67
Various utility functions/classes related to scalar Number types.
Adapts anything with a method of the form .solve(X,side,op) into an Action.
Definition: SolveAction.h:25
Represents a mutable MatrixRange.
Definition: conjugate.h:26
Applies the "Action" of a linear operator, b := A*x.
Definition: Action.h:29
Implementation detail, polymorphic base type contained/erased by Action.