pylops.MemoizeOperator#

class pylops.MemoizeOperator(Op, max_neval=10)[source]#

Memoize Operator.

This operator can be used to wrap any PyLops operator and add a memoize functionality and stores the last max_neval model/data vector pairs

Parameters
Oppylops.LinearOperator

PyLops linear operator

max_nevalint, optional

Maximum number of previous evaluations stored, use np.inf for infinite memory

Attributes
storelist

List of stored (x, y) pairs.

nevalint

Number of evaluations of the operator.

shapetuple

Operator shape. \([n \times m]\).

Methods

__init__(Op[, max_neval])

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.

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.MemoizeOperator#

17. Real/Complex Inversion

17. Real/Complex Inversion