Chapter 44
What SYStems Does

The tools in the SYSTEMS package are designed to assist in studying various systems using the following commonplace idea (see [BHW] for more detail):

Define a finite-gain dissipative system to be a system for which

∫              ∫
  t1     2         t1    2
 t0  ∣out∣ dt ≤ K  t0 ∣W ∣ dt
where K is a constant, and x(t0) = 0. (See Figure 1.) If K = 1 the system will be called dissipative. In circuit theory these would be called passive. This agrees with the notion of dissipative in [W],[HM] with respect to the supply rate W2 -∣out2. Our notation here is like that one puts in the computer.

Define a storage or energy function on the state space to be a nonnegative function e satisfying

∫ t1
    (∣out∣2 - ∣W ∣2)dt ≤ e(x(t0)) - e(x(t1))
 t0
and e(0) = 0. Hill-Moylan ([HM]) showed that a system is dissipative iff an energy (storage) function (possibly extended real valued) exists. Under controllability assumptions, there exists an energy function with finite values.

We find it convenient to say that a system of the above form is e-dissipative provided that the energy Hamiltonian H defined by

        T        T                        T  T
H =  out out - W   W + (p F[x,W ]+ F [x, W ] p )∕2
is nonpositive where p = (e(x)). That is, 0 H for all W and all x in the set of states reachable from 0 by the system.

Theorem 44.1 (see [W],[HM]) Let e be a given differentiable function. Then a system is e-dissipative if and only if e is a storage function for the system. In this case, the system is dissipative.

Using this background, we may study dissipativeness of systems by examining the non-positiveness of Hamiltonians. Replacing the dual variables p by

p = ∇x e
This substitution converts H to
sHW  =  outT out - W T W + (∇x e F[x,W ]+ F [x,W ]T ∇Tx e)∕2

Often one finds that

sHW  o := max sHW  (W, x)
           W
(the Hamiltonian in state space variables which has been optimized in W) is well behaved and is the first max taken in many approaches to solving the problem of checking if sHW 0 for all x. sHWo can be computed concretely for systems (see e.g. files SYSDefIA.m and SYSDefWIA.m) by taking the gradient of sHW in W and setting it to 0 to find the critical point CritW. Substitute this back into sHW to get sHWo. In our language CritW can be computed by
        ruCritW=Crit[H,W];     (Calculate critical value for H w.r.t. W)  
        HWo=Sub[H,ruCritW];    (Substitute critical W back in H)  
        sHWo=Sub[HWo,ruxz];    (Convert to state-space coordinates)  

since p is independent of W. Some examples are given later to illustrate.

What we have done so far is explain the very simplest case. Whenever one has a Hamiltonian which is quadratic in a variable our symbol manipulator optimizes the variable automatically. In H control one gets Hamiltonians which are very complicated expressions in many variables (e.g. compensator parameters). One must take many maxima and minima in analysing these problems and we have found SYStems very effective at such computations.

Game theory is another area which produces Hamiltonians and calls for such computations.

Rather than try to list complicated classifications of Hamiltonian types that this addresses we proceed by presenting some examples. One is the classical bounded real lemma while the other derives the famous DGKF two Riccati equation formulas for nonlinear systems (which are affine linear in the input variables).

Also there is substantial systems capability in a completely different directions. NCAlgebra contains commands for manipulating block matricies. Since such computations are the substance of many results in systems theory it is already easy to do computations in these areas with NCAlgbra. A few formulas for 2 × 2 block matricies are stored: Schur complements, block LU decomposition, inverses, and Chain to scattering formalism conversions.