21 #ifndef __GENERIC_LINEAR_OPERATOR_H 22 #define __GENERIC_LINEAR_OPERATOR_H 24 #include "LinearAlgebraObject.h" 31 class GenericLinearAlgebraFactory;
50 virtual std::size_t
size(std::size_t dim)
const = 0;
56 virtual std::string
str(
bool verbose)
const = 0;
69 "initialize backend implementation of linear operator",
70 "Missing init_layout() function for backend");
virtual void init_layout(const GenericVector &x, const GenericVector &y, GenericLinearOperator *wrapper)
Definition: GenericLinearOperator.h:64
Definition: LinearAlgebraObject.h:36
virtual std::string str(bool verbose) const =0
Return informal string representation (pretty-print)
virtual void mult(const GenericVector &x, GenericVector &y) const =0
Compute matrix-vector product y = Ax.
Definition: GenericLinearOperator.h:42
Definition: LinearOperator.h:40
virtual std::size_t size(std::size_t dim) const =0
Return size of given dimension.
void dolfin_error(std::string location, std::string task, std::string reason,...)
Definition: log.cpp:129
This class defines a common interface for vectors.
Definition: GenericVector.h:47