1626435584-7c6402f545ecf856225d6cf8d21519c9 (844233), страница 41
Текст из файла (страница 41)
вдвое быстрей, чем в методе отражений. Ыо для эрмитовых матриц метод элементарных преобразований невыгоден, ибо при неупитарных преобразованиях эрмитовость не сохраняется. Тем самым результирующая матрица будет почти треугольной, а не трехднагональной, как в методе отражеаий; вдобавок выигрыша в скорости по сравнению с методом отражений в этом случае нет. Однако расчет по полученным формулам еще недостаточно устойчив. Если в ходе расчета на очередном шаге возникает малый ведущий элемент адэз, д, то согласно формулам (59) компоненты пг будут велики.
При вычислении остальных клеток матрицы элементы умножаются на эти компоненты, и погрешность сильно возрастает. Чтобы сделать метод устойчивым, выбирают главный (т. е. наибольший по модулю) элемент аннулируемого столбца )а, )=-гпах)агд( пРи г7+2~г, г -и (62) г н перестановкой (г)-)-1)-й н г-й строк делают его ведущим. Тогда будет выполняться неравенство газ~==1, и погрешность практически не будет нарастать. Формально перестановку двух строк 184 АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ ЗНАЧЕНИИ 1ГЛ. щ можно записать как умножение слева на матрицу перестановки Р: Я+1 г о+1 (63) А'=Р А,,А, Р ~з,= (все элементы, стоящие вне главной диагонали, кроме отмеченных здесь, равны нулю).
Непосредственным перемножением легко убедиться, что Р =-Р'= Р", так что свойствй матрицы перестановки похожи на свойства матрицы отражения. Но перестановка строк меняет собственные значения матрицы. Чтобы собственные значения не менялись, надо сделать преобразование подобия А"=Р-'АР. Используя свойства матриц перестановок и ассоциативность умножения, получим А" = Р-'АР = РА Р = (РА) Р = А'Р. Отсюда видно, что после перестановки строк надо умножить полученную матрицу справа иа Р. Поэлементным перемножением легко убедиться, что умножение справа на Р есть просто перестановка соответствующих столбцов матрицы А' (перестановка выполняется на ЭВМ быстрее, чем арифметические действия).
Таким образом, устойчивое элементарное преобразование подобия имеет следующий вид: В = йг ( — и) РА РИ (и). (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 НЕЭРМИТОВЫ МАТРИЦЫ % з! можно сильчее уменьншть (! А !! . Поскольку для любой матрицы !(А (!' ~ и (Хг !з, причем только для нормальных матриц имеет место равенство, г=! то такое преобразование приближает матрицу к нормальной.