Podczas obliczania wartości własnych macierzy symetrycznej najlepsze, co możesz zrobić z reflektorem typu Householder, to doprowadzić M do postaci trójosiowej. Jak wspomniano w poprzedniej odpowiedzi, ponieważ M jest symetryczna nie jest prostopadła do przetwarzania podobieństwo co skutkuje macierzą diagonalną, czyli D = S T M S . Dogodne byłoby gdyby mogli znaleźć działanie nieznanej macierzy ortogonalnych S ściśle użycia reflektorów Householder przez obliczanie sekwencji odblaskowych i stosowania H T od lewej do M i HM∈Rn×nMMD=STMSSHTMHod prawej do . Nie jest to jednak możliwe ze względu na sposób, w jaki reflektor gospodarstwa domowego jest zaprojektowany do zerowania kolumn. Gdybyśmy obliczyć reflektor Domownika, aby wyzerować wszystkie liczby poniżej M 11 , znajdziemy
M = (MM11
Ale teraz wpisy M 12 - M 1 n zostały zmienione przez reflektor H T 1 zastosowany po lewej stronie. Zatem, gdy zastosujemy H 1 po prawej stronie, nie będzie już zerować pierwszego rzęduM,pozostawiając tylko M 11 . Zamiast tego otrzymamy
H T 1 M= (
M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗⎞⎠⎟⎟⎟⎟⎟⎟→HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗0000∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟.
M12−M1nHT1H1MM11
Tam, gdzie nie tylko nie wyzerowaliśmy rzędu, ale możemy zniszczyć zerową strukturę, którą właśnie wprowadziliśmy za pomocą reflektora
H T 1 .
HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗0000∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟→HT1MH1=⎛⎝⎜⎜⎜⎜⎜⎜∗∗′∗′∗′∗′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′⎞⎠⎟⎟⎟⎟⎟⎟.
HT1
MHT1
M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗⎞⎠⎟⎟⎟⎟⎟⎟→HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗′000∗∗′∗′∗′∗′∗∗′∗′∗′∗′∗∗′∗′∗′∗′∗∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟.
Thus when we apply the same reflector from the right we obtain
HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗′000∗∗′∗′∗′∗′∗∗′∗′∗′∗′∗∗′∗′∗′∗′∗∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟→HT1MH1=⎛⎝⎜⎜⎜⎜⎜⎜∗∗′000∗′∗′′∗′′∗′′∗′′0∗′′∗′′∗′′∗′′0∗′′∗′′∗′′∗′′0∗′′∗′′∗′′∗′′⎞⎠⎟⎟⎟⎟⎟⎟.
Applied recursively this allows us to drive M to a tridiagonal matrix T. You can complete the diagonalization of M efficiently, as was mentioned previously, using Jacobi or Givens rotations both of which are found in the Golub and Van Loan book Matrix Computations. The accumulated actions of the sequence of Householder reflectors and Jacobi or Givens rotations allows us to find the action of the orthogonal matrices ST and S without explicitly forming them.
For what reason do you assume that this is impossible?
Any symmetric real matrixS can be orthogonally diagonalized, i.e. S=GDGt , where G is orthogonal and D is diagonal.
Any orthogonal matrix of size n×n can be constructed as a product of at most n such reflections.Wikipedia. Therefore you have this decomposition.
I am not sure about the last statement, I just cite it (and I think it is correct). As far as I understand your question, it boils down to whether any orthogonal matrix can be decomposed into a sequence of Householder transforms.
źródło
If the eigenvalues are already known (from a preliminary calculation based on the usual approach), one can use them to triangulize a nonsymmetric matrix (or diagonalize a symmetric matrix) by a product onn−1 Householder reflections. In the k th step the k th column is brought to triangular form. (This also provides a simple inductive proof of the existence of the Schur factorization.)
It is actually useful for methods where one repeatedly needs the orthoginal matrix in a numerically stable factored form.
źródło