Cтраница 2
В высшей степени замечательно, что скромный переход от сдвига по отношению Релея ( о аи) к сдвигу по Уилкинсону ( а ш) преобразует сходимость почти всегда в сходимость всегда. Однако при сдвиге по отношению Релея не обязательно ограничиваться лишь трехдиагональными матрицами; теория гл. Можно спросить, существует ли стратегия сдвигов, гарантирующая сходимость обратной итерации с любого начального вектора. Ответ утвердительный, поскольку предположение о трехдиагональности не есть реальное ограничение, а скорее удобное нормирование. Единственная задача состоит в том, чтобы выразить сдвиг по Уилкинсону в геометрической форме, и сейчас это будет сделано. [16]
Никому еще не удалось построить матрицу Alt такую, чтобы в точной арифметике последовательность As, порождаемая QL-алгоритмом со сдвигами (8.7.1), не сходилась и в то же время была нестационарна, хотя такие матрицы и должны существовать. Простая стратегия сдвигов по отношениям Релея превращает QL в мощное средство диагонализации матрицы. В § 8.9 будет описана несколько более сложная стратегия, дающая еще лучшие результаты. [17]
Наступило время обратить последние из сформулированных теорем и установить принцип минимакса. Это означает, что мы сначала должны максимизировать отношение Релея, а затем найти минимальное значение этого максимума. [18]
![]() |
Случай зацикливания. [19] |
Если используются переменные сдвиги, то сходимость может ускориться; однако существует неприятная возможность, что при плохом начальном приближении сдвиги могут повести к бесконечному зацикливанию. Поэтому важно знать, что для итерации с отношением Релея ( определенной в § 4.6) вероятность такого цикла равна нулю. Доказательство, приводимое ниже, является незначительным видоизменением первоначального доказательства Кахана. [20]
Если собственные значения ленточной матрицы найдены с помощью одного из вышеприведенных алгоритмов, то соответствующие собственные векторы можно вычислить методом обратной итерации, используя процедуру symray. В этой процедуре предусмотрено уточнение найденных собственных значений с помощью отношения Релея; эти значения имеют точность выше обычной. [21]
Каждый элемент вектора ( Ах - Хх) перед вычислечием выражения хг ( Ах - - Хх) в формуле ( 10) или ут ( Ах - Хх) в формуле ( 11) округляют до обычной точности. При последующих вычислениях и при вычиыкниях выражений х х и ух накопление скалярного произведения не требуется. Если вычисление отношения Релея организовано именно так, то точная сумма поправки и приближенного X имеет точность выше обычной. [22]
Очевидно следует ожидать, пока не стабилизируются отношения Релея, и Рутисхаузер требует выполнения трех аппроксимаций Релея - Ритца. Альтернатива, состоящая в вычислении отношений Релея до стабилизации 0 т представляется излишне сложной. [23]
Поскольку собственному значению Х4 5 соответствуют два линейно независимых собственных вектора, то нельзя было ожидать, что метод обратной итерации позволит определить именно такой вектор. В каждом случае вычисленный собственный вектор, соответствующий u j, существенно отличается от собственного вектора, соответствующего ц2 а совместно они полностью определяют связанное с ними двумерное подпространство. Точность вычисленных поправок с помощью отношения Релея не нарушается при появлении кратных корней, хотя влияние близких корней неблагоприятно. Практически поправки Релея были верны до 22 десятичных разрядов. [24]
![]() |
Результаты вычисления определителей с помощью процедур bandet 1 и bandet 2. [25] |
В табл. 3 приведен собственный вектор, полученный с помощью процедуры unsray. Вычисленные собственные векторы имеют 11 точных десятичных знаков. Собственные значения, уточненные с помощью отношений Релея, имеют не менее 22 точных десятичных знаков. Для достижения максимально возможной точности сложение поправки Релея и величины Я, имеющих обычную точность, производят с двойной точностью. Для проверки критерия ( 8) процедура метода обратной итерации была выполнена для Я 1 67, при этом для определения точного собственного вектора потребовалось 15 итераций. [26]
Матрица X не является симметрической, но для вычисления матрицы Р будет использована только половина ее элементов. Вычисляется только верхний треугольник матрицы X, затем после транспонирования он будет записан на место нижнего треугольника матрицы А. В результате этого диагональные элементы матрицы А будут разрушены, и если необходимо, их нужно предварительно запомнить, например, для вычисления отношений Релея. [27]
Каждую пару собственных векторов, соответствующих собственному значению lambda [ ], вычисляют методом обратной итерации, используя предварительное разложение матрицы А - lambda X I на треугольные с помощью процедуры bandetl. Основную часть тела процедуры unsray составляет программа реализации метода обратной итерации для вычисления левых собственных векторов. В целочисленных массивах / [ i ] и с [ i ] фиксируется число итераций, потребовавшихся для определения каждого правого и левого собственного вектора соответственно; это число ограничено величиной la, являющейся входным параметром процедуры. Уточнение собственных значений выполняется с помощью обобщенных отношений Релея с учетом вычисленных собственных векторов. [28]