|
numerics 0.1.0
|
Abstract matrix-free linear operator: y = A*x. More...
#include <subspace.hpp>
Public Member Functions | |
| virtual | ~LinearOp ()=default |
| virtual void | apply (const Vector &x, Vector &y) const =0 |
| y = A*x (y must be pre-allocated to the correct size) | |
| virtual idx | rows () const noexcept=0 |
| virtual idx | cols () const noexcept=0 |
Abstract matrix-free linear operator: y = A*x.
Subclass this or use DenseOp / SparseOp / CallableOp / make_op. Virtual dispatch overhead is O(1) per apply(); work inside is O(n) or O(nnz), so the overhead is negligible.
Definition at line 55 of file subspace.hpp.
|
virtualdefault |
|
pure virtual |
y = A*x (y must be pre-allocated to the correct size)
Implemented in num::kernel::subspace::DenseOp, num::kernel::subspace::SparseOp, and num::kernel::subspace::CallableOp< F >.
Referenced by num::kernel::subspace::arnoldi_step().
|
pure virtualnoexcept |
|
pure virtualnoexcept |