Sylvester-Gleichung

Aus testwiki
Zur Navigation springen Zur Suche springen

Die Sylvester-Gleichung ist in der Mathematik und der Kontrolltheorie eine Matrix-Gleichung der Form

AX+XB=C,

dabei sind A,B,C drei vorgegebene n×n-Matrizen. Die n×n-Matrix X ist die gesuchte Lösung der Gleichung.

Allgemeiner kann C sogar eine m×n-Matrix sein; dann ist A eine m×m-Matrix, B eine n×n-Matrix und X wie C eine m×n-Matrix.

Sie ist nach James Joseph Sylvester benannt, der darüber 1884 veröffentlichte.

Der für Anwendungen wichtige Spezialfall, in dem B=A* die zu A adjungierte Matrix ist, wird auch Ljapunow-Gleichung genannt (nach Alexander Michailowitsch Ljapunow).

Existenz und Eindeutigkeit der Lösung

Wegen der Nichtkommutativität des Matrizenprodukts kann die Gleichung nicht direkt aufgelöst werden. Trotzdem ist sie einfach eine lineare Gleichung, die mit den n2 unbekannten, in vektorisierter Form geschriebenen Matrixelementen Xij ein lineares Gleichungssystem bildet.

In kompakter Form kann es mit dem Kroneckerprodukt und dem Vektorisierungsoperator vec wie folgt geschrieben werden:

(InA+BTIm)vecX=vecC,

Dabei bezeichnet Ik die k×k Einheitsmatrix.

Die direkte Lösung dieses Gleichungssystems ist aufwendig (n4 Elemente in einer dünnbesetzten Matrix, n2 Unbekannte und 𝒪(n6) FLOPs) und darüber hinaus numerisch instabil.

Es existiert eine eindeutige Lösung für alle C genau dann, wenn A und B keine gemeinsamen Eigenwerte haben.

Numerische Auflösung

Klassisch wird die Lösung stabil und robust mit dem Bartels-Stewart-Algorithmus berechnet. Dabei werden A und B durch Ähnlichkeitstransformationen in die schursche Normalform gebracht und dabei die Sylvestergleichung in eine einfachere und durch Rückwärtseinsetzen lösbare Dreiecksgestalt transformiert. Die Ähnlichkeitstransformationen erfolgen mit dem aus dem QR-Algorithmus abgeleiteten Francis-Algorithmus.

A=P1RP; B=Q1SQ; R und S sind geeignete Dreiecksmatrizen (Im reellen dürfen sie isolierte Subdiagonalelemente enthalten).

AX+XB=P1RPX+XQ1SQ=C
RPXQ1+PXQ1S=PCQ1
RY+YS=D

Dabei sind Y=PXQ1 und D=PCQ1.

In der einfacheren Dreiecksgestalt kann Y jetzt direkt und X aus X=P1YQ bestimmt werden. Die Rechenzeit liegt in der Größenordnung der schurschen Normalform (𝒪(n3) FLOPs).

Neuere Algorithmen kommen mit einer Schur-Transformation (z. B. für B) aus und bilden mit der anderen Matrix (z. B. A) nur eine Hessenbergmatrix.

Auch mit den iterativen Solvern für lineare Systeme kann die Lösung berechnet werden.

Referenzen