pylops_gpu.MatrixMult¶
-
class
pylops_gpu.
MatrixMult
(A, dims=None, device='cpu', togpu=(False, False), tocpu=(False, False), dtype=torch.float32)[source]¶ Matrix multiplication.
Simple wrapper to
torch.matmul
for an input matrix \(\mathbf{A}\).Parameters: - A :
torch.Tensor
orpytorch_complex_tensor.ComplexTensor
ornumpy.ndarray
Matrix.
- dims :
tuple
, optional Number of samples for each other dimension of model (model/data will be reshaped and
A
applied multiple times to each column of the model/data).- device :
str
, optional Device to be used
- togpu :
tuple
, optional Move model and data from cpu to gpu prior to applying
matvec
andrmatvec
, respectively (only whendevice='gpu'
)- tocpu :
tuple
, optional Move data and model from gpu to cpu after applying
matvec
andrmatvec
, respectively (only whendevice='gpu'
)- dtype :
torch.dtype
ornp.dtype
, optional Type of elements in input array.
Notes
Refer to
pylops.basicoperators.MatrixMult
for implementation details.Attributes: Methods
__init__
(A[, dims, device, togpu, tocpu, dtype])Initialize this LinearOperator. adjoint
()Hermitian adjoint. apply_columns
(cols)Apply subset of columns of operator cond
([uselobpcg])Condition number of linear operator. conj
()Complex conjugate operator div
(y[, niter, tol])Solve the linear problem \(\mathbf{y}=\mathbf{A}\mathbf{x}\). dot
(x)Matrix-vector multiplication. eigs
([neigs, symmetric, niter, uselobpcg])Most significant eigenvalues of linear operator. inv
()Return the inverse of \(\mathbf{A}\). matmat
(X[, kfirst])Matrix-matrix multiplication. matvec
(x)Matrix-vector multiplication. rmatmat
(X[, kfirst])Adjoint matrix-matrix multiplication. rmatvec
(x)Adjoint matrix-vector multiplication. todense
([backend])Return dense matrix. toimag
([forw, adj])Imag operator toreal
([forw, adj])Real operator tosparse
()Return sparse matrix. transpose
()Transpose this linear operator. -
inv
()[source]¶ Return the inverse of \(\mathbf{A}\).
Returns: - Ainv :
torch.Tensor
Inverse matrix.
- Ainv :
- A :