При вычислении собственных значений симметричной матрицы M∈Rn×n лучшее, что вы можете сделать с отражателем Householder, - это привести M в трехдиагональную форму. Как уже упоминалось в предыдущем ответе , потому что M симметрична существует ортогональное преобразование подобия , которое приводит к диагональной матрице, т.е. D=STMS . Было бы удобно, если бы мы могли найти действие неизвестной ортогональной матрицы S строго используя отражатели Хаусхолдера, вычислив последовательность отражателей и применив HT слева к M и Hот права на . Однако это невозможно из-за того, как отражатель домохозяйства спроектирован так, чтобы обнулять столбцы. Если бы мы вычислили отражатель домохозяина, чтобы обнулить все числа ниже M 11, мы находим
M = (MM11
Но теперь записи M 12 - M 1 n были изменены отражателем H T 1, примененным слева. Таким образом, когда мы применяем H 1 справа, он больше не обнуляет первый рядM,оставляя только M 11 . Вместо этого мы получим
H T 1 M= (
M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗⎞⎠⎟⎟⎟⎟⎟⎟→HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗0000∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟.
M12−M1nHT1H1MM11
Там, где мы не только не обнуляем строку, но и можем разрушить нулевую структуру, которую мы только что добавили с отражателем
H T 1 .
HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗0000∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟→HT1MH1=⎛⎝⎜⎜⎜⎜⎜⎜∗∗′∗′∗′∗′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′∗′′⎞⎠⎟⎟⎟⎟⎟⎟.
HT1
Однако, когда вы решите подвести к трехдиагональной структуре, вы оставите первый ряд нетронутым действием H T 1 , поэтому
M = (MHT1
M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗⎞⎠⎟⎟⎟⎟⎟⎟→HT1M=⎛⎝⎜⎜⎜⎜⎜⎜∗∗′000∗∗′∗′∗′∗′∗∗′∗′∗′∗′∗∗′∗′∗′∗′∗∗′∗′∗′∗′⎞⎠⎟⎟⎟⎟⎟⎟.
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.
источник
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.
источник