Implements SpectralNorm.


class picos.expressions.exp_specnorm.SpectralNorm(x)[source]

Bases: Expression

The spectral norm of a matrix.

This class can represent the spectral norm of a matrix-affine expression (real- or complex valued). The spectral norm is convex, so we can form expressions of the form SpectralNorm(X) <= t which are typically reformulated as LMIs that can be handled by SDP solvers.


If the normed expression is a matrix X, then its spectral norm is

\|X\|_2 = \max \{  \|Xu\|_2 : \|u\| \leq  1\}
        = \sqrt{\lambda_{\max}(XX^*)},

where \lambda_{\max}(\cdot) denotes the largest eigenvalue of a matrix, and X^* denotes the adjoint matrix of X (i.e., the transposed matrix X^T if X is real-valued).

Special cases:

  • If X is scalar, then \|X\|_2 reduces to the the absolute value (or modulus) |X|.

  • If X is scalar, then \|X\|_2 coincides with the Euclidean norm of X.


Construct a SpectralNorm.


x (ComplexAffineExpression) – The affine expression to take the norm of.


Return a constraint that the expression is upper-bounded.


Denote multiplication with another expression on the right.


Denote multiplication with another expression on the left.

property x

Real expression whose norm equals that of the original expression.