Finite-dimensional Linear Operators.

This package implements finite dimensional linear operators. It can be used to represent linear maps between finite-dimensional vector spaces without explicitly constructing their matrix representation in memory. This is particularly useful for sparse and structured matrices and often allows for the definition of a more efficient matrix-vector product. Linear operators support common algebraic operations, including matrix-vector products, addition, multiplication, and transposition.

Several algorithms in the probnum.linalg subpackage are able to operate on LinearOperator instances.



Return A as a LinearOperator.


LinearOperator(shape, dtype, *, matmul[, …])

Composite base class for finite-dimensional linear operators.


A linear operator defined via a matrix.

Scaling(factors[, shape, dtype])

Identity(shape[, dtype])

The identity operator.

Kronecker(A, B)

Kronecker product of two linear operators.

SymmetricKronecker(A[, B])

Symmetric Kronecker product of two linear operators.

Symmetrize(n[, dtype])

Symmetrizes a vector in its matrix representation.

Class Inheritance Diagram

Inheritance diagram of probnum.linops.LinearOperator, probnum.linops.Matrix, probnum.linops.Scaling, probnum.linops.Identity, probnum.linops.Kronecker, probnum.linops.SymmetricKronecker, probnum.linops.Symmetrize