Przejdź do zawartości

Równanie Sylvestera

Z Wikipedii, wolnej encyklopedii

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]