6 #ifndef MYRAMATH_ITERATIVE_CONCATENATEACTION_H 7 #define MYRAMATH_ITERATIVE_CONCATENATEACTION_H 14 #include <myramath/MYRAMATH_EXPORT.h> 51 virtual std::pair<int,int> size()
const;
54 virtual void multiply(
const X& x,
const B& b, Number alpha, Number beta)
const;
57 virtual void multiply(
const X& x,
const B& b)
const;
65 std::vector<int> iblocks;
66 std::vector<int> jblocks;
67 std::vector<int> istrides;
68 std::vector<int> jstrides;
Container of values, allows random (i,j) access.
Definition: Array2.h:30
const Action< Number > & at(int i, int j) const
Container API, looks up the Action at the (i,j)'th block.
Definition: ConcatenateAction.cpp:54
Container of values, allows random (i) access.
Applies the "Action" of a linear operator, b := A*x, used in iterative solution algorithms.
Container of values, allows random (i,j) access.
Wraps an Array2<Action>, for concatenating other Action's together.
Definition: ConcatenateAction.h:28
Represents a const MatrixRange.
Definition: bothcat.h:22
Definition: random.cpp:45
ConcatenateAction(const intCRange &in_iblocks, const intCRange &in_jblocks)
Constructor, requires blocking vectors along I and J axes.
Definition: ConcatenateAction.cpp:21
Various utility functions/classes related to scalar Number types.
Represents a mutable MatrixRange.
Definition: conjugate.h:26
void insert(int i, int j, const Action< Number > &A)
Container API, assigns an Action for the (i,j)'th block.
Definition: ConcatenateAction.cpp:38
Applies the "Action" of a linear operator, b := A*x.
Definition: Action.h:29
Implementation detail, polymorphic base type contained/erased by Action.
Represents a const intRange.
Definition: intRange.h:142
Interface class for representing subranges of contiguous int's.