Attention! Your ePaper is waiting for publication!
By publishing your document, the content will be optimally indexed by Google via AI and sorted into the right category for over 500 million ePaper readers on YUMPU.
This will ensure high visibility and many readers!
3.17. Численные методы для проблемы собственных значений 425имеющей собственные значения2.75841486.1207926±8.0478897iЧитатель может провести на компьютере этот увлекательный экспериментсамостоятельно, воспользовавшись системами Scilab, Matlabили им подобными: все они имеют встроенную процедуру для QRразложенияматриц. 30<strong>П</strong>ример 3.17.7 Для ортогональной матрицы( ) 0 1, (3.150)1 0QR-разложением является произведение её самой на единичную матрицу.<strong>П</strong>оэтому в результате одного шага QR-алгоритма мы снова получимисходную матрицу, которая, следовательно, и будет пределомитераций. В то же время, матрица (3.150) имеет собственные значения,равные ±1, так что в данном случае QR-алгоритм не работает.3.17ж Модификации QR-алгоритма<strong>П</strong>редставленная в Табл. 3.13 версия QR-алгоритма на практике обычноснабжается рядом модификаций, которые существенно повышают еёэффективность. Главными из этих модификаций являются1) сдвиги матрицы, рассмотренные нами в §3.17г, и2) предварительное приведение матрицы к специальнойверхней почти треугольной форме.Можно показать (см. теорию в книгах [13, 41]), что, аналогично степенномуметоду, сдвиги также помогают ускорению QR-алгоритма. Нов QR-алгоритме их традиционно организуют способом, представленнымв Табл. 3.14.Особенность организации сдвигов в этом псевдокоде — присутствиеобратных сдвигов (в строке 6 алгоритма) сразу же вслед за прямыми (в5-й строке). Из-за этого в получающемся алгоритме последовательно30 В Scilab’е и Matlab’е она так и называется — qr.
3.17. Численные методы для проблемы собственных значений 425имеющей собственные значения2.75841486.1207926±8.0478897iЧитатель может провести на компьютере этот увлекательный экспериментсамостоятельно, воспользовавшись системами Scilab, Matlabили им подобными: все они имеют встроенную процедуру для QRразложенияматриц. 30<strong>П</strong>ример 3.17.7 Для ортогональной матрицы( ) 0 1, (3.150)1 0QR-разложением является произведение её самой на единичную матрицу.<strong>П</strong>оэтому в результате одного шага QR-алгоритма мы снова получимисходную матрицу, которая, следовательно, и будет пределомитераций. В то же время, матрица (3.150) имеет собственные значения,равные ±1, так что в данном случае QR-алгоритм не работает.3.17ж Модификации QR-алгоритма<strong>П</strong>редставленная в Табл. 3.13 версия QR-алгоритма на практике обычноснабжается рядом модификаций, которые существенно повышают еёэффективность. Главными из этих модификаций являются1) сдвиги матрицы, рассмотренные нами в §3.17г, и2) предварительное приведение матрицы к специальнойверхней почти треугольной форме.Можно показать (см. теорию в книгах [13, 41]), что, аналогично степенномуметоду, сдвиги также помогают ускорению QR-алгоритма. Нов QR-алгоритме их традиционно организуют способом, представленнымв Табл. 3.14.Особенность организации сдвигов в этом псевдокоде — присутствиеобратных сдвигов (в строке 6 алгоритма) сразу же вслед за прямыми (в5-й строке). Из-за этого в получающемся алгоритме последовательно30 В Scilab’е и Matlab’е она так и называется — qr.
426 3. Численные методы линейной алгебрыТаблица 3.14. QR-алгоритм со сдвигами для нахождениясобственных значений матрицы Ak ← 0;A (0) ← A;DO WHILE ( метод не сошёлся )выбрать сдвиг ϑ k вблизи собственного значения A;вычислить QR-разложение A (k) −ϑ k I = Q (k) R (k) ;A (k+1) ← R (k) Q (k) +ϑ k I;k ← k +1;END DOвычисляемые матрицы A (k) и A (k+1) ортогонально подобны, совершеннотак же, как и в исходной версии QR-алгоритма:A (k+1) = R (k) Q (k) +ϑ k I = ( Q (k)) ⊤Q (k) R (k) Q (k) +ϑ k(Q(k) ) ⊤Q(k)= ( Q (k)) ⊤(Q (k) R (k) +ϑ k I ) Q (k) = ( Q (k)) ⊤A (k) Q (k) .То есть, представленная организация сдвигов позволила сделать их водно и то же время локальными и динамическими по характеру.<strong>П</strong>ример 3.17.8 <strong>П</strong>роиллюстрируем работу QR-алгоритма со сдвигамина знакомой нам матрице (3.149)⎛ ⎞1 −2 3⎜ ⎟⎝ 4 5 −6 ⎠−7 8 9из предыдущего примера<strong>П</strong>редложение 3.17.4 Матрица, имеющая хессенбергову форму, сохраняетэту форму при выполнении с ней QR-алгоритма.