Operator classes

class autolyap.problemclass.MaximallyMonotone[source]

Bases: _OperatorInterpolationCondition

Operator interpolation condition for maximally monotone operators.

Let \(G: \calH \rightrightarrows \calH\) be maximally monotone.

  • Interpolation inequality:

    For any \((x_{r_1},u_{r_1}),(x_{r_2},u_{r_2}) \in \operatorname{gra} G\),

\[\langle u_{r_1} - u_{r_2}, x_{r_1} - x_{r_2} \rangle \ge 0.\]
  • Matrix/vector form used in Interpolation conditions:

    With an interpolation vector \(z\) built from the stacked variables in the inequality above, the same condition is encoded as

    \[\mathcal{Q}\p{M, z} \le 0,\]

    with

    \[\begin{split}M = \frac{1}{2} \begin{bmatrix} 0 & 0 & -1 & 1 \\ 0 & 0 & 1 & -1 \\ -1 & 1 & 0 & 0 \\ 1 & -1 & 0 & 0 \end{bmatrix}.\end{split}\]

This condition has no parameters.

References

  • [BC17, Theorem 20.21].

class autolyap.problemclass.StronglyMonotone(
mu: int | float,
)[source]

Bases: _OperatorInterpolationCondition

Operator interpolation condition for strongly and maximally monotone operators.

Let \(\mu \in \mathbb{R}_{++}\) and \(G: \calH \rightrightarrows \calH\) be \(\mu\)-strongly monotone.

  • Interpolation inequality:

    For any \((x_{r_1},u_{r_1}),(x_{r_2},u_{r_2}) \in \operatorname{gra} G\),

    \[\langle u_{r_1} - u_{r_2}, x_{r_1} - x_{r_2} \rangle \ge \mu \|x_{r_1} - x_{r_2}\|^2.\]
  • Matrix/vector form used in Interpolation conditions:

    With an interpolation vector \(z\) built from the stacked variables in the inequality above, the same condition is encoded as

    \[\mathcal{Q}\p{M, z} \le 0,\]

    with

    \[\begin{split}M = \frac{1}{2} \begin{bmatrix} 2\mu & -2\mu & -1 & 1 \\ -2\mu & 2\mu & 1 & -1 \\ -1 & 1 & 0 & 0 \\ 1 & -1 & 0 & 0 \end{bmatrix}.\end{split}\]

Parameters

  • mu (Union[int, float]): The strong monotonicity parameter corresponding to \(\mu\) (must be \(> 0\) and finite).

Raises

  • ValueError: If mu is not a number, \(\le 0\), or infinite.

References

class autolyap.problemclass.LipschitzOperator(
L: int | float,
)[source]

Bases: _OperatorInterpolationCondition

Operator interpolation condition for Lipschitz operators.

Let \(L \in \mathbb{R}_{++}\) and \(G: \calH \to \calH\) be \(L\)-Lipschitz continuous.

  • Interpolation inequality:

    For any \(x_{r_1}, x_{r_2} \in \calH\) with \(u_{r_1} = G(x_{r_1})\) and \(u_{r_2} = G(x_{r_2})\),

    \[\|u_{r_1} - u_{r_2}\|^2 \le L^2 \|x_{r_1} - x_{r_2}\|^2.\]
  • Matrix/vector form used in Interpolation conditions:

    With an interpolation vector \(z\) built from the stacked variables in the inequality above, the same condition is encoded as

    \[\mathcal{Q}\p{M, z} \le 0,\]

    with

    \[\begin{split}M = \begin{bmatrix} -L^2 & L^2 & 0 & 0 \\ L^2 & -L^2 & 0 & 0 \\ 0 & 0 & 1 & -1 \\ 0 & 0 & -1 & 1 \end{bmatrix}.\end{split}\]

Parameters

  • L (Union[int, float]): The Lipschitz parameter corresponding to \(L\) (must be \(> 0\) and finite).

Raises

  • ValueError: If L is not a number, \(\le 0\), or infinite.

References

class autolyap.problemclass.Cocoercive(
beta: int | float,
)[source]

Bases: _OperatorInterpolationCondition

Operator interpolation condition for cocoercive operators.

