LinearOperator.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
class
LinearOperator
¶ Parent class(es)
This class defines an interface for linear operators defined only in terms of their action (matrix-vector product) and can be used for matrix-free solution of linear systems. The linear algebra backend is decided at run-time based on the present value of the “linear_algebra_backend” parameter.
To define a linear operator, users need to inherit from this class and overload the function mult(x, y) which defines the action of the matrix on the vector x as y = Ax.
-
LinearOperator
()¶ Create linear operator
-
std::size_t
size
(std::size_t dim) const = 0¶ Return size of given dimension
-
void
mult
(const GenericVector &x, GenericVector &y) const = 0¶ Compute matrix-vector product y = Ax
-
MPI_Comm
mpi_comm
() const¶ Return the MPI communicator
-
std::string
str
(bool verbose) const¶ Return informal string representation (pretty-print)
-
const GenericLinearOperator *
instance
() const¶ Return concrete instance / unwrap (const version)
-
GenericLinearOperator *
instance
()¶ Return concrete instance / unwrap (non-const version)
Return concrete instance / unwrap (const shared pointer version)
Return concrete instance / unwrap (shared pointer version)
-