Matrix-Riccati-Gleichung

Aus testwiki
Zur Navigation springen Zur Suche springen

Als Matrix-Riccati-Gleichungen oder algebraische Riccati-Gleichungen wird ein Typ von nichtlinearen Gleichungen für Matrizen bezeichnet, die sich, grob gesagt, bei Dimension 1 auf eine algebraische, quadratische Gleichung zurückführen lassen. Daher kommt auch die Bezeichnung des Problems in Anlehnung an die entsprechende Riccati-Differentialgleichung. Bei allgemeinen Dimensionen m,n ist in einer recht allgemeinen Form der Matrix-Riccati-Gleichung eine Matrix Xm×n gesucht, welche die Gleichung

XBX+XADXC=0m×n

erfüllt. Die anderen, vorgegebenen Matrizen haben die dazu passenden Dimensionen C,BTm×n, An×n, Dm×m. Ein Spezialfall dieser Gleichung ist X2=C, welche als Lösungen die Quadratwurzel einer Matrix X=C1/2 hat, wenn solche existieren.

Bedeutung der Riccati-Gleichung

Außer bei der Quadratwurzel treten Matrix-Riccati-Gleichungen bei weiteren wichtigen Problemen auf.

Eigenwertproblem, invariante Unterräume

Soll die (m+n)×(m+1)-Blockmatrix

M:=(ABCD) mit (In0XIm)

auf obere Block-Dreieckform transformiert werden, bekommt man

(In0XIm)(ABCD)(In0XIm)=(A+BXB0DXB)=:M^,

wenn X Lösung der obigen Riccati-Gleichung ist, dann verschwindet der linke untere Block C+DXXAXBX=0 in der transformierten Matrix. Bei den beiden Einheitsmatrizen ist die Dimension als Index vermerkt, Ikk×k. Die Multiplikation der 3 Matrizen stellt tatsächlich eine Ähnlichkeitstransformation dar, da der linke und der rechte Faktor zueinander invers sind. Daher ergeben sich die Eigenwerte der Gesamtmatrix M aus der Vereinigung der Eigenwerte der beiden Hauptdiagonalblöcke A+BX und DXB vom M^. Darüber hinaus bilden die ersten n Spalten (InX) der Transformationsmatrix eine Basis für den zu A+BX gehörigen invarianten Unterraum (Summe von Eigenräumen) von M, aus dem sich bei Bedarf die Eigenvektoren bestimmen lassen. Es gilt also

(ABCD)(InX)=(InX)(A+BX).

Anwendung findet diese Eigenschaft z. B. bei der Nachbesserung von Eigenvektor-Basen: wenn M durch Störungen aus einer Block-Dreieckmatrix hervorging, ist C klein und unter geeigneten Voraussetzungen auch X. Dann kann die Block-Dreieckform in der angegebenen Weise wiederhergestellt werden ([Stewart]).

Kontinuierliche, optimale Steuerung

Bei einem linearen System von Differentialgleichungen y(t)=Ay(t)+Su(t) für einen Zustand y(t)n mit konstanten Koeffizienten An×n, Sn×p soll diejenige optimale Steuerung u(t)p bestimmt werden, welche bei unendlichem Zeithorizont das Funktional

0(y(t)TQy(t)+u(t)TRu(t))dt

minimiert. Darin ist Rp×p symmetrisch und positiv definit, Qn×n symmetrisch und positiv semi-definit. Verwendet man eine Steuerung durch Rückkopplung u(t)=Ky(t), ist das Optimum bei unendlichem Zeithorizont gegeben durch u(t)=R1STXy(t), wobei X=XT die (maximale) symmetrische Lösung der Riccati-Gleichung

Q+XA+ATXXSR1STX=0

ist, für welche die Matrix ASK=ASR1STX asymptotisch stabil ist mit allen Eigenwerten in der linken komplexen Halbebene. Für mehr Hintergrund wird auf den Artikel LQ-Regler verwiesen. Diese Gleichung ist also ein Spezialfall der Gleichung aus der Einleitung mit m=n, C=Q, D=AT, B=SR1ST=BT. Die hierzu gehörige Blockmatrix

L=(ASR1STQAT)

