pylops.MatrixMult

class pylops.MatrixMult(A, otherdims=None, forceflat=None, dtype='float64', name='M')[source]

Matrix multiplication.

Simple wrapper to numpy.dot and numpy.vdot for an input matrix \(\mathbf{A}\).

Parameters:
Anumpy.ndarray or scipy.sparse matrix

Matrix.

otherdimstuple, 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).

forceflatbool, optional

Added in version 2.2.0.

Force an array to be flattened after matvec and rmatvec. Note that this is only required when otherdims=None, otherwise pylops will detect whether to return a 1d or nd array.

dtypestr, optional

Type of elements in input array.

namestr, optional

Added in version 2.0.0.

Name of operator (to be used by pylops.utils.describe.describe).

Attributes:
dimsflattentuple

Same as dims but with first dimension flattened (i.e., defined as the product of otherdims).

dimsdflattentuple

Same as dimsd but with first dimension flattened (i.e., defined as the product of otherdims).

reshapebool

Whether to reshape the input prior to applying the matrix A (when otherdims is provided) or not (when otherdims=None).

complexbool

Matrix has complex numbers (True) or not (False).

dimstuple

Shape of the array after the adjoint, but before flattening.

For example, x_reshaped = (Op.H * y.ravel()).reshape(Op.dims).

dimsdtuple

Shape of the array after the forward, but before flattening.

For example, y_reshaped = (Op * x.ravel()).reshape(Op.dimsd).

shapetuple

Operator shape.

explicitbool

Operator contains a matrix that can be solved explicitly (True) or not (False).

Methods

__init__(A[, otherdims, forceflat, dtype, name])

adjoint()

apply_columns(cols)

Apply subset of columns of operator

cond([uselobpcg])

Condition number of linear operator.

conj()

Complex conjugate operator

div(y[, niter, densesolver])

Solve the linear problem \(\mathbf{y}=\mathbf{A}\mathbf{x}\).

dot(x)

Matrix-matrix or matrix-vector multiplication.

eigs([neigs, symmetric, niter, uselobpcg])

Most significant eigenvalues of linear operator.

inv()

Return the inverse of \(\mathbf{A}\).

matmat(X)

Matrix-matrix multiplication.

matvec(x)

Matrix-vector multiplication.

reset_count()

Reset counters

rmatmat(X)

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.

trace([neval, method, backend])

Trace of linear operator.

transpose()

Examples using pylops.MatrixMult

CGLS and LSQR Solvers

CGLS and LSQR Solvers

Describe

Describe

MP, OMP, ISTA and FISTA

MP, OMP, ISTA and FISTA

Matrix Multiplication

Matrix Multiplication

Operators concatenation

Operators concatenation

Operators with Multithreading/Multiprocessing

Operators with Multithreading/Multiprocessing

Restriction and Interpolation

Restriction and Interpolation

02. The Dot-Test

02. The Dot-Test

03. Solvers

03. Solvers

07. Post-stack inversion

07. Post-stack inversion

08. Pre-stack (AVO) inversion

08. Pre-stack (AVO) inversion

17. Real/Complex Inversion

17. Real/Complex Inversion

20. Torch Operator

20. Torch Operator

21. JAX Operator

21. JAX Operator

22. Time-shift estimation

22. Time-shift estimation