ott.geometry.regularizers.Quadratic

Contents

ott.geometry.regularizers.Quadratic#

class ott.geometry.regularizers.Quadratic(A=None, b=None, *, is_complement=False, is_orthogonal=False, is_factor=False, solver=None)[source]#

Quadratic operator \(\frac{1}{2} \left<x, Q x\right> + b\).

The matrix \(Q\) is defined as:

  • \(Q := A\) if not factored and not an orthogonal complement.

  • \(Q := A^{\perp}\) if not factored and a complement.

  • \(Q := A^TA\) if factored and not a complement.

  • \(Q := \left(A^{\perp}\right)^TA^{\perp}\) if factored and a complement.

Parameters:
  • A (Union[Array, AbstractLinearOperator, None]) – Linear operator \(A\). If None, use identity.

  • b (Optional[Array]) – Offset \(b\). If None, use array of 0s.

  • is_complement (bool) – Whether to regularize in the orthogonal complement of \(A\), defined as \(A^{\perp} := I - A^T (AA^T)^{-1} A\).

  • is_orthogonal (bool) – Whether \(AA^T = I\).

  • is_factor (bool) – Whether to factor the matrix \(Q\) as mentioned above.

  • solver (Optional[Callable[[AbstractLinearOperator, Array], Array]]) – Linear solver. If None, use lineax.linear_solve().

Methods

moreau_envelope(x[, tau])

Moreau Envelope.

prox(v[, tau])

Proximal operator.

prox_dual(v[, tau])

Proximal operator of the convex conjugate.

Attributes

A_comp

Orthogonal complement \(A^{\perp}\) of \(A\).

Q

Linear operator \(Q\).

is_complement

Whether Q is defined using \(A_{\perp}\) or \(A\).

is_factor

Whether Q is factored.

is_orthogonal

Whether AA^T = I.