Gradients of Quadratics

Contents

Gradients of Quadratics#

These routines are appropriate for operators \(F(z) = Q z - b\), where \(Q\) is a symmetric matrix with eigenvalues between \(m\) and \(L\) and \(b\) is a vector. \(F\) is the gradient of a quadratic function \(f(z) = \frac{1}{2}z^\top Q z - b^\top z + f_0\) for some constant \(f_0\).

A special case is the least-squares penalty \(f(z) = \frac{1}{2} \norm{z-z_0}_2^2\), which is a quadratic with m=L.

Noncausal#

class operator.op_quad#

Bases: operator.op_sml

OP_QUAD a gradient of a quadratic function 1/2 x’ Q x, with eigenvalues of Q between m and L.

Constructor Summary
op_quad(m, L, c)#

OP_QUAD Constructor

Property Summary
P_max#

hardcoded tolerance for conditioning of quadratics, to be improved.

Method Summary
build_loop(reps)#

BUILD_LOOP construct the signal transformation matrix

Parameters:

reps – number of repetitions of the operator (from the bind)

Returns:

loop_out – signal transformation matrix for the operator

build_psi(vars, order, reps)#

BUILD_PSI construct the zames-falb filter for the SML function

Parameters:
  • vars – variables of the problem

  • order – order of the IQC [number of lags]

  • reps – number of repetitions of the operator (from the bind)

Returns:
  • psi1 – filter on output (causal)

  • psi2 – filter on input (noncausal components)

create_vars(order, reps)#

CREATE_VARS form the variables in an IQC

Input:

order: order of the IQC [causal, noncausal] rep: number of repetitions of the operator

filter_constraints(cons, order, vars, rho_sched, iqc)#

FILTER_CONSTRAINTS constraints on the filter coefficients

Causal#

class operator.op_quad_causal#

Bases: operator.op_sml_causal

OP_QUAD_CAUSAL a gradient of a quadratic function 1/2 x’ Q x, with eigenvalues of Q between m and L.

Constructor Summary
op_quad_causal(m, L, c)#

OP_QUAD_CAUSAL constructor

Method Summary
build_psi(vars, order, reps)#

BUILD_PSI construct the filter for the SML function

Parameters:
  • vars – variables of the problem

  • order – order of the IQC [number of lags]

  • reps – number of repetitions of the operator (from the bind)

Returns:
  • psi1 – filter on output (causal)

  • psi2 – filter on input (noncausal components)

create_vars(order, reps)#

CREATE_VARS form the variables in an IQC

Parameters:
  • order – order of the IQC [number of lags]

  • reps – number of repetitions of the operator (from the bind)

Returns:

vars – variables of the problem

csum_psi(vars)#

a normalization term for the coefficients, reducing degrees of freedom in the Analysis problem

Parameters:

vars – variables of the problem

Returns:

cs – the sum of nonnegative variables

filter_constraints(cons, order, vars, iqc)#

FILTER_CONSTRAINTS constraints on the filter coefficients positive-real constraints with terminal cost

Parameters:
  • cons – accumulated constraints

  • vars – variables of the problem

  • rho_sched – which times should be discounted

  • iqc_out – the IQC under consideration

Returns:

cons – accumulated constraints