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_smlOP_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_causalOP_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