|
DOLFIN
DOLFIN C++ interface
|
#include <LinearOperator.h>


Public Member Functions | |
| LinearOperator () | |
| Create linear operator. | |
| LinearOperator (const GenericVector &x, const GenericVector &y) | |
| virtual | ~LinearOperator () |
| Destructor. | |
| virtual std::size_t | size (std::size_t dim) const =0 |
| Return size of given dimension. | |
| virtual void | mult (const GenericVector &x, GenericVector &y) const =0 |
| Compute matrix-vector product y = Ax. | |
| virtual MPI_Comm | mpi_comm () const |
| Return the MPI communicator. | |
| std::string | str (bool verbose) const |
| Return informal string representation (pretty-print) | |
| virtual const GenericLinearOperator * | instance () const |
| Return concrete instance / unwrap (const version) | |
| virtual GenericLinearOperator * | instance () |
| Return concrete instance / unwrap (non-const version) | |
| virtual std::shared_ptr< const LinearAlgebraObject > | shared_instance () const |
| Return concrete instance / unwrap (const shared pointer version) | |
| virtual std::shared_ptr< LinearAlgebraObject > | shared_instance () |
| Return concrete instance / unwrap (shared pointer version) | |
Public Member Functions inherited from dolfin::Variable | |
| Variable () | |
| Create unnamed variable. | |
| Variable (const std::string name, const std::string label) | |
| Create variable with given name and label. | |
| Variable (const Variable &variable) | |
| Copy constructor. | |
| virtual | ~Variable () |
| Destructor. | |
| const Variable & | operator= (const Variable &variable) |
| Assignment operator. | |
| void | rename (const std::string name, const std::string label) |
| Rename variable. | |
| std::string | name () const |
| Return name. | |
| std::string | label () const |
| Return label (description) | |
| std::size_t | id () const |
Additional Inherited Members | |
Public Attributes inherited from dolfin::Variable | |
| Parameters | parameters |
| Parameters. | |
Protected Member Functions inherited from dolfin::GenericLinearOperator | |
| virtual void | init_layout (const GenericVector &x, const GenericVector &y, GenericLinearOperator *wrapper) |
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::LinearOperator | ( | const GenericVector & | x, |
| const GenericVector & | y | ||
| ) |
Create linear operator to match parallel layout of vectors x and y for product y = Ax.
1.8.13