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");
Definition: GenericLinearOperator.h:43
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.
virtual void init_layout(const GenericVector &x, const GenericVector &y, GenericLinearOperator *wrapper)
Definition: GenericLinearOperator.h:64
virtual std::size_t size(std::size_t dim) const =0
Return size of given dimension.
This class defines a common interface for vectors.
Definition: GenericVector.h:48
Definition: LinearAlgebraObject.h:37
Definition: LinearOperator.h:41
void dolfin_error(std::string location, std::string task, std::string reason,...)
Definition: log.cpp:129