From 5a00deb109ac04c71139c6e5cd436f16ab7961ce Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 5 Jun 2022 18:29:43 +0200 Subject: [PATCH] Prepare for v0.4.0 --- CHANGELOG.md | 11 +++++++++++ docs/source/changelog.rst | 16 +++++++++++++++- pyproximal/proximal/L0.py | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a8b4e5..7b4565c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# 0.4.0 +* Added ``pyproximal.optimization.primal.ADMML2``, + ``pyproximal.optimization.primal.HQS``, + and ``pyproximal.optimization.pnp.PlugAndPlay`` solvers +* Added ``pyproximal.proximal.ETP``, ``pyproximal.proximal.Geman``, + ``pyproximal.proximal.L0``, ``pyproximal.proximal.Log``, + ``pyproximal.proximal.QuadraticEnvelopeCard``, ``pyproximal.proximal.SCAD`` + operators. +* Allow `tau` parameter of proximal operators to be a vector to handle problems with + multiple right-hand sides. + # 0.3.0 * Added ``pyproximal.optimization.palm.PALM`` optimizer * Added ``callback`` to ``pyproximal.optimization.proximal.ProximalPoint`` diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 6c1444e..bd5eec3 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -3,6 +3,20 @@ Changelog ========= +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: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` + operators. +* Allow `tau` parameter of proximal operators to be a vector to handle problems with + multiple right-hand sides. + Version 0.3.0 -------------- *Released on: 23/03/2022* @@ -26,7 +40,7 @@ Version 0.2.0 and :py:class:`pyproximal.proximal.Nonlinear` operators * Added :py:class:`pyproximal.proximal.Nuclear`, and - :py:class:`pyproximal.proximal.NuclearBall` operator + :py:class:`pyproximal.proximal.NuclearBall` operators * Added :py:class:`pyproximal.optimization.primal.TwIST` solver * Added `acceleration` in :py:class:`pyproximal.optimization.primal.AcceleratedProximalGradient` solver diff --git a/pyproximal/proximal/L0.py b/pyproximal/proximal/L0.py index f185f3b..fd281cf 100644 --- a/pyproximal/proximal/L0.py +++ b/pyproximal/proximal/L0.py @@ -43,7 +43,7 @@ class L0(ProxOperator): Parameters ---------- sigma : :obj:`float` or :obj:`list` or :obj:`np.ndarray` or :obj:`func`, optional - Multiplicative coefficient of L1 norm. This can be a constant number, a list + Multiplicative coefficient of L0 norm. This can be a constant number, a list of values (for multidimensional inputs, acting on the second dimension) or a function that is called passing a counter which keeps track of how many times the ``prox`` method has been invoked before and returns a scalar (or a list of)