Changelog

Version 1.18.0

Released on: 19/02/2022

  • Added NMO example to gallery
  • Extended pylops.Laplacian to N-dimensional arrays
  • Added forward kind to pylops.SecondDerivative and pylops.Laplacian
  • Added chirp-sliding kind to pylops.waveeqprocessing.seismicinterpolation.SeismicInterpolation
  • Fixed bug due to the new internal structure of LinearOperator submodule introduced in scipy1.8.0

Version 1.17.0

Released on: 29/01/2022

Version 1.16.0

Released on: 11/12/2021

  • Added pylops.utils.estimators submodule for trace estimation
  • Added x0 in pylops.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 in pylops.signalprocessing.Radon2D and pylops.signalprocessing.Radon3D to allow for uncentered spatial axes
  • Fixed _rmatvec for explicit in pylops.LinearOperator._ColumnLinearOperator

Version 1.15.0

Released on: 23/10/2021

Version 1.14.0

Released on: 09/07/2021

  • Added pylops.optimization.solver.lsqr solver
  • Added utility routine pylops.utils.scalability_test for scalability tests when using multiprocessing
  • 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, and pylops.basicoperators.Conj
  • Added possibility to run operators pylops.basicoperators.HStack, pylops.basicoperators.VStack, pylops.basicoperators.Block pylops.basicoperators.BlockDiag, and pylops.signalprocessing.Sliding3D using multiprocessing
  • Added dtype to vector X when using scipy.sparse.linalg.lobpcg in eigs method of pylops.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 in pylops.optimization.solver.cg and pylops.optimization.solver.cgls to be L2 norms of residuals
  • Fixed pylops.utils.dottest.dottest for imaginary vectors and to ensure u and v vectors are of same dtype of the operator

Version 1.13.0

Released on: 26/03/2021

Version 1.12.0

Released on: 22/11/2020

Version 1.11.1

Released on: 24/10/2020

  • Fixed import of pyfttw when not available in :py:class:``pylops.signalprocessing.ChirpRadon3D`

Version 1.11.0

Released on: 24/10/2020

  • Added pylops.signalprocessing.ChirpRadon2D and pylops.signalprocessing.ChirpRadon3D operators.
  • Fixed bug in the inferred dimensions for regularization data creation in pylops.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.

Version 1.10.0

Released on: 13/08/2020

Version 1.9.1

Released on: 25/05/2020

  • Changed internal behaviour of pylops.sparsity.OMP when niter_inner=0. Automatically reverts to Matching Pursuit algorithm.
  • Changed handling of dtype in pylops.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 the FFT calls in the definition of the pylops.waveeqprocessing.MDD operation. This ensure that the type of the real part of G input is enforced to the output vectors of the forward and adjoint operations.

Version 1.9.0

Released on: 13/04/2020

Version 1.8.0

Released on: 12/01/2020

Version 1.7.0

Released on: 10/11/2019

Version 1.6.0

Released on: 10/08/2019

Version 1.5.0

Released on: 30/06/2019

Version 1.4.0

Released on: 01/05/2019

Version 1.3.0

Released on: 24/02/2019

Version 1.2.0

Released on: 13/01/2019

Version 1.1.0

Released on: 13/12/2018

Version 1.0.1

Released on: 09/12/2018

  • Changed module from lops to pylops for consistency with library name (and pip install).
  • Removed quickplots from utilities and matplotlib from requirements of PyLops.

Version 1.0.0

Released on: 04/12/2018

  • First official release.