class pylops.avo.avo.AVOLinearModelling(theta, vsvp=0.5, nt0=1, spatdims=None, linearization='akirich', dtype='float64')[source]

AVO Linearized modelling.

Create operator to be applied to a combination of elastic parameters for generation of seismic pre-stack reflectivity.

theta : np.ndarray

Incident angles in degrees

vsvp : np.ndarray or float

VS/VP ratio

nt0 : int, optional

number of samples (if vsvp is a scalar)

spatdims : int or tuple, optional

Number of samples along spatial axis (or axes) (None if only one dimension is available)

linearization : str, optional

choice of linearization: akirich: PP Aki-Richards, fatti: PP Fatti, ps: PS reflection,

dtype : str, optional

Type of elements in input array.


If linearization is not an implemented linearization


The AVO linearized operator performs a linear combination of three (or two) elastic parameters arranged in input vector \(\mathbf{m}\) of size \(n_{t0} \times N\) to create the so-called seismic reflectivity:

\[r(t, \theta, x, y) = \sum_{i=1}^N G_i(t, \theta) m_i(t, x, y) \qquad \forall \quad t, \theta\]

where \(N=2/3\). Note that the reflectivity can be in 1d, 2d or 3d and spatdims contains the dimensions of the spatial axis (or axes) \(x\) and \(y\).

shape : tuple

Operator shape

explicit : bool

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


__init__(theta[, vsvp, nt0, spatdims, …]) 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]) 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.
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.
transpose() Transpose this linear operator.

Examples using pylops.avo.avo.AVOLinearModelling