Linear Operator Base Class
The base class of all linear operators is LinearOperator. It
implements the basic machinery for matrix vector multiplies.
To implement a new linear operator, you need to implement or call
__init__(dtype,shape), and implement _matmat().
The methods _rmatmat(), to_dense(), T(), and H() will all be
defined automatically.
- class cola.ops.LinearOperator(dtype, shape, matmat=None, annotations={})[source]
Linear Operator base class
- abstract _matmat(X)[source]
Defines multiplication AX of the LinearOperator A with a dense array X (d,k) where A (self) is shape (c,d)
- Return type:
- _rmatmat(X)[source]
Defines multiplication XA of the LinearOperator A with a dense array X (k,d) where A (self) is shape (d,c). By default uses jvp to compute the transpose.
- Return type:
- property T
Matrix Transpose
- property H
Matrix complex conjugate transpose (aka hermitian conjugate, adjoint)