Równanie Sylvestera

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Równanie Sylvestera – często spotykane w teorii sterowania równanie macierzowe mające postać:

,

gdzie to macierze o wymiarach .

Istnienie i jednoznaczność rozwiązania[edytuj]

Korzystając z notacji iloczynu Kroneckera i operatora wektoryzacji powyższe równanie może być zapisane w postaci

,

gdzie jest macierzą jednostkową o rozmiarach .

W takiej postaci równanie Sylvestera może być interpretowane jako układ liniowy o wymiarze . (W przypadku poszukiwania rozwiązania numerycznego zapis równania w takiej formie nie jest zalecany, ponieważ rozwiązanie równania w wersji układu liniowego jest niewydajne obliczeniowo i źle uwarunkowane).

Jeśli i kanonicznymi formami Jordana macierzy i , a i są ich wartościami własnymi, można zapisać:

.

Ponieważ jest górną macierzą trójkątną z elementami na przekątnej , macierz po lewej stronie jest osobliwa wtedy i tylko wtedy, gdy istnieje i , takie że .

W ten sposób dowiedzione zostało, że równanie Sylvestera ma jednoznaczne rozwiązanie, wtedy i tylko wtedy macierze i nie mają wspólnych wartości własnych.

Rozwiązanie numeryczne[edytuj]

Klasyczny algorytm rozwiązania numerycznego równania Sylvestera jest algorytm Bartelsa-Stewarta, na który składa się przekształcenie macierzy i do postaci Schura (zob. rozkład Schura) za pomocą algorytmu QR, a następnie rozwiązanie układu trójkątnego poprzez podstawienie w tył dla macierzy trójkątnej. Algorytm ten, którego złożoność obliczeniowa wynosi operacji arytmetycznych, wykorzystywany jest w pakietach oprogramowania LAPACK, Matlab i GNU Octave (w funkcji lyap).

Zobacz też[edytuj]