You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Warm start (``True``) or not (``False``). Uses estimate from previous
49
50
call of ``prox`` method.
51
+
solver : :obj:`str`, optional
52
+
.. versionadded:: 0.11.0
53
+
54
+
Name of solver to use with non-explicit operators:
55
+
- ``legacy``: enforces the legacy behaviour where :py:func:`scipy.sparse.linalg.lsqr` is used with numpy data and :py:func:`pylops.optimization.solver.lsqr` is used with cupy data (both are applied to the normal equations);
56
+
- ``cg`` to use :py:func:`pylops.optimization.solver.cg` on the
57
+
normal equations;
58
+
- ``cgls`` to use :py:func:`pylops.optimization.solver.cgls` on the
59
+
regularized system of equations;
50
60
densesolver : :obj:`str`, optional
51
61
Use ``numpy``, ``scipy``, or ``factorize`` when dealing with explicit
52
62
operators. The former two rely on dense solvers from either library,
@@ -55,10 +65,8 @@ class L2(ProxOperator):
55
65
have changed. Choose ``densesolver=None`` when using PyLops versions
56
66
earlier than v1.18.1 or v2.0.0
57
67
**kwargs_solver : :obj:`dict`, optional
58
-
Dictionary containing extra arguments for
59
-
:py:func:`scipy.sparse.linalg.lsqr` solver when using
60
-
numpy data (or :py:func:`pylops.optimization.solver.lsqr` and
61
-
when using cupy data)
68
+
Dictionary containing extra arguments for the solver selected
69
+
via the ``solver`` parameter.
62
70
63
71
Notes
64
72
-----
@@ -78,8 +86,26 @@ class L2(ProxOperator):
78
86
iterative solver is employed. In this case it is possible to provide a warm
79
87
start via the ``x0`` input parameter.
80
88
81
-
When only ``b`` is provided, ``Op`` is assumed to be an Identity operator
82
-
and the proximal operator reduces to:
89
+
Note that alternatively the proximal operator can be computed solving the following
90
+
augumented system of equations (instead of its normal equations as shown above):
91
+
92
+
.. math::
93
+
94
+
\begin{bmatrix}
95
+
\sqrt{\tau \sigma} \mathbf{Op} \\
96
+
\mathbf{I}
97
+
\end{bmatrix}
98
+
prox_{\tau f_\alpha}(\mathbf{x}) =
99
+
\begin{bmatrix}
100
+
\sqrt{\tau \sigma} \mathbf{b} \\
101
+
\mathbf{x} - \tau \alpha \mathbf{q}
102
+
\end{bmatrix}
103
+
104
+
The choice of the parameter ``solver`` determines which of the two
105
+
approaches is used.
106
+
107
+
Alternatively, when only ``b`` is provided, ``Op`` is assumed to be an
108
+
Identity operator and the proximal operator reduces to:
0 commit comments