Każdy prawdziwy matryca można ograniczyć do rzeczywistego postaci Schur T = U T A U stosując prostopadłe similiary przekształcenie U . Tutaj macierz T ma postać quasi-trójkątną z 1 na 1 lub 2 na 2 blokami na głównej przekątnej. Każdy 1 o 1 odpowiada blok do rzeczywistej wartości własnej A i co 2 2 odpowiada przez blok do pary zespolonych wartości własnych sprzężonych A .
Zagadnienie własne zmiana kolejności składa się z transformacji ortogonalnej znalezienie podobieństw , tak że wybór użytkownika wartości własnych A pojawia się po przekątnej od górnego lewego narożnika S = V T T V .
W LAPACK odpowiednia procedura podwójnej precyzji nosi nazwę DTRSEN. Daniel Kressner napisał zablokowaną wersję o nazwie BDTRSEN. Procedura ScaLAPACK to PDTRSEN.
Szukam aplikacji i algorytmów, w których postęp w rozwiązaniu problemu zmiany kolejności wartości własnych przyniósłby realne korzyści.
Możemy z łatwością generować matryce testowe w formie quasi-trójkątnej, ale mamy problem z ustaleniem kształtu realistycznego rozkładu wybranego przez użytkownika wartości własnych.
Z mojej perspektywy iteracja podprzestrzeni z przyspieszeniem Ritza jest idealnym algorytmem do testowania ulepszeń algorytmu zmiany kolejności. Wymaga (rzadkiego) mnożenia wektora macierzy, wysokiego algorytmu QR i algorytmu zmiany kolejności.
Jednak trudno mi znaleźć rzeczywiste problemy, w których jest jasne, że dany zestaw par własnych jest fizycznie interesujący.
Możemy wykonać zmianę kolejności wartości własnych dla gęstych macierzy o wymiarze 40 000 za pomocą wspólnej pamięci. Najlepszą wydajność osiąga się, gdy użytkownik wybierze około 50% wszystkich wartości własnych.