Skip to content
Prev Previous commit
Next Next commit
Update slycot/synthesis.py
Co-authored-by: Ben Greiner <code@bnavigator.de>
  • Loading branch information
repagh and bnavigator authored May 11, 2020
commit 3955b013e669312684c3a815f19277528ed650fb
18 changes: 12 additions & 6 deletions slycot/synthesis.py
Original file line number Diff line number Diff line change
Expand Up @@ -2456,12 +2456,16 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None):

To compute the matrices of an H-infinity (sub)optimal n-state
controller

::

| AK | BK |
K = |----|----|,
| CK | DK |

using modified Glover's and Doyle's 1988 formulas, for the system

::

| A | B1 B2 | | A | B |
P = |----|---------| = |---|---|
Expand All @@ -2473,16 +2477,18 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None):
of measurements (nmeas) being provided to the controller.

It is assumed that

::

(A1) (A,B2) is stabilizable and (C2,A) is detectable,
(A1) (A,B2) is stabilizable and (C2,A) is detectable,

(A2) D12 is full column rank and D21 is full row rank,
(A2) D12 is full column rank and D21 is full row rank,

(A3) | A-j*omega*I B2 | has full column rank for all omega,
| C1 D12 |
(A3) | A-j*omega*I B2 | has full column rank for all omega,
| C1 D12 |

(A4) | A-j*omega*I B1 | has full row rank for all omega.
| C2 D21 |
(A4) | A-j*omega*I B1 | has full row rank for all omega.
| C2 D21 |

Parameters
----------
Expand Down