ist eine hamiltonsche Matrix, da B und C hier symmetrisch sind. Bei dieser Matrix L tritt mit jedem Eigenwert λ auch λ als Eigenwert auf.

Numerische Lösung von Riccati-Gleichungen

Newton-Verfahren

Da die Matrix-Riccati-Gleichung eine algebraische Gleichung vom Grad 2 für die mn Unbekannten in der Matrix X ist, kann zur Lösung natürlich auch das Newton-Verfahren eingesetzt werden. Die Ableitung der Abbildung XXBX+XADXC an der Stelle Xm×n ist die lineare Abbildung

HH(A+BX)+(XBD)H für Hm×n.

Mit einer aktuellen Näherung Xkm×n bekommt man das Inkrement Hk=Xk+1Xk zu einer verbesserten Näherung also aus dem linearen Gleichungssystem

Hk(A+BXk)+(XkBD)Hk=C+DXkXkAXkBXk,k0,

wo auf der rechten Seite, wie gewohnt, das negative Residuum der Riccati-Gleichung steht. Das Ganze stellt eine Sylvester-Gleichung dar, im zugehörigen Artikel werden numerische Methoden zu ihrer Auflösung behandelt. Diese lineare Gleichung ist eindeutig lösbar, wenn die beiden Matrizen A+BXk und DXkB keine gemeinsamen Eigenwerte besitzen, z. B. wenn die Realteile aller Eigenwerte von A+BXk oberhalb und die von DXkB unterhalb eines geeigneten Wertes (etwa null) liegen.

Lösung mit der Signum-Iteration

Involutorische Matrizen VN×N sind Lösungen der einfachen Riccati-Gleichung V2=I. Auch die Newton-Iteration für diese spezielle Gleichung ist sehr einfach,

Vk+1:=12(Vk+Vk1), k=0,1,,

und man kann zeigen, dass diese Signum-Iteration immer und quadratisch konvergiert, sofern die Startmatrix V0:=MN×N keine rein imaginären Eigenwerte (einschließlich null) besitzt. Alle Matrizen Vk,k0, kommutieren miteinander und besitzen daher die gleiche Jordan-Basis, und dies gilt auch für die Grenzwert-Matrix S(M):=limkVk. Die zugehörigen Eigenwerte der Vk konvergieren gegen 1 bzw. 1, wenn der Realteil im Eigenwert von V0=M positiv bzw. negativ war. Daher besitzt S(M) nur die beiden Eigenwerte ±1 und wird als Signum-Funktion von M bezeichnet, S(M) ist also eine Involution mit S2=I. Da die Eigenwerte von S(M) bekannt sind, bekommt man Basen für die invarianten Unterräume zu +1 bzw. 1, indem man Basen für die Kerne von S(M)I bzw. S(M)+I bestimmt, etwa mit der QR-Zerlegung. Diese sind dann auch Basen für die invarianten Unterräume der Ausgangsmatrix M zu den Eigenwerten mit positivem bzw. negativem Realteil.

Diesen Hintergrund kann man mit N=m+n zur Lösung der ursprünglichen Riccati-Gleichung verwenden, wenn aufgrund der Struktur von M bzw. H die Zahl der Eigenwerte mit positivem und negativem Realteil klar ist. Das gilt für die Quadratwurzel und das Steuerungsproblem.

Für die Quadratwurzel verschwinden die Hauptdiagonalblöcke von M und auch bei den Vk ist das so, sei also

M=(0IC0)=V0,Vk=(0RkPk0),k0,

mit N=2n. Die Iteration für die Vk lautet dann für die Einzelblöcke

Pk+1=12(Pk+Rk1),Rk+1:=12(Rk+Pk1), k=0,1,.

Falls C keine reellen und nicht-positiven Eigenwerte besitzt, konvergiert die Iteration gegen die eindeutige Wurzel limkPk=C1/2, deren Eigenwert-Realteile positiv sind.

Bei der allgemeinen Gleichung ist die Signum-Funktion mit N=m+n einsetzbar, wenn die Riccati-Gleichung eine Lösung X besitzt, für die A+BX und XBD asymptotisch stabil sind, also beide nur Eigenwerte mit negativem Realteil besitzen. Unter dieser Voraussetzung ist S(A+BX)=In und S(DXB)=+Im und für die Blockmatrix M folgt, dass