Let \(\beta \in \mathbb{R}_{++}\) and \(G: \calH \to \calH\) be \(\beta\)-cocoercive.

  • Interpolation inequality:

    For any \(x_{r_1}, x_{r_2} \in \calH\) with \(u_{r_1} = G(x_{r_1})\) and \(u_{r_2} = G(x_{r_2})\),

    \[\langle u_{r_1} - u_{r_2}, x_{r_1} - x_{r_2} \rangle \ge \beta \|u_{r_1} - u_{r_2}\|^2.\]
  • Matrix/vector form used in Interpolation conditions:

    With an interpolation vector \(z\) built from the stacked variables in the inequality above, the same condition is encoded as

    \[\mathcal{Q}\p{M, z} \le 0,\]

    with

    \[\begin{split}M = \frac{1}{2} \begin{bmatrix} 0 & 0 & -1 & 1 \\ 0 & 0 & 1 & -1 \\ -1 & 1 & 2\beta & -2\beta \\ 1 & -1 & -2\beta & 2\beta \end{bmatrix}.\end{split}\]

Parameters

  • beta (Union[int, float]): The cocoercivity parameter corresponding to \(\beta\) (must be \(> 0\) and finite).

Raises

  • ValueError: If beta is not a number, \(\le 0\), or infinite.

References

class autolyap.problemclass.WeakMintyVariationalInequality(
rho_minty: int | float,
)[source]

Bases: _OperatorInterpolationCondition

Operator interpolation condition for operators that fulfill the weak Minty variational inequality.

Let \(\rho_{\textup{minty}} \in \mathbb{R}\) and \(G: \calH \rightrightarrows \calH\) satisfy a weak Minty variational inequality.

  • Interpolation inequality:

    There exists \(x_\star \in \calH\) with \(0 \in G(x_\star)\) such that for any \((x_{r_1},u_{r_1}) \in \operatorname{gra} G\),

    \[\langle u_{r_1}, x_{r_1} - x_\star \rangle \ge \rho_{\textup{minty}} \|u_{r_1}\|^2.\]
  • Matrix/vector form used in Interpolation conditions:

    With an interpolation vector \(z\) built from the stacked variables in the inequality above, the same condition is encoded as

    \[\mathcal{Q}\p{M, z} \le 0,\]

    with

    \[\begin{split}M = \frac{1}{2} \begin{bmatrix} 0 & 0 & -1 & 0 \\ 0 & 0 & 1 & 0 \\ -1 & 1 & 2\rho_{\textup{minty}} & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix}.\end{split}\]

Parameters

  • rho_minty (Union[int, float]): The weak MVI parameter corresponding to \(\rho_{\textup{minty}}\) (must be finite).

Raises

  • ValueError: If rho_minty is not a number or not finite.

Note

  • When used inside InclusionProblem, the problem must have exactly one component. In the notation of 3. Algorithm representation, \(m = 1\), \(m_{\textup{op}} = 1\), and \(m_{\textup{func}} = 0\). This single component may still contain a list of operator conditions (an intersection).

References

[BC17]

Heinz H. Bauschke and Patrick L. Combettes. Convex Analysis and Monotone Operator Theory in Hilbert Spaces. Springer International Publishing, 2017. ISBN 9783319483115. doi:10.1007/978-3-319-48311-5.

[Kir34]

M. Kirszbraun. Über die zusammenziehende und Lipschitzsche transformationen. Fundamenta Mathematicae, 22(1):77–108, 1934.

[RTBG20] (1,2)

Ernest K. Ryu, Adrien B. Taylor, Carolina Bergeling, and Pontus Giselsson. Operator splitting performance estimation: Tight contraction factors and optimal parameter selection. SIAM Journal on Optimization, 30(3):2251–2271, January 2020. doi:10.1137/19m1304854.

[Val43]

F. A. Valentine. On the extension of a vector function so as to preserve a Lipschitz condition. Bulletin of the American Mathematical Society, 49(2):100–108, 1943.

[Val45]

F. A. Valentine. A Lipschitz condition preserving extension for a vector function. American Journal of Mathematics, 67(1):83–93, January 1945. doi:10.2307/2371917.