РАДИОТЕХНИЧЕСКИЙ ИНСТИ РТФ «Вычислительная математика» Презентационные материалы к лекциям : Селиванова Ирина Анатольевна, ст.преподаватель кафедры «Автоматики и информационных технологий» УГТУ-УПИ Лекция. Вычисление собственных векторов и собственных значений матрицы. QR-алгоритм. 1. Введение 2. QR-алгоритм 3. Примеры 4. Модификация QR-алгоритма 5. Вывод Список литературы 1.Введение Введение При решении полной проблемы собственных значений для несимметричных матриц эффективным является подход, основанный на приведении матриц к подобным, имеющим треугольный или квазитреугольный вид. Одним из наиболее распространенных методов этого класса является QR -алгоритм. 2. QR-алгоритм QR-алгоритм В основе QR-алгоритма лежит представление матрицы в виде A=QR, где Q - ортогональная матрица Q-1=QТ , а R - верхняя треугольная. Такое разложение существует для любой квадратной матрицы. Одним из возможных подходов к построению QR разложения является использование преобразования Хаусхолдера, позволяющего обратить в нуль группу поддиагональных элементов столбца матрицы. Преобразование Хаусхолдера осуществляется с использованием матрицы Хаусхолдера, имеющей следующий вид: v 2 H E T v v T v v где: -произвольный ненулевой вектор-столбец, E матрица , v v T - квадратная матрица того же размера. (1) - единичная 2. QR-алгоритм Рассмотрим случай, когда необходимо обратить в нуль все элементы какого-либо вектора кроме первого, т.е. построить матрицу Хаусхолдера такую, что b Hb b (b1 , b1 ,..., bn )T ~ ~ b (b1 ,0,...,0)T ~ (2) Тогда вектор v определится следующим образом: (3) 1 v b sign ( b ) || b || e n 1 2 1 где || b || 2 ( b 2 ) 2 - евклидова норма вектора, e1 (1,0,...,0)T i 1 i 2. QR-алгоритм Применяя описанную процедуру с целью обнуления поддиагональных элементов каждого из столбцов исходной матрицы, можно за фиксированное число шагов получить ее QR – разложение. Рассмотрим подробнее реализацию данного процесса. Положим A0=A и построим преобразование Хаусхолдера H1 (A1=H1A0), переводящее матрицу A0 в матрицу с нулевыми элементами первого столбца под главной диагональю: a110 0 a A0 21 ... a0 n1 a120 0 a 22 ... a n02 1 a11 ... a10n ... a 20n 0 A 1 ... ... ... H1 0 0 ... a nn 1 a12 a 122 ... a 1n 2 ... a11n ... a 12 n ... ... ... a 1nn (4) 2. QR-алгоритм Матрица H1 Хаусхолдера должна определяться по первому столбцу матрицы A0 , т.е. в качестве вектора берется вектор b 0 0 0 T (a11 , a 21 ,..., a n1 ). Тогда компоненты вектора v вычисляются следующим образом: n 0 2 v 1 a sign (a ) (a j1) j 1 vi1 ai01 1 0 11 0 11 1 2 (5) i 2, n Матрица Хаусхолдера H1 вычисляется согласно (1): v 1v 1T H1 E 2 1T 1 v v (6) 2. QR-алгоритм На следующем, втором, шаге рассматриваемого процесса строится преобразование Хаусхолдера H2 (A2=H2A1), обнуляющее расположенные ниже главной диагонали столбца элементы второго 1 1 матрицы A1. Взяв в качестве вектора b вектор ( a 22 , a32 ,..., a1n 2 )T размерности (n-1) получим следующие выражения для компонентов вектора v : v12 0 v2 a 2 1 22 v i2 a i11 i 3, n n 1 2 sign (a ) (a j 2 ) j 2 1 22 1 2 (7) 2. QR-алгоритм Повторяя процесс (n-1) раз, получим искомое разложение A=QR, где: (8) Q ( H H ...H ) T H H ...H n 1 n2 0 1 2 n 1 R An1 Процедура - разложения многократно используется в алгоритме вычисления собственных значений. Строится следующий итерационный процесс: A(0)=A A(0)=Q(0)R(0) – производится QR-разложение, A(1)=R(0)Q(0) – производится перемножение матриц, ……………. A(k)=Q(k)R(k) – разложение, A(k+1)=R(k)Q(k) – перемножение. 2. QR-алгоритм Таким образом, каждая итерация реализуется в два этапа. На первом этапе осуществляется разложение матрицы A(k) в произведение ортогональной Q(k) и верхней треугольной R(k) матриц, а на втором – полученные матрицы перемножаются в обратном порядке. Если в ходе итераций прослеживается комплексно-сопряженная пара собственных значений, соответствующая блоку, образуемому a (jjk ) , a (jjk)1 , a (jk1) j , a (jk1) j 1 элементами j-го и (j+1)-го столбцов , то в качестве критерия окончания итераций может быть использовано следующее условие: (12) ( k ) ( k 1) 3. Пример Пример Рассмотрим небольшой пример, поясняющий на практике все вышеперечисленные формулы и утверждения. Пример: Используя преобразование Хаусхолдера, построить – QR разложение матрицы 1 3 1 A 1 1 4 4 3 1 3. Пример Решение. 1. Положим A0=A и найдем ортогональную матрицу Хаусхолдера H, такую что в матрице A1=H1A0 все поддиагональные элементы первого столбца равны нулю. С этой целью компоненты вектора определим, используя элементы первого столбца матрицы A0: 1 2 3 0 2 v1 a sign (a ) (a j1 ) 5.24 j 1 0 v12 a21 1 1 0 11 0 11 0 v31 a31 4 В результате получен вектор v 1 (5.24;1;4)T . 3. Пример Найдем соответствующую этому вектору матрицу Хаусхолдера: 524. 1 5.24 1 4 1 0 0 4 v 1v 1T H E 2 1T 1 0 1 0 2 5 . 24 v v 0 0 1 5.24 1 4 1 4 1 0 0 27.46 5.24 20.96 2 0 1 0 5 . 24 1 4 0 0 1 88.92 20.96 4 16 1 0 0 1.24 0.24 0.94 0.24 0.24 0.94 0 1 0 0.24 0.04 0.18 0.24 0.96 0.18 0 0 1 0.94 0.18 0.72 0.94 0.18 0.28 3. Пример В заключение первого шага вычислим матрицу A1 : 0.24 0.24 0.94 1 3 1 4.24 3.77 2.12 A1 0.24 0.96 0.18 1 1 4 HA0 0 0.29 3.40 0.94 0.18 0.28 4 3 1 0 2.17 1.38 На втором шаге проделаем аналогичную процедуру, обнуляя поддиагональный элемент второго столбца. Таким образом, после первого шага получена матрица с нулевыми поддиагональными элементами в первом столбце. v12 0 1 2 3 2 2 v a sign (a ) (a j 2 ) 2.48 j 2 1 v32 a32 2.17 2 2 1 22 1 22 3. Пример Т.е. искомый вектор v 2 (0;2.48;2.17) T Далее найдем соответствующую ему матрицу Хаусхолдера: 0 0 2 2T 1 v v H 1 E 2 2T 2 0 0.13 0.99 v v 0 0.99 0.13 и вычислим матрицу A2: 0 0 4.24 3.77 2.12 4.24 3.77 2.12 1 A2 H 1 A1 0 0.13 0.99 0 0.29 3.40 0 2.19 0.91 0 0.99 0.13 0 2.17 1.38 0 0 3.56 Таким образом, исходная матрица A приведена к верхнему треугольному виду, т.е. получена матрица R=A2 искомого разложения. Результирующая ортогональная матрица преобразования Q получается в результате перемножения матриц Hi i=1,2. 3. Пример 0 0 0.24 0.97 0.11 0.24 0.24 0.94 1 Q HH 1 0.24 0.96 0.18 0 0.13 0.99 0.24 0.05 0.97 0.94 0.18 0.28 0 0.99 0.13 0.94 0.25 0.22 В заключение выпишем окончательный результат A=QR в явном виде: 0.11 4.24 3.77 2.12 1 3 1 0.24 0.97 A 1 1 4 0.24 0.05 0.97 0 2.19 0.91 4 3 1 0.94 0.25 0.22 0 0 3 . 56 4. Модификация QR-алгоритма Модификация QR-алгоритма Существенным недостатком рассмотренного выше алгоритма является большое число операций (пропорционально n3, где n размерность матрицы), необходимое для QR-факторизации матрицы на каждой итерации. Именно по этой причине существует несколько модификаций QR-алгоритма, широко используемых на практике. Одной из таких модификаций является предварительное преобразование матрицы к верхней Хессенберговой форме, в которой равны нулю все элементы, находящиеся ниже главной диагонали за исключением элементов первой поддиагонали, благодаря чему эффективность QR-алгоритма может быть повышена. Это преобразование осуществляется при помощи матрицы подобия. Иными словами предварительно производится следующая операция: B H T AH 4. Модификация QR-алгоритма B -матрица Хессенберга, имеющая следующую структуру (знак x обозначает ненулевые элементы): x x 0 B 0 ... 0 x x ... x x x ... x x 0 x ... x x ... x ... ... ... x 0 0 0 x x x x x x x и QR-алгоритм запускается относительно матрицы B. В основе преобразования A к виду B (определяемому условием xij=0 при j<i-1) лежит преобразование Хаусхолдера или, иначе, преобразование отражения, осуществляемое с помощью матрицы отражения (Хаусхолдера) T H E 2 W W 4. Модификация QR-алгоритма W - произвольный вектор-столбец, но такой, что его евклидова норма равна единице. 2 W (W , W ) W T W 1 (15) 2 и с учетом симметричности матрицы W12 W1W2 ... W1Wn W1 2 T W2 ... W1W W2W1 W2 W W W1 , W2 , ... Wт (16) ... ... ... ... ... W W W W W ... W 2 n 1 n 1 имеем: T T T H H H E 4 W W 4 W W W W E T 2 (17) Следовательно, матрица отражения ортогональна, и, значит, матрицы A и B связаны соотношением (18) B H A H являются подобными. 4. Модификация QR-алгоритма Теперь необходимо максимально удобным образом задать вектор W,m чтобы за конечное число шагов преобразований Хаусхолдера произвольно заданную матрицу A привести к форме Хессенберга B. Рекомендуется начинать процесс преобразований A к B следующим образом: B1 A Bm1 H m Bm H m где m 1,2,..., n 2 T H m E 2 Wm Wm (19) (20) Таким образом, данная n*n матрица A за (n-2) шага будет приведена к виду B, т.е. матрица B=Bn-1 подобна A, если задающие матрицы Wm Хаусхолдера Hm векторы по данной матрице A строить следующим образом. 4. Модификация QR-алгоритма При m=1 вектор W1 определяется равенством Где T W1 1 0, a21 s1, a31,..., an1 s1 sign (a21 ) 1 (21) n a i 2 1 2s1 (s1 a21) 2 i1 (22) (23) Такое задание W1 обеспечивает ортогональность симметричной матрицы H1 E 2 W1 W1T (согласно формуле (20)) и одновременное получение с ее помощью нужных (n-2) нулей в первом столбце матрицы B2 H1 B1 H1 (согласно формуле (19)). Вектор W2 по матрице B2 строится совершенно аналогично, только фиксируются нулевыми не одна, а две первые его координаты, и определяющую роль играют теперь не первый, а второй столбец матрицы B2 и его третий элемент. 4. Модификация QR-алгоритма При этом у матрицы B3=H2B2H2 окажется (n-3) нулевых элемента во втором столбце и сохранятся полученные на предыдущем шаге нули в первом столбце. Этот процесс таким образом может быть продолжен до исчерпания. Пример: Пусть дана матрица 1 3 5 A 3 0 2 4 1 1 Найдем матрицу B, подобную матрице A и имеющую форму Хессенберга. 2 2 s sign ( a 21 ) a 21 a31 1 2 s ( s a 21 ) T W 0, a 21 s, a31 T H E 2 W W B H A H 4. Модификация QR-алгоритма Выполним соответствующие расчеты s 3 2 (4) 2 5 1 2(5)(( 5) 3) 1 4 5 0 0 0 T 1 2 W W 8 0 8 4 0 1.6 40 0 0.8 4 0 0 1 0 1 0 0 0 H 0 1 0 0 1.6 0.8 0 0.6 0 0 1 0 0.8 0.4 0 0.8 0 0 5 1 3 5 1 H A 0 0.6 0.8 3 0 2 5 0 0.8 0.6 4 1 1 0 0 0.8 0.4 0 0.8 0.6 1 3 0.8 2 0.6 1 1 3 1 0 0 5 3 1 5 B H A H 5 0.8 2 0 0.6 0.8 5 2.08 0.56 0 0.6 1 0 0.8 0.6 0 0.44 1.08 5. Вывод Вывод Перечислим основные достоинства -алгоритма: алгоритм сохраняет почти треугольную форму исходной матрицы, что ведет к значительному сокращению объема вычислений, алгоритм эффективно модифицируется в случае эрмитовых матриц, алгоритм устойчив к влиянию ошибок округления. Список литературы Список литературы 1. Вержбицкий В.М. Основы численных методов: Учебник для вузов. – М.: Высш. шк., 2002. – 840с. 2. Волков Е.А. Численные методы: Учебное пособие. – 3-е изд., испр. – СПб: Лань, 2004. – 256с. 3. Турчак Л.И. Основы численных методов: Учебное пособие. – М.: Наука. Гл. ред. физ.-мат. лит., 1987. – 320с.