Releases: PyLops/pylops
Releases · PyLops/pylops
v1.16.0
- Added
pylops.utils.estimators
module for trace estimation - Added
x0
inpylops.optimization.sparsity.ISTA
and
pylops.optimization.sparsity.FISTA
to handle non-zero initial guess - Modified
pylops.optimization.sparsity.ISTA
and
pylops.optimization.sparsity.FISTA
to handle multiple right hand sides - Modified creation of
haxis
inpylops.signalprocessing.Radon2D
and
pylops.signalprocessing.Radon3D
to allow for uncentered spatial axes - Fixed
_rmatvec
for explicit inpylops.LinearOperator._ColumnLinearOperator
v1.15.0
- Added
pylops.signalprocessing.Shift
operator. - Added option to choose derivative kind in
pylops.avo.poststack.PoststackInversion
and
pylops.avo.prestack.PrestackInversion
- Improved efficiency of adjoint of
pylops.signalprocessing.Fredholm1
by applying complex conjugation
to the vectors. - Added
vsvp
topylops.avo.prestack.PrestackInversion
allowing
to use user defined VS/VP ratio. - Added
kind
topylops.basicoperators.CausalIntegration
allowing
full
,half
, ortrapezoidal
integration - Fixed
_hardthreshold_percentile
in
pylops.optimization.sparsity
- Issue #249. - Fixed r2norm in
pylops.optimization.solver.cgls
v1.14.0
- Added
pylops.optimization.solver.lsqr
solver - Added utility routine
pylops.utils.scalability_test
for scalability
tests when usingmultiprocessing
- Added
pylops.avo.avo.ps
AVO modelling option and restructured
pylops.avo.prestack.PrestackLinearModelling
to allow passing any
function handle that can perform AVO modelling apart from those directly
available - Added R-linear operators (when setting the property
clinear=False
of a
linear operator).pylops.basicoperators.Real
,
pylops.basicoperators.Imag
, andpylops.basicoperators.Conj
- Added possibility to run operators
pylops.basicoperators.HStack
,
pylops.basicoperators.VStack
,pylops.basicoperators.Block
pylops.basicoperators.BlockDiag
,
andpylops.signalprocessing.Sliding3D
usingmultiprocessing
- Added dtype to vector
X
when usingscipy.sparse.linalg.lobpcg
in
eigs
method ofpylops.LinearOperator
- Use
kind=forward
fot FirstDerivative in
pylops.avo.poststack.PoststackInversion
inversion when dealing
with L1 regularized inversion as it makes the inverse problem more stable
(no ringing in solution) - Changed
cost
inpylops.optimization.solver.cg
andpylops.optimization.solver.cgls
to be L2 norms of residuals - Fixed
pylops.utils.dottest.dottest
for imaginary vectors and to
ensureu
andv
vectors are of same dtype of the operator
v1.13.0
- Added
pylops.signalprocessing.Sliding1D
and
pylops.signalprocessing.Patch2D
operators - Added
pylops.basicoperators.MemoizeOperator
operator - Added decay and analysis option in
pylops.optimization.sparsity.ISTA
and
pylops.optimization.sparsity.FISTA
solvers - Added
toreal
andtoimag
methods topylops.LinearOperator
- Make
nr
andnc
optional inpylops.utils.dottest.dottest
- Fixed complex check in
pylops.basicoperators.MatrixMult
when working with complex-valued cupy arrays - Fixed bug in data reshaping in check in
pylops.avo.prestack.PrestackInversion
- Fixed loading error when using old cupy and/or cusignal
v1.12.0
- Modified all operators and solvers to work with cupy arrays
- Added
eigs
andsolver
submodules tooptimization
- Added
deps
andbackend
submodules toutils
- Fixed bug in
Convolve2D
andConvolveND
when dealing with filters that have less dimensions than the input vector.
v1.11.1
v1.11.0
- Added
pylops.signalprocessing.ChirpRadon2D
and
pylops.signalprocessing.ChirpRadon3D
operators. - Fixed bug in the inferred dimensions for regularization data creation
inpylops.optimization.leastsquares.NormalEquationsInversion
,
pylops.optimization.leastsquares.RegularizedInversion
, and
pylops.optimization.sparsity.SplitBregman
. - Changed dtype of
pylops.HStack
to allow automatic inference from
dtypes of input operator. - Modified dtype of
pylops.waveeqprocessing.Marchenko
operator to
ensure that outputs of forward and adjoint are real arrays. - Reverted to previous complex-friendly implementation of
pylops.optimization.sparsity._softthreshold
to avoid division by 0.
v1.10.0
- Added
tosparse
method topylops.LinearOperator
. - Added
kind=linear
inpylops.signalprocessing.Seislet
operator. - Added
kind
topylops.basicoperators.FirstDerivative
.
operator to perform forward and backward (as well as centered)
derivatives. - Added
kind
topylops.optimization.sparsity.IRLS
solver to choose between data or model sparsity. - Added possibility to use
scipy.sparse.linalg.lobpcg
in
pylops.LinearOperator.eigs
andpylops.LinearOperator.cond
. - Added possibility to use
scipy.signal.oaconvolve
in
pylops.signalprocessing.Convolve1D
. - Added
NRegs
topylops.optimization.leastsquares.NormalEquationsInversion
to allow providing regularization terms directly in the form ofH^T H
.
v1.9.1
- Changed internal behaviour of
pylops.sparsity.OMP
when
niter_inner=0
. Automatically reverts to Matching Pursuit algorithm. - Changed handling of
dtype
inpylops.signalprocessing.FFT
and
pylops.signalprocessing.FFT2D
to ensure that the type of the input
vector is retained when applying forward and adjoint. - Added
dtype
parameter to theFFT
calls in the definition of the
pylops.waveeqprocessing.MDD
operation. This ensure that the type
of the real part ofG
input is enforced to the output vectors of the
forward and adjoint operations.
v1.9.0
- Added
pylops.waveeqprocessing.Deghosting
and
pylops.signalprocessing.Seislet
operators - Added hard and half thresholds in
pylops.optimization.sparsity.ISTA
andpylops.optimization.sparsity.FISTA
solvers - Added
prescaled
input parameter topylops.waveeqprocessing.MDC
andpylops.waveeqprocessing.Marchenko
- Added sinc interpolation to
pylops.signalprocessing.Interp
(kind == 'sinc'
) - Modified
pylops.waveeqprocessing.marchenko.directwave
to
to model analytical responses from both sources of volume injection
(derivative=False
) and source of volume injection rate
(derivative=True
) - Added
pylops.LinearOperator.asoperator
method to
pylops.LinearOperator
- Added
pylops.utils.signalprocessing.slope_estimate
function - Fix bug in
pylops.signalprocessing.Radon2D
and
pylops.signalprocessing.Radon3D
whenonthefly=True
returning the
same result as whenonthefly=False