diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f4ec08..cffd0be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# 0.7.0 + +* Added ``pyproximal.proximal.RelaxedMumfordShah`` operator +* Added cuda version to the proximal operator of ``pyproximal.proximal.Simplex`` +* Added bilinear update to ``pyproximal.optimization.primal.ProximalGradient`` +* Modified ``pyproximal.optimization.pnp.PlugAndPlay`` function signature to allow using any proximal solver of choice +* Fixed print in ``pyproximal.optimization.primaldual.PrimalDual`` when using cupy arrays +* Fixed ``pyproximal.utils.bilinear.LowRankFactorizedMatrix`` when ``n=m`` + # 0.6.0 :vertical_traffic_light: :vertical_traffic_light: This is the first release supporting PyLops v2. @@ -14,7 +23,7 @@ :vertical_traffic_light: :vertical_traffic_light: * Added ``pyproximal.proximal.Log1`` operator -* Allow ``radius`` parameter of ``pyproximal.optimization.primal.L0`` to be a function +* Allow ``radius`` parameter of ``pyproximal.proximal.L0`` to be a function * Allow ``tau`` parameter of ``pyproximal.optimization.primal.HQS`` to be a vector and change over iterations * Added ``z0`` to ``pyproximal.optimization.primal.HQS`` diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index a71c7d3..07b9767 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -3,6 +3,17 @@ Changelog ========= +Version 0.7.0 +-------------- +*Released on: 10/11/2023* + +* Added :py:class:`pyproximal.proximal.RelaxedMumfordShah`` operator +* Added cuda version to the proximal operator of :py:class:`pyproximal.proximal.Simplex` +* Added bilinear update to :py:func:`pyproximal.optimization.primal.ProximalGradient` +* Modified :py:func:`pyproximal.optimization.pnp.PlugAndPlay` function signature to allow using any proximal solver of choice +* Fixed print in :py:func:`pyproximal.optimization.primaldual.PrimalDual` when using cupy arrays +* Fixed :py:class:`pyproximal.utils.bilinear.LowRankFactorizedMatrix` when ``n=m`` + Version 0.6.0 -------------- *Released on: 18/03/2023* @@ -23,19 +34,19 @@ Version 0.5.0 |:vertical_traffic_light:| |:vertical_traffic_light:| * Added :py:class:`pyproximal.proximal.Log1` operator -* Allow ``radius`` parameter of :py:class:`pyproximal.optimization.primal.L0` to be a function -* Allow ``tau`` parameter of :py:class:`pyproximal.optimization.primal.HQS` to be a vector +* Allow ``radius`` parameter of :py:func:`pyproximal.optimization.primal.L0` to be a function +* Allow ``tau`` parameter of :py:func:`pyproximal.optimization.primal.HQS` to be a vector and change over iterations -* Added ``z0`` to :py:class:`pyproximal.optimization.primal.HQS` +* Added ``z0`` to :py:func:`pyproximal.optimization.primal.HQS` * Added ``factorize`` option to ``densesolver`` of :py:class:`pyproximal.proximal.L2` Version 0.4.0 -------------- *Released on: 05/06/2022* -* Added :py:class:`pyproximal.optimization.primal.ADMML2`, - :py:class:`pyproximal.optimization.primal.HQS`, - and :py:class:`pyproximal.optimization.pnp.PlugAndPlay` solvers +* Added :py:func:`pyproximal.optimization.primal.ADMML2`, + :py:func:`pyproximal.optimization.primal.HQS`, + and :py:func:`pyproximal.optimization.pnp.PlugAndPlay` solvers * Added :py:class:`pyproximal.proximal.ETP`, :py:class:`pyproximal.proximal.Geman`, :py:class:`pyproximal.proximal.L0`, :py:class:`pyproximal.proximal.Log`, :py:class:`pyproximal.proximal.QuadraticEnvelopeCard`, :py:class:`pyproximal.proximal.SCAD` @@ -47,8 +58,8 @@ Version 0.3.0 -------------- *Released on: 23/03/2022* -* Added :py:class:`pyproximal.optimization.palm.PALM` optimizer -* Added ``callback`` to :py:class:`pyproximal.optimization.primal.ProximalPoint` +* Added :py:func:`pyproximal.optimization.palm.PALM` optimizer +* Added ``callback`` to :py:func:`pyproximal.optimization.primal.ProximalPoint` optimizer * Added :py:class:`pyproximal.utils.bilinear.BilinearOperator` and :py:class:`pyproximal.utils.bilinear.LowRankFactorizedMatrix` @@ -67,11 +78,11 @@ Version 0.2.0 * Added :py:class:`pyproximal.proximal.Nuclear`, and :py:class:`pyproximal.proximal.NuclearBall` operators -* Added :py:class:`pyproximal.optimization.primal.TwIST` solver +* Added :py:func:`pyproximal.optimization.primal.TwIST` solver * Added `acceleration` in - :py:class:`pyproximal.optimization.primal.AcceleratedProximalGradient` solver + :py:func:`pyproximal.optimization.primal.AcceleratedProximalGradient` solver * Added classes standard deviation in - :py:class:`pyproximal.optimization.segmentation.Segment` solver + :py:func:`pyproximal.optimization.segmentation.Segment` solver * Added `chain` method :py:class:`pyproximal.ProxOperator` * Fix :py:class:`pyproximal.proximal.Orthogonal` by introducing `alpha` in the proximal evaluation @@ -81,7 +92,7 @@ Version 0.1.0 -------------- *Released on: 24/04/2021* -* Added :py:class:`pyproximal.optimization.sr3.SR3` solver +* Added :py:func:`pyproximal.optimization.sr3.SR3` solver * Added :py:class:`pyproximal.projection.AffineSetProj` and :py:class:`pyproximal.AffineSet` operators * Fixed :py:class:`pyproximal.Huber` operator diff --git a/pyproximal/utils/bilinear.py b/pyproximal/utils/bilinear.py index 3b99cce..eee55d1 100644 --- a/pyproximal/utils/bilinear.py +++ b/pyproximal/utils/bilinear.py @@ -17,7 +17,7 @@ class BilinearOperator(): - ``ly``: Lipschitz constant of :math:`\nabla_y H` Two additional methods (``updatex`` and ``updatey``) are provided to - update the :math:`\mathbf{x}` and :math:`\mathbf{x}` internal + update the :math:`\mathbf{x}` and :math:`\mathbf{y}` internal variables. It is user responsability to choose when to invoke such method (i.e., when to update the internal variables).