Matrix-Riccati-Gleichung

aus Wikipedia, der freien Enzyklopädie
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 ist in einer recht allgemeinen Form der Matrix-Riccati-Gleichung eine Matrix gesucht, welche die Gleichung

erfüllt. Die anderen, vorgegebenen Matrizen haben die dazu passenden Dimensionen , , . Ein Spezialfall dieser Gleichung ist , welche als Lösungen die Quadratwurzel einer Matrix hat, wenn solche existieren.

Bedeutung der Riccati-Gleichung

[Bearbeiten | Quelltext bearbeiten]

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

Eigenwertproblem, invariante Unterräume

[Bearbeiten | Quelltext bearbeiten]

Soll die -Blockmatrix

auf obere Block-Dreieckform transformiert werden, bekommt man

wenn Lösung der obigen Riccati-Gleichung ist, dann verschwindet der linke untere Block in der transformierten Matrix. Bei den beiden Einheitsmatrizen ist die Dimension als Index vermerkt, . 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 aus der Vereinigung der Eigenwerte der beiden Hauptdiagonalblöcke und vom . Darüber hinaus bilden die ersten Spalten der Transformationsmatrix eine Basis für den zu gehörigen invarianten Unterraum (Summe von Eigenräumen) von , aus dem sich bei Bedarf die Eigenvektoren bestimmen lassen. Es gilt also

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

Kontinuierliche, optimale Steuerung

[Bearbeiten | Quelltext bearbeiten]

Bei einem linearen System von Differentialgleichungen für einen Zustand mit konstanten Koeffizienten , soll diejenige optimale Steuerung bestimmt werden, welche bei unendlichem Zeithorizont das Funktional

minimiert. Darin ist symmetrisch und positiv definit, symmetrisch und positiv semi-definit. Verwendet man eine Steuerung durch Rückkopplung , ist das Optimum bei unendlichem Zeithorizont gegeben durch , wobei die (maximale) symmetrische Lösung der Riccati-Gleichung

ist, für welche die Matrix 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 , , , . Die hierzu gehörige Blockmatrix

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

Numerische Lösung von Riccati-Gleichungen

[Bearbeiten | Quelltext bearbeiten]

Newton-Verfahren

[Bearbeiten | Quelltext bearbeiten]

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

Mit einer aktuellen Näherung bekommt man das Inkrement zu einer verbesserten Näherung also aus dem linearen Gleichungssystem

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 und keine gemeinsamen Eigenwerte besitzen, z. B. wenn die Realteile aller Eigenwerte von oberhalb und die von unterhalb eines geeigneten Wertes (etwa null) liegen.

Lösung mit der Signum-Iteration

[Bearbeiten | Quelltext bearbeiten]

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

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

Diesen Hintergrund kann man mit zur Lösung der ursprünglichen Riccati-Gleichung verwenden, wenn aufgrund der Struktur von bzw. 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 und auch bei den ist das so, sei also

mit . Die Iteration für die lautet dann für die Einzelblöcke

Falls keine reellen und nicht-positiven Eigenwerte besitzt, konvergiert die Iteration gegen die eindeutige Wurzel , deren Eigenwert-Realteile positiv sind.

Bei der allgemeinen Gleichung ist die Signum-Funktion mit einsetzbar, wenn die Riccati-Gleichung eine Lösung besitzt, für die und asymptotisch stabil sind, also beide nur Eigenwerte mit negativem Realteil besitzen. Unter dieser Voraussetzung ist und und für die Blockmatrix folgt, dass

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

dass die Matrix eine spezielle Basis des Kerns von ist. Zur Lösung der Riccati-Gleichung sind also mit der Startmatrix , bzw. bei der optimalen Steuerung, die Matrizen und ihr Grenzwert zu berechnen. Danach bekommt man bei Aufteilung von in Blöcke aus dem folgenden Gleichungssystem

Hier sind , , .

Bei der Anwendung zur optimalen Steuerung sei mit und ,

sowie . Von den Eigenwerten der Matrix ist einer positiv, das ungeregelte System mit ist also instabil. Als Blockmatrix tritt hier die speziellere Form

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

Tatsächlich kann man direkt verifizieren, dass involutorisch ist, , und mit kommutiert, . Eine Basismatrix des Kerns von , also mit ist gegeben durch

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

Die gesteuerte Systemmatrix 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 ist quadratisch, man kann dies direkt an den Eigenwerten der Matrizen ablesen. Diese lauten:

Tatsächlich ist . Setzt man zur Berechnung der Lösung an Stelle von die Näherung ein und teilt auf wie beschrieben,

bekommt man mit Hilfe der reduzierten QR-Zerlegung

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

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

  • 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