45.3 Specializing to less general systems

45.3.1 Specializing to linear systems

To specialize to the linear case, just apply

   rulinearsys to make the systems linear

   rulinearEB to make the energy function quadratic

   ruGE1 then ruGEXY to make the energy function solve the Hinf problem (max entropy soln.)

   rulinearall contains all of the rules above and is what we usually use.

(See Glossary)

45.3.2 Specializing Using The Doyle Glover Khargonekar Francis Simplifying Assumptions

A special class of IA systems are those satisfying

      T                              T
D12(x) C1(x)  = 0  and  B1(x)D21(x)   =  0
denoted in this paper as the Doyle-Glover-Kargonekar-Francis (DGKF) simplifying assumptions (see [DGKF]). These simplify algebra substantially so are good for tutorial purposes even though they are not satisfied in actual control problems. Look for rules ruDGKF*.

(See Glossary)

45.3.3 Demo: Linear Doyle Glover Kargonekar Francis Equations

The following demo verifies IAX and IAYI are same as DGX DGYI the Doyle Glover X and inv[Y] Riccati equations in the special case of a linear system.

In[24]:= <<SYStems.m  
 
In[25]:= NCE[IAX[x]//.rulinearall]  
 
Out[25]= tp[x] ** XX ** A ** x + tp[x] ** tp[A] ** tp[x] ** XX +  
   tp[x] ** tp[C1] ** C1 ** x + tp[x] ** XX ** B1 ** tp[B1] ** tp[x] ** XX -  
   tp[x] ** XX ** B2 ** inv[e1] ** tp[B2] ** tp[x] ** XX -  
   tp[x] ** XX ** B2 ** inv[e1] ** tp[D12] ** C1 ** x -  
   tp[x] ** tp[C1] ** D12 ** inv[e1] ** tp[B2] ** tp[x] ** XX -  
   tp[x] ** tp[C1] ** D12 ** inv[e1] ** tp[D12] ** C1 ** x  
 
In[26]:= Sub[%,x->1]  
 
Out[26]= XX ** A + tp[A] ** XX + tp[C1] ** C1 + XX ** B1 ** tp[B1] ** XX -  
   XX ** B2 ** inv[e1] ** tp[B2] ** XX -  
   XX ** B2 ** inv[e1] ** tp[D12] ** C1 -  
   tp[C1] ** D12 ** inv[e1] ** tp[B2] ** XX -  
   tp[C1] ** D12 ** inv[e1] ** tp[D12] ** C1  
 
In[27]:= NCE[%-DGX]  
 
Out[27]= 0  
 
In[28]:= NCE[IAYI[x]//.rulinearall]  
 
Out[28]= tp[x] ** inv[YY] ** A ** x + tp[x] ** tp[A] ** tp[x] ** inv[YY] +  
   tp[x] ** tp[C1] ** C1 ** x - tp[x] ** tp[C2] ** inv[e2] ** C2 ** x +  
   tp[x] ** inv[YY] ** B1 ** tp[B1] ** tp[x] ** inv[YY] -  
   tp[x] ** inv[YY] ** B1 ** tp[D21] ** inv[e2] ** C2 ** x -  
   tp[x] ** tp[C2] ** inv[e2] ** D21 ** tp[B1] ** tp[x] ** inv[YY] -  
    tp[x] ** inv[YY] ** B1 ** tp[D21] ** inv[e2] ** D21 ** tp[B1] ** tp[x] **  
    inv[YY]  
 
In[29]:= Sub[%,x->1]  
 
Out[29]= inv[YY] ** A + tp[A] ** inv[YY] + tp[C1] ** C1 -  
   tp[C2] ** inv[e2] ** C2 + inv[YY] ** B1 ** tp[B1] ** inv[YY] -  
   inv[YY] ** B1 ** tp[D21] ** inv[e2] ** C2 -  
   tp[C2] ** inv[e2] ** D21 ** tp[B1] ** inv[YY] -  
   inv[YY] ** B1 ** tp[D21] ** inv[e2] ** D21 ** tp[B1] ** inv[YY]  
 
In[30]:= NCE[YY**%**YY-DGY]  
 
Out[32]= 0  
 
In[34]:= Quit