The Bounded Real Lemma

Introduction

This example derives the Bounded Real Lemma for a linear system for a linear system. this is a special case of this lemma for a more general system described in [BHW].

First you must load in NCAlgebra with the following command

<< NCAlgebra.m

This does not take into account your path to the NC directory.   Therefore, you may have to change this command.

System Definition

where: 		 (dx/dt)= F(x,W)  = Ax+BW ;
			out  = G(x,W) = Cx+DW.

Demo Initialisation

1) To set  all matrices  as noncommutative,we use the well known command:

SetNonCommutative[F,  G,  A, B, C, D, x,  W]

2) Next we define F, and G:

F[x_, W_] := A**x + B**WG[x_, W_] := C**x + D**Wout =  G[x, W]

3) Recall definition of Energy Hamiltonian H

H = 
      (out^T) out - (γ^2) (W^T) W + 
        (((p.F + (((p.F))^T)))/2)

where		           e(x) = (x^T) XX x
                                               		p = ∇e(x) = 2 (((x.XX))^T)

SetNonCommutative[ p]

H = 
      tp[out]**out - ((γ^2)*tp[W]**W) + 
        (p**F[x, W] + tp[F[x, W]]**tp[p])/2

SetNonCommutative[e, XX]

e[x_] := tp[x]**XX**x

tp[XX] = XX

p = 2 tp[XX**x]

Lemma

Assume (((-(γ^2) + (D^T)D))^(-1))Exists.
Then the linear system described in the introduction above is:
	i) finite gain dissipative with gain bounded by (γ^2).
	ii) Energy function (x^(T )) XX x.

if and only if

XX is a positive semi definite solution to the Riccati inequality:

XXA+(A^T) XX +  (C^T) C 
                              \(TraditionalForm
      \`\(+\((XX\ B + \ \(C\^T\) D)\)\) 
          \(\((\(-γ\^2\) + \(D\^T\) D)\)\^\(-1\)\) 
          \((\(-B\^T\) XX - \(D\^T\) C)\)\  ≤ \ 0\)

Proof (by computation)

H

SetOutput[all->True]

In[13] was obtain by clicking on "SetOutputPretty" in the Main Commands section of NCPalette.

The strategy here is to maximize H and see if it is <0

1) differentiate to find the "worst" input W. Use the commmand Grad on the NCPalette or

Grad[H, W]

2) find the critical W using the command NCSolve or

NCSolve[% == 0, W]

3) plug the critical point back into H

Substitute[H, %]

4) Expand the expression using  NCExpand

NCExpand[%]

5) try to simplify the expression using NCSymplifyRational

NCSimplifyRational[%]

6) Collect common terms and Arrange the expression as much as possible

NCCollectSymmetric[%, inv[2 γ^2  -  2 tp[D]**D]]

NCCollectSymmetric[%, {x, XX}]

NCCollect[%, 2]

To pull out the "2" from the inv[] expression one needs to be a bit tricky and use:

Substitute[%, 
      inv[2 γ^2  - 2 tp[D]**D] -> 
        inv[ γ^2  -  tp[D]**D]/2]

7) Let x=1

Substitute[%, x -> 1]

8) Let D=0 for clarity

Substitute[%, D -> 0]

The last output is the expression of the well known  Riccati equation which prove the Theorem.