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
![{\displaystyle XBX+XA-DX-C=0\in \mathbb {R} ^{m\times n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/57719986acde9990bef94b9883fb39e30903e6a9)
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
Außer bei der Quadratwurzel treten Matrix-Riccati-Gleichungen bei weiteren wichtigen Problemen auf.
Eigenwertproblem, invariante Unterräume
Soll die
-Blockmatrix
![{\displaystyle M:={\begin{pmatrix}A&B\\C&D\end{pmatrix}}{\mbox{ mit }}{\begin{pmatrix}I_{n}&0\\X&I_{m}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd8bd0d67baf438a7b57a7ddbd663037824f4ec6)
auf obere Block-Dreieckform transformiert werden, bekommt man
![{\displaystyle {\begin{pmatrix}I_{n}&0\\-X&I_{m}\end{pmatrix}}{\begin{pmatrix}A&B\\C&D\end{pmatrix}}{\begin{pmatrix}I_{n}&0\\X&I_{m}\end{pmatrix}}={\begin{pmatrix}A+BX&B\\0&D-XB\end{pmatrix}}=:{\hat {M}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/867178bc43d8d4239ad5e722228caa163d49ee11)
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
![{\displaystyle {\begin{pmatrix}A&B\\C&D\end{pmatrix}}{\begin{pmatrix}I_{n}\\X\end{pmatrix}}={\begin{pmatrix}I_{n}\\X\end{pmatrix}}(A+BX).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/884684656de829e3934193a82991183692fcadef)
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
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
![{\displaystyle \int _{0}^{\infty }{\big (}y(t)^{T}Qy(t)+u(t)^{T}Ru(t){\big )}dt}](https://wikimedia.org/api/rest_v1/media/math/render/svg/23fa5e2de999c807ab62ebd76c8782d6f95c39f4)
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
![{\displaystyle Q+XA+A^{T}X-XSR^{-1}S^{T}X=0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/069de0127afc5577c575270f6f7229297f8ff2fd)
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
![{\displaystyle L={\begin{pmatrix}A&-SR^{-1}S^{T}\\-Q&-A^{T}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c6e92b275164622ab95473e56f52654e0c1ff3d6)
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
Newton-Verfahren
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
![{\displaystyle H\mapsto H(A+BX)+(XB-D)H{\text{ für }}H\in \mathbb {R} ^{m\times n}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/126787c1d6c1b6eb16598a815df54abbd9f693eb)
Mit einer aktuellen Näherung
bekommt man das Inkrement
zu einer verbesserten Näherung also aus dem linearen Gleichungssystem
![{\displaystyle H_{k}(A+BX_{k})+(X_{k}B-D)H_{k}=C+DX_{k}-X_{k}A-X_{k}BX_{k},\quad k\geq 0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f4ffc1018f34b1584c7472e8ea6cd2424924efb)
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
Involutorische Matrizen
sind Lösungen der einfachen Riccati-Gleichung
. Auch die Newton-Iteration für diese spezielle Gleichung ist sehr einfach,
![{\displaystyle V_{k+1}:={\frac {1}{2}}(V_{k}+V_{k}^{-1}),\ k=0,1,\ldots ,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/89961d5e530407f4b4da12ffa1ec931e2f1269af)
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
![{\displaystyle M={\begin{pmatrix}0&I\\C&0\end{pmatrix}}=V_{0},\quad V_{k}={\begin{pmatrix}0&R_{k}\\P_{k}&0\end{pmatrix}},\,k\geq 0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0609fe04c60405508536d77eb724fbbff8779126)
mit
. Die Iteration für die
lautet dann für die Einzelblöcke
![{\displaystyle P_{k+1}={\frac {1}{2}}(P_{k}+R_{k}^{-1}),\quad R_{k+1}:={\frac {1}{2}}(R_{k}+P_{k}^{-1}),\ k=0,1,\ldots .}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9594acf9b621253c7426561458c35987f6dfbe3b)
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
![{\displaystyle S(M){\begin{pmatrix}I_{n}&0\\X&I_{m}\end{pmatrix}}={\begin{pmatrix}I_{n}&0\\X&I_{m}\end{pmatrix}}{\begin{pmatrix}-I_{n}&G\\0&I_{m}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6d0db7422b4745be62af10ccd03380ff3a6c4255)
ist mit einer geeigneten Matrix
. Die ersten
Spalten dieser Gleichung zeigen mit
![{\displaystyle {\big (}S(M)+I_{N}{\big )}{\begin{pmatrix}I_{n}\\X\end{pmatrix}}=0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e6e395aefd3ad43d544c0424933694560cdb4625)
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
![{\displaystyle {\begin{pmatrix}G_{12}\\G_{22}\end{pmatrix}}X=-{\begin{pmatrix}G_{11}\\G_{21}\end{pmatrix}}{\text{ mit }}S(M)+I_{N}={\begin{pmatrix}G_{11}&G_{12}\\G_{21}&G_{22}\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/965e76285419448843903f6d85fc2dfe468c4ee4)
Hier sind
,
,
.
Beispiel
Bei der Anwendung zur optimalen Steuerung sei mit
und
,
![{\displaystyle A={\begin{pmatrix}-{\frac {2}{3}}&-2\\-1&-{\frac {8}{3}}\end{pmatrix}},\ S={\begin{pmatrix}1\\{\frac {1}{2}}\end{pmatrix}},\ Q={\begin{pmatrix}1&{\frac {5}{3}}\\{\frac {5}{3}}&{\frac {20}{3}}\end{pmatrix}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/20ccedfbcc482946dae7f9bc7a854b7ab46f5f38)
sowie
. Von den Eigenwerten
der Matrix
ist einer positiv, das ungeregelte System mit
ist also instabil. Als Blockmatrix
tritt hier die speziellere Form
![{\displaystyle L={\begin{pmatrix}-{\frac {2}{3}}&-2&-1&-{\frac {1}{2}}\\-1&-{\frac {8}{3}}&-{\frac {1}{2}}&-{\frac {1}{4}}\\-1&-{\frac {5}{3}}&{\frac {2}{3}}&1\\-{\frac {5}{3}}&-{\frac {20}{3}}&2&{\frac {8}{3}}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f88745aabac75b83d08bf419e3d2959508109d07)
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
![{\displaystyle S(L)={\begin{pmatrix}{\frac {25}{338}}&-{\frac {135}{169}}&-{\frac {114}{169}}&{\frac {21}{338}}\\-{\frac {75}{338}}&-{\frac {115}{169}}&{\frac {21}{338}}&-{\frac {87}{676}}\\-{\frac {789}{676}}&{\frac {163}{338}}&-{\frac {25}{338}}&{\frac {75}{338}}\\{\frac {163}{338}}&-{\frac {433}{169}}&{\frac {135}{169}}&{\frac {115}{169}}\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a2c22d5cad25c8dc3ef629dc9fb553e630f7a526)
Tatsächlich kann man direkt verifizieren, dass
involutorisch ist,
, und mit
kommutiert,
. Eine Basismatrix
des Kerns von
, also mit
ist gegeben durch
![{\displaystyle Y={\begin{pmatrix}1&0\\{\frac {3}{2}}&1\\0&-1\\2&2\end{pmatrix}}=\left({\begin{array}{cc}1&0\\0&1\\\hline {\frac {3}{2}}&-1\\-1&2\end{array}}\right){\begin{pmatrix}1&0\\{\frac {3}{2}}&1\end{pmatrix}}={\begin{pmatrix}I_{2}\\X\end{pmatrix}}{\begin{pmatrix}1&0\\{\frac {3}{2}}&1\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d618006a972914c04bae177f86bb5370341eb9c1)
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
![{\displaystyle X={\begin{pmatrix}{\frac {3}{2}}&-1\\-1&2\end{pmatrix}},{\mbox{ und es gilt }}A+BX=A-SR^{-1}S^{T}X={\begin{pmatrix}-{\frac {5}{3}}&-2\\-{\frac {3}{2}}&-{\frac {8}{3}}\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d726bc617ca409126cf207d91958cf2979a71e4d)
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:
![{\displaystyle {\begin{array}{c|cc}k=&{\text{Eigenwerte }}V_{k}\\\hline 0&\pm 0.363891029&\pm 3.969442305\\1&\pm 1.555983235&\pm 2.110683431\\2&\pm 1.099331841&\pm 1.292231811\\3&\pm 1.004487641&\pm 1.033043387\\4&\pm 1.000010024&\pm 1.000528470\\5&\pm 1.000000000&\pm 1.000000140\\6&\pm 1.000000000&\pm 1.000000000\end{array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d7f7c42f6946def4890a18a019c742399865d33c)
Tatsächlich ist
. Setzt man zur Berechnung der Lösung
an Stelle von
die Näherung
ein und teilt
auf wie beschrieben,
![{\displaystyle V_{6}+I_{N}={\begin{pmatrix}G_{11}&G_{12}\\G_{21}&G_{22}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ce767c0bcc0d08952351e828d785a3476d734112)
bekommt man mit Hilfe der reduzierten QR-Zerlegung
![{\displaystyle {\begin{pmatrix}G_{12}\\G_{22}\end{pmatrix}}={\hat {Q}}\cdot {\hat {R}}\approx {\begin{pmatrix}-0.48245&0.43832\\0.04444&-0.13345\\0.66238&-0.36922\\0.57138&0.80854\end{pmatrix}}{\begin{pmatrix}1.39805&1.07147\\0&1.32121\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/45c8a1ad357975ca41432c5f617804e57cc3fa48)
(Angabe aus Platzgründen mit geringer Genauigkeit) die Näherungslösung
![{\displaystyle {\tilde {X}}=-{\hat {R}}^{-1}{\hat {Q}}^{T}{\begin{pmatrix}G_{11}\\G_{21}\end{pmatrix}}={\begin{pmatrix}1.499999999&-0.9999999997\\-1.000000000&2.000000001\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/13e1fee4366b96bb8caa3dc217abc00fd1ae11a9)
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