next up previous contents index
Next: The MIN/MAX in U Up: Measurement Feedback Control Previous: Measurement Feedback Control   Contents   Index


Derivation of CritW and sHWo

Now the demo starts by taking the Hamiltonian for the closed loop system sHW and optimizing it in W to get what we denote sHWo. Soon the demo requires serious knowledge of [BHW] so if the reader has problems he is urged to read SYSHinfTAC.m a file which gives a rather complete account of the terse and unmotivated calculations here.

In[4]:= <<SYStems.m

NOTE: SYStems.m loads in the following files:
      NCAlgbra.m, NCAliasFunctions.m, SYSDefIA.m, 
      SYSSpecialize.m, and SYSHinfFormulas.m

In[5]:= Substitute[sHW,dd[z]->0]

Out[5]= -tp[W] ** W + (tp[c[z]] ** tp[D12[x]] + tp[C1[x]]) ** 
    (C1[x] + D12[x] ** c[z]) + ((tp[W] ** tp[B1[x]] + tp[c[z]] ** tp[B2[x]] + 
         tp[A[x]]) ** GEx[x, z] + 
      tp[GEx[x, z]] ** (A[x] + B1[x] ** W + B2[x] ** c[z]))/2 + 
   (tp[GEz[x, z]] ** (b[z] ** (C2[x] + D21[x] ** W) + a[z]) + 
      ((tp[W] ** tp[D21[x]] + tp[C2[x]]) ** tp[b[z]] + tp[a[z]]) ** GEz[x, z])
     /2

The critical W, found by taking the gradient of % and setting it to 0,
is

In[6]:= CriticalPoint[%,W]

Out[6]= {W -> tp[B1[x]] ** GEx[x, z]/2 + 
     tp[D21[x]] ** tp[b[z]] ** GEz[x, z]/2}

In[7]:= Substitute[%%,%]

Out[7]= -(tp[GEx[x, z]] ** B1[x]/2 + tp[GEz[x, z]] ** b[z] ** D21[x]/2) ** 
     (tp[B1[x]] ** GEx[x, z]/2 + tp[D21[x]] ** tp[b[z]] ** GEz[x, z]/2) + 
   (tp[c[z]] ** tp[D12[x]] + tp[C1[x]]) ** (C1[x] + D12[x] ** c[z]) + 
   (((tp[GEx[x, z]] ** B1[x]/2 + tp[GEz[x, z]] ** b[z] ** D21[x]/2) ** 
          tp[B1[x]] + tp[c[z]] ** tp[B2[x]] + tp[A[x]]) ** GEx[x, z] + 
      tp[GEx[x, z]] ** (A[x] + B1[x] ** 
          (tp[B1[x]] ** GEx[x, z]/2 + tp[D21[x]] ** tp[b[z]] ** GEz[x, z]/2) \
          + B2[x] ** c[z]))/2 + 
   (tp[GEz[x, z]] ** (b[z] ** (C2[x] + 
            D21[x] ** (tp[B1[x]] ** GEx[x, z]/2 + 
               tp[D21[x]] ** tp[b[z]] ** GEz[x, z]/2)) + a[z]) + 
      (((tp[GEx[x, z]] ** B1[x]/2 + tp[GEz[x, z]] ** b[z] ** D21[x]/2) ** 
             tp[D21[x]] + tp[C2[x]]) ** tp[b[z]] + tp[a[z]]) ** GEz[x, z])/2


         ------Check this against the stored formula for sHWo
In[8]:= NCExpand[%-sHWo]

Out[8]= -tp[c[z]] ** e1[x] ** c[z] + 
   tp[c[z]] ** tp[D12[x]] ** D12[x] ** c[z] - 
   tp[GEz[x, z]] ** b[z] ** e2[x] ** tp[b[z]] ** GEz[x, z]/4 + 
   tp[GEz[x, z]] ** b[z] ** D21[x] ** tp[D21[x]] ** tp[b[z]] ** GEz[x, z]/4

In[9]:= Substitute[%%,rue]

NOTE: rue = {tp[D12[x_]] ** D12[x_] :> e1[x], D21[x_] **
             tp[D21[x_]] :> e2[x]}

Out[9]= 0
The output sHWo is also recorded in the file SYSDefIA.m above. Note that neither sHWo nor sHWoWIA depends on a or c.



NCAlgebra Project 2002-09-09