Algorytm Lanczosa

W liniowym Algebra , że Lanczosa algorytm (lub Lanczosa metoda ) to algorytm iteracyjny w celu określenia wartości i wektorów własnych o kwadratowej macierzy lub w pojedynczej wartości rozkładu prostokątnej matrycy.

Algorytm ten nie ma związku z okienkowaniem Lanczosa (używanym na przykład do zmiany rozmiaru obrazów), z wyjątkiem tego, że oba wywodzą swoje nazwy od tego samego wynalazcy, węgierskiego fizyka i matematyka Corneliusa Lanczosa .

Opis algorytmu

Metoda iteracji zasilania

Metoda iteracji potęgowej w celu znalezienia największej wartości własnej symetrycznej macierzy kwadratowej rzędu p jest następująca.

Jeśli jest wektorem i , to .

Wiemy, że macierz symetryczna jest podatna na diagonalizację, a terminy macierzy diagonalnej są wartościami własnymi macierzy. Więc albo

wartością własną rozkładu z , gdzie U jest macierzą ortogonalną  ; więc

W przypadku wartości bardzo dużych w diagonalnej macierzy wartości własnych będzie dominować największa z nich – z wyjątkiem przypadku, gdy są dwie większe równe wartości: rzeczywiście niech będzie wartość własna większego modułu.

Następnie zbiega się do największej wartości własnej i odpowiedniego wektora własnego.

Jeśli istnieje kilka maksymalnych wartości własnych, zbiega się w kierunku wektora w podprzestrzeni generowanej przez wektory własne skojarzone z tymi wartościami. Po ustaleniu pierwszego można sukcesywnie ograniczyć algorytm do jądra znanych wektorów własnych w celu wyznaczenia pozostałych.

W praktyce algorytm ten ma dwie wady: podatność na błędy zaokrągleń oraz czasami zbyt małą szybkość zbieżności.

Algorytm Lanczosa

Algorytm Lanczosa udoskonala poprzednią metodę, w której każda jest ograniczona do ortogonalnej wszystkich poprzednich wartości. Podczas konstrukcji tych wektorów stałe normalizacji są grupowane w macierz trójkątną, której najważniejsze wartości własne szybko zbliżają się do wartości własnych macierzy wyjściowej.

Mnożenie przez jest wtedy jedyną operacją na dużą skalę, co czyni tę metodę interesującą.

Zastosowania, warianty i uogólnienia

Algorytm Lanczosa jest szczególnie przydatny do określania rozkładu bardzo dużych macierzy, w meteorologii lub przetwarzaniu języka naturalnego, gdzie macierze te mogą zawierać setki tysięcy wyrazów.

To uogólnia algorytm Arnoldi  (en) dla macierzy niesymetrycznych.

Wariant tego algorytmu służy do rozdzielczości układów liniowych (w szczególności pustych układów liniowych) i wyszukiwania elementów jądra macierzy. W tej postaci jest często stosowany w ramach algorytmów takich jak sito kwadratowe lub sito algebraiczne do faktoryzacji liczb całkowitych lub metoda indeksowa dla problemu logarytmów dyskretnych . Jest to związane z metodą gradientu sprzężonego .

Uwagi i referencje

  1. W celu demonstracji zob. PG Ciarlet, Wprowadzenie do analizy i optymalizacji macierzy numerycznych , wyd. Masson, kol.  „Matematyka. Zał. na studia magisterskie ”,1985( przedruk  2001) ( ISBN  2-225-68893-1 )rozdz. 1, Twierdzenie 1.2.1
  2. (w) R. Bellman, Wprowadzenie do analizy macierzy , SIAM al.  „Klasyka w Appl. Matematyka. ",1960( przedruk  1970, 1997) ( ISBN  0-89871-399-4 ) , "3" , s.  35-36

Zobacz również

Powiązane artykuły

Bibliografia

Linki zewnętrzne

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">