S(M)(In0XIm)=(In0XIm)(InG0Im)

ist mit einer geeigneten Matrix G. Die ersten n Spalten dieser Gleichung zeigen mit

(S(M)+IN)(InX)=0,

dass die Matrix (InX) eine spezielle Basis des Kerns von S(M)+IN ist. Zur Lösung der Riccati-Gleichung sind also mit der Startmatrix V0:=M, bzw. V0:=L bei der optimalen Steuerung, die Matrizen Vk und ihr Grenzwert S(M) zu berechnen. Danach bekommt man X bei Aufteilung von S(M)+IN in Blöcke aus dem folgenden Gleichungssystem

(G12G22)X=(G11G21) mit S(M)+IN=(G11G12G21G22).

Hier sind G11n×n, G12,G21Tn×m, G22m×m.

Beispiel

Bei der Anwendung zur optimalen Steuerung sei mit n=2 und p=1,

A=(232183), S=(112), Q=(15353203),

sowie R=11×1. Von den Eigenwerten 53±3 der Matrix A ist einer positiv, das ungeregelte System mit u0 ist also instabil. Als Blockmatrix M tritt hier die speziellere Form

L=(232112183121415323153203283)

auf, sie besitzt die 4 Eigenwerte ±136±1213, von denen, wie erwähnt, tatsächlich 2 positiv und 2 negativ sind. In diesem Beispiel lässt sich die Signum-Funktion von L noch über deren Jordan-Normalform berechnen, das Ergebnis ist

S(L)=(25338135169114169213387533811516921338876767896761633382533875338163338433169135169115169).

Tatsächlich kann man direkt verifizieren, dass S(L) involutorisch ist, S(L)2=I, und mit L kommutiert, LS(L)S(L)L=0. Eine Basismatrix Y des Kerns von S(L)+I4, also mit (S(L)+I4)Y=0 ist gegeben durch

Y=(103210122)=(100132112)(10321)=(I2X)(10321).

Durch spaltenweise Elimination in den ersten beiden Zeilen von Y wurde dort eine Einheitsmatrix erzeugt und man kann daher im unteren Block die Lösung X der Riccati-Gleichung ablesen mit

X=(32112), und es gilt A+BX=ASR1STX=(5323283).

Die gesteuerte Systemmatrix A+BX hat jetzt also 2 negative Eigenwerte und das System ist daher asymptotisch stabil.

Die Berechnung der Jordan-Normalform umgeht man mit der in Abschnitt 2.2 beschriebenen Signum-Iteration. Die Konvergenz VkS(L),k0, ist quadratisch, man kann dies direkt an den Eigenwerten der Matrizen Vk ablesen. Diese lauten:

k=Eigenwerte Vk0±0.363891029±3.9694423051±1.555983235±2.1106834312±1.099331841±1.2922318113±1.004487641±1.0330433874±1.000010024±1.0005284705±1.000000000±1.0000001406±1.000000000±1.000000000

Tatsächlich ist V62I41014. Setzt man zur Berechnung der Lösung X an Stelle von S(L) die Näherung V6 ein und teilt V6+I4 auf wie beschrieben,

V6+IN=(G11G12G21G22)

bekommt man mit Hilfe der reduzierten QR-Zerlegung

(G12G22)=Q^R^(0.482450.438320.044440.133450.662380.369220.571380.80854)(1.398051.0714701.32121)

(Angabe aus Platzgründen mit geringer Genauigkeit) die Näherungslösung

X~=R^1Q^T(G11G21)=(1.4999999990.99999999971.0000000002.000000001).

Diese Näherung ist offensichtlich auf ca. 9 Stellen genau.

Literatur

  • G.W. Stewart, Error and perturbation bounds for subspaces associated with certain eigenvalue problems, SIAM Review 15, 727–764
  • N.J. Higham, Functions of matrices: Theory and computation, SIAM, Philadelphia, 2008.
  • J.D. Roberts, Linear model reduction and solution of the algebraic Riccati equation by use of the sign function, Intern. J. Control 32, 677–687