Н.Н. Калиткин - Численные методы (1133437), страница 40
Текст из файла (страница 40)
Таким образом, устойчивое элементарное преобразование подобия имеет следующий вид: В = йг ( — и) РА РИ (и). (64а) Важно помнить, что если перемножение этих матриц проводить в строго определенном порядке А — РА -ь.Ж ( — п) (РА) -ь(У ( — о) РА) Р-ь -ь (й1 ( — о) РА Р) Л1 (о), (64б) то устойчивость будет хорощей (хртя, по.видимому, метод отражений более устойчив).
Если же после перестановки строк сразу переставить столбцы, то это может привести к уменьшению ведущего элемента и потере устойчивости. В принципе после приведения матрицы к почти треугольной форме можно определить собственные значения способом, описанным в 4 1. Но решение этим способов полной проблемы собственных значений для почти треугольвой матрицы в несколько раз батсе трудоемко, чем приведение произвольной матрицы к почти треугольной форме. Поэтому, чтобы использовать высокую скорость метода элементарных преобразовании, надо привести матрицу к еще более удобной форме, Ниже приведен способ быстрого, преобразования почти треугольной матрицы в трехдиагональную. Второ й ход.
Сначала заметим, что если матрица А была нижней почти треугольной (т. е. агу=О при 1+1(1), то при 18о НЕЭРМИТОВЫ МАТРИЦЫ "ч. з очоз " оо М=[олч1 Мч= о о 1 ... о о о о (55) причем М-'(о) =М ( — о). Тогда предыдущий вывод принимает такую форму: если для верхней почти треугольной матрицы произ- водится преобразование подобия при по- мощи матрицы (55), то результирующая матрица остается верхней почти треугольной. Применим цепочку преобразований подобия М-'АМ к матрице, полученной в результате первого хода. На каждом шаге элементарную матрицу М (о) будем под- )" ххххх ° хххх ° ~ ° З» ° о) ° ( ° ° ° ° о~ ° ° ° ° 3 о,о ° ° ° о~о о ° ° ° ° ° ° о ° о о о о о о о о Рис. 35 бирать так, чтобы аннулировать элементы правой половины очередной строки (см, рис. 35, где точками обозначены ненулевые элементы, кружками — элементы, обращаемые в нуль иа первом ходе, крестиками— обращаемые в нуль на начальных шагах второго хода; элементы, аннулируемые на очередном шаге, обведены).
Благодаря такому выбору результирующая матрица должна стать нижней почти треугольной. Но в силу сказанного выше она одновременно остается верхней почти треугольной. Тем самым она будет трехдиагональной, что и требовалось. Все формулы второго хода легко получить, применяя описанное выше транспонирование к формулам первого хода. Например, пусть аннулированы первые д — 1 строк, и надо аннулировать д-ю строку. Тогда подбор элементов йскомого преобразования производится аналогично формуле (59): а, при д + 2:=! =- и, (бб) а,ч., и т.
д. Поскольку на втором ходе в клетке А, имеется только преобразовании подобия (57) с матрицей йз она останется нижней почти треугольной. В самом деле, клетка А, при этом преобразовании не меняется. В клетке А, ненулевым был только левый нижний элемент а „; из формул (60) видно, что в клетке Вз тоже только он будет отличен от нуля, причем Ьч ~,—— а Клетка В, также имеет нужную форму; в этом нетрудно убедиться, произведя позлементное умножение.
Мысленно транспонируем все преобразования первого хода; согласно правилам матричной алгебры для этого надо транспонировать все матрицы, а во всех произведениях изменить порядок перемножения матриц на обратный. Прн транспонировании Ф ' (о) получим матрицу 166 АлГеБРАическАЯ ПРОБлемА сОБстВенных знАчении [Гл ю один ненулевой элемент, а в клетке А, около половины элементов — нулевые, то преобразование подобия почти треугольной матрицы к трехдиагональной форме требует всего пз(3 арифметических действий, т.
е. является очень быстрым. Однако, если на некотором шаге второго хода ведущий элемент ае „ окажется очень малым, то расчет становится неустойчивым. г( улучшать устойчивость перестановкой строк и столбцов здесь уже нельзя, ибо такая перестановка нарушает структуру матрицы (она перестает быть верхней почти треугольной). Поэтому, чтобы ослабить влияние ошибок округления, нередко производят расчет второго хода и вычисление характеристического многочлена трехдиагональной матрицы с двойной точностью. В отдельных случаях и это не помогает; тогда производят какую-либо перестановку столбцов исходной матрицы и такую же перестановку строк и повторяют расчет с самого начала. Правда, на практике срывы процесса довольно редки.
Всего двухходовой метод элементарных преобразований требует 2па действий для приведения матрицы к трехдиагональной форме, около 60пз действий для нахождения всех собственных значений и собственных векторов трехдиагональной матрицы, и еще 2л' действий для преобразования этих векторов в собственные векторы исходной матрицы. Это всего лишь в 7 — 8 раз болыпе, чем нужно для решения очень простой задачи — линейной системы того же порядка! Таким образом, метод элементарных преобразований является очень быстрым и в большинстве случаев устойчивым. 2. Итерационные методы. Существует много методов, основанных на бесконечной последовательности преобразований подобия, приводящей матрицу к некоторым спецначьным формам, для которых полная проблема собственных значений легко решается. Итерационные методы сложнее прямых, а для матриц произвольного вида заметно уступают прямым методам по скорости (и зачастую — по устойчивоств).
Но поскольку известные прямые методы не совсем удовлетворительны, то пренебрегать итерационными методами не следует. Ниже даны краткие сведения о наиболее известных итерационных методах; подробное. изложение их алгоритмов имеется, например, в монографиях (5, 41). Метод обобщенных вращений (развитый Эбсрлейн и В. В. Воеводиным в 1962 †19 гг.) основан на преобразовании матрицы к квазидиагональной форме, когда по главной диагонали расположены клетки, порядки которых равны кратности соответствующих собственных значений, а все остальные злемевты матрицы равны нулю (разумеется, приближенно, ибо процесс итерационный). Если все собственные значения простые, то процесс сходится к диа. тональной матрице.
Для клеток, соответствующих кратным собственным значениям, надо находить собственные значения н собственные векторы специальным алгоритмом, т, е. в метод включаются дополнительные процедуры. Это неудобство имеется во всех итерационных методах. Но поскольку порядок таких клеток обычно невелик, то зто не вызывает серьезных затруднений.
Шаг пропесса состоит из двух настен. На первом полушаге делается злементарное преобразование матрицей типа Д1 или М, в которой только одна из компонент о отлична от нуля; ее величина подбирается так, чтобы как 137 НЕЭРМИТОВЫ МАТРИЦЫ % з! можно сильчее уменьншть (! А !! . Поскольку для любой матрицы !(А (!' ~ и (Хг !з, причем только для нормальных матриц имеет место равенство, г=! то такое преобразование приближает матрицу к нормальной. Второй полушаг— это вращение типа Якоби; для вещественной матрицы угол поворота гр определяется из условия !и 2ф = (аьг + ам) Каьь — ан).
Процесс организован так, что полный шаг для эрмитовых матрац точно совпадает с циклическим вариантом метода Якоби. Значит, вычисления в общем случае требуют более 50пз арифметических действий, т. е. метод довольно медленный. Зато он является одним из наиболее устончивых. Ортогональный степенной метод(предложенный В. В. Воеводиным в !962 г.) основан на преобразовании матрицы к квазитреугольной форме, когда на главной диагонали стоят клетки, а ниже их все элементы равны нулю. У таких матриц собственные значения равньг собственным значениям диагональных клеток, но собственные векторы определяются сложней н значительно менее точно.
Ортогональный степенной метод устойчив и веегда сходится. Скорость сходимоств линейная, со знаменателем типа р=гпах !)и/Хг,, !, где Х; — собственные значения, расположенные в порядке возрастания модулей (причем кратные значения считаются за одно). Следовательно, требуемое число итераций довольно велико, особенно если среда собственных значений есть близкие. Одна итерация требует (1О!3) пз арифметических действий, так что метод оказывается весьма медленным, Треугольный степенной метод (предложен Бауэром в !957 г.) также основан на преобразовании матрицы к квазнтреугольной форме.
Сходнмость его тоже линейная, но одна нтераяия требует всего (5(3) пз действий, а при небольшом усложнении алгоритма — даже (2(3)пз действий. Зато этот метод менее устойчив, чем ортогональный степенной метод, особенно если собственные значения комплексные, илн в расчетах появляютск матрицы с близкими к нулю глазными минорами. Зачастую для сохранения устойчивости приходится видоизменять алгоритм. ттР-алгоритм (предчожен Рутисхаузсром и Бауером в 1955 г.) тоже содержит преобразование матрицы к квазитреугольной форме.
Ои разработан только для вещественных матриц с вещественными собственными значениями. Метод всегда сходится, причем вблизи решения квадратично; одна итерация требует (7/3) пз действий. Таким образом, по скорости этот метод превосходит ортогональный степенной; зато он >ступаег ему по устойчивости. гг(т-алгоритм (предложен В.
Н. Кублановской и Френсисом в 1961 г.)' основан на преобразовании матрицы к квазнтреугольной форме. По устойчивости и характеру сходимости он аналогичен ортогональному степенному четоду. Этот метод очень выгоден дяя верхних почти треугольных матриц; в ходе преобразований вх структура не разрушается, и благодаря этому одна итерация требует всего бп' арифметических дейсгвнй (т. е. время расчета уменьшается в пг2 раз по сравненшо с общим случаем). Детали этого алгоритма хорошо отработаны, н существуют основанные на нем стандартные программы. ЕР-а моритм (предложен Рутисхаузером в 1955 г.) рассчитан только иа вещественные матрицы с вещественными собственными значениями.