Performance specifications#
Performance specifications describe constraints on the behavior of the algorithm. Analysis attempts to certify that an algorithm obeys the specification, and synthesis tries to form an algorithm that obeys the specifications.
Every specification is a condition on the performance channel \((w_p, z_p)\) of the generalized plant.
All specifications have the fields
Field |
Description |
|---|---|
|
Indices of performance input \(w_p\) |
|
Indices of performance output \(z_p\) |
|
Should this specification be minimized |
Most specifications have an additional field rho discount rate \(\rho >0\) as an argument.
Choosing \(\rho < 1\) imposes that the property holds at an exponential rate.
Refer to the Performance specification documentation for information about the specifications and their interfaces.
Linear convergence#
This imposes exponential stability of the iterates at rate \(\rho\). For every initial condition \(x_0\) there is a fixed point \((x^*(x_0), w^*(x_0), z^*(x_0))\) with
Linear convergence holds if \(\rho < 1\).
This is the most common specification and needs no performance channel (by default iwp=[], izp=[]).
It is specified with
1perf = spec_stability(rho);
Note
The default specification used if none are supplied (specs = []) is {spec_stability(1)} with target=true.
Infinite-horizon exponential stability is that for \(x_0\),
Quadratic performance#
Several specifications are special cases of general quadratic supply-rate conditions on \((w_p, z_p)\). These conditions must be respected for all performance input sequence \((w_{p, k})_{k \in \N}\) with a finite \(\rho\)-weighted \(\ell_2\)-norm \((\sum_{k=0}^\infty \rho^{-2k} \norm{w_{p, k}}_2^2 < \infty)\).
A quadratic supply rate condition with respect to matrices \((Q, S, R)\) is the existence of an \(\epsilon > 0\) such that
for all time horizons \(T > 0\).
Infinite-horizon quadratic performance is that
Quadratic performance specifications are imposed by
1M = [Q, S; S', R];
2perf = spec_quad(M, iwp, izp);
The synthesis procedure requires that \(Q = Q^\top\) and \(R \succ 0\).
The following specifications are all specific instances of quadratic performance.
\(\ell_2\)-stability#
Stability and ISS. Certifies that the performance input has a bounded effect on the state,
If \(\rho \in (0, 1)\), then \(\ell_2\)-stability implies an input-to-state stability property [1], [2]
Linear convergence is recovered from input-to-state stability when the disturbance vanishes (\(w_p= 0\)).
Use this when you need the iterates to stay bounded and convergent under noise but do not need a specific gain; for a gain bound, use \(\ell_2\)-gain instead.
1perf = spec_l2(iwp); % no performance output; optional bound: spec_l2(iwp, MU)
Infinite-horizon \(\ell_2\)-stability is
\(\ell_2\)-gain#
Energy-to-energy gain. Bounds the induced \(\ell_2\)-gain \(\gamma\) from the performance input to the performance output,
For linear systems this is the \(\rho\)-weighted \(H_\infty\)-gain. The \(\ell_2\)-gain is an infinite-horizon penalty.
Use it to quantify how strongly a disturbance at \(w_p\) (for example, noise in the gradient evaluations) is amplified at a tracked output \(z_p\).
1perf = spec_e2e(GAIN, iwp, izp); % GAIN is the initial bound
2perf.target = false; %enforce the gain bound
3
4perf.target = true; %minimize the gain
Passivity#
Imposes a passivity relation between the performance input and output. Passivity may optionally include an input passivity index \(\nu_w\) and an output passivity index \(\nu_z\):
Passivity is obeyed if for all time horizons \(T\) with with \(x_0 = 0, x^*(x_0) = 0\), it holds that
Setting both indices to zero corresponds to classical passivity. Positive indices correspond to the stronger input or output strict passivity property, respectively. The performance input and output channels must have the same length.
1% ind_w = nu_w, ind_z = nu_z
2perf = spec_passivity(ind_w, ind_z, iwp, izp);
Stochastic sensitivity#
Stochastic sensitivity imposes a mean-square boundedness requirement on the performance output [3]. The performance input sequence \(\{w_{p, k}\}\) is a sequence of i.i.d. random variables. These inputs are zero-mean and bounded: there exists a known \(\Omega \succ 0\) such that \(\E[w_{p, k}] = 0\) and \(\E[w_{p, k} w_{p, k}^\top] \preceq \Omega\) at all \(k \in \N\). The algorithm achieves stochastic sensitivity with gain \(\gamma \geq 0\) if for all initial conditions \(x_0\) and performance inputs \(w_p\), it holds that
Stochastic sensitivity is invoked by the command
1perf = spec_h2(GAIN, Omega, iwp, izp); %GAIN = gamma
Stochastic sensitivity is only certified if \(\rho = 1\) and the oracle input \(z\) is independent of \(w_p\). In contrast, the \(\ell_2\)-gain is usable if these conditions are violated.
Performance for time-varying dynamical systems#
The specific performance constraints imposed by specs may vary for systems with time-variations.
All specifications on this page are used as presented for LTI, periodic, and periodic-orbit systems.
For switched systems, a performance specification in specs imposes a worst-case bound over all possible switching sequences.
More specifications#
We plan to implement further performance criteria for both analysis and synthesis.