# LinearOperator¶

class dolfin.cpp.la.LinearOperator(*args)

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.

Create linear operator

init_layout()
mpi_comm()

Return the MPI communicator

mult()

Compute matrix-vector product y = Ax

shared_instance()

• shared_instance()

Return concrete instance / unwrap (const shared pointer version)

• shared_instance()

Return concrete instance / unwrap (shared pointer version)

size()

Return size of given dimension

str()

Return informal string representation (pretty-print)

thisown

The membership flag