Различные варианты метода Якоби



Классический метод. На каждой итерации классического метода Якоби зануляется максимальный по модулю недиагональный элемент с номером:

(in, jn , n=0, 1, 2,…

Барьерные методы. Используется простая циклическая последовательность аннулирования недиагональных элементов матрицы, т.е. элементы матрицы зануляются в следующем порядке: (2, 1), (3, 1), (3, 2),…, (n, 1), (n, 2),…, (n, n-1), а затем начинается новый проход по матрице в том же порядке. При этом вращения опускаются, если  меньше некоторого барьерного значения t, которое может быть фиксировано, а может меняться на каждой итерации.

Фиксированный барьер меняется, если все диагональные элементы стали меньше его следующим образом:

1. В качестве барьера t выбирается произвольное положительное число. Затем, когда все недиагональные элементы становятся по модулю меньше его, барьер заменяется на новый t=t/const.

2. В качестве начального барьера выбирается t= , где N – количество над диагональных элементов. Затем на каждой итерации величина  уменьшается на  и t перевычисляется по той же формуле.

3. Значения барьера выбираются так же как в пункте 2, но в качестве критерия проведения вращения используется условие N > , n=0,1,2,…

 

Экономическая стратегия выбора аннулируемого элемента. Выбор номера (ik, jk) зануляемого элемента матрицы происходит следующим образом:

а) вычисляются суммы внедиагональных элементов матрицы по строкам 

Si= ;

б) выбирается максимальная сумма

в) выбирается максимальный элемент, входящий в максимальную сумму

, k=0, 1, 2,…

 

Степенной метод

Степенной метод [2-4, 6, 9, 11, 12] предназначен для нахождения наибольшего по модулю собственного значения и соответствующего собственного вектора. Метод является простым, тем не менее, нечасто используется на практике из-за медленной сходимости. Знакомство с методом оправданно тем, что на его идее основаны более эффективные методы.

Пусть А=A* и

½l1½<½l2½<…<½ln-1½<½ln½.                                 (4.19)

Зададим произвольный вектор у0 таким, что

0, xn)¹0

и образуем последовательность

yk+1=Ayk .                                                                  (4.20)

Далее строим последовательность скалярных произведений

(yk, yk), (yk+1, yk), k=0, 1, 2,…

Покажем, что

= =ln                            (4.21)

или

=ln+О( ).                                      (4.22)

 

 

Разложим вектор у0 по собственным векторам матрицы А

y0= ,

y1=Ay0= = ,

y2=Ay1= = ,

………………………………

yk= ,

yk+1= .

Тогда

(yk, yk)= ,

(yk+1, yk)= .

Значит

=

=ln ,                      (4.23)

что приводит к (4.21) и (4.22) при k®¥.

Таким образом, наибольшее по модулю собственное значение находится итерационно по формуле

(k=0, 1, 2,…),

что подтверждает (4.22). Из формулы (4.23) видно, что степенной метод нахождения наибольшего по модулю собственного значения сходится при выполнении условия (4.19). Процесс итерации заканчивается при выполнении условия

<e, 0<e<1.

Для вычисления собственного вектора xn воспользуемся формулой (4.20). Действительно,

yk+1= =cn ,

при k®¥ yk+1» cn xn .

Таким образом, вектор yk+1 отличается от собственного вектора xn лишь множителем cn . Так как величина   может быть достаточно большой, то при вычислении xn формулой (4.20) необходима нормировка вычисляемого вектора yk+1 через какое-то число итерации. Нормированный собственный вектор xn будет таким

xn= или xni= .

 

Обратный степенной метод

Обратный степенной метод [6, 9, 11, 12] используется для нахождения наименьшего по модулю собственного значения и соответствующего собственного вектора матрицы. При этом метод применяется к обратной матрице A-1, так как собственные значения последней обратны к собственным значениям матрицы А.

Пусть А=A* и

½l1½<½l2½<…<½ln-1½<½ln½.                                 (4.24)

Выберем произвольный вектор z0 таким, что

(z0, x1)¹0

и образуем последовательность

zk+1=A-1zk .                                                                (4.25)

Так как собственные значения gi матрицы A-1 связаны с собственными значениями li матрицы А соотношением

gili=1 ,

имеем

½gmax½=1/½lmin½=1/½l1½=½g1½.

Покажем, что

=                                                     (4.26)

или

= +О( ).                                       (4.27)

Формулы (4.25) – (4.27) составляют алгоритм определения наименьшего по модулю собственного значения матрицы А.

Далее разложим вектор z0 по собственным векторам матрицы А

z0= ,

z1=A-1z0= ,

z2=A-1z1= ,

………………

zk= ,

zk+1= .

Тогда

(zk, zk)= ,

(zk+1, zk)= .

 

Поэтому

=

=gn .                           (4.28)

 

Из (4.28) следует сходимость обратного степенного метода, и будем иметь

» (k=0, 1, 2,…),

что подтверждает (4.27).

Для нахождения собственного вектора х1 можно воспользоваться формулой (4.25). Тогда получим

zk+1= = xi= .

При k®¥ zk+1» , следовательно, вектор zk+1 будет отличаться от вектора х1 множителем . При определении собственного вектора х1 требуется нормировка вычисляемых векторов zk+1 .

 

Итерационный метод

Пусть А=А* >0 , тогда распишем систему уравнений

(А-lЕ)х=0                                                                (4.29)

относительно собственного значения l1 и собственного вектора   матрицы А

или

              (4.30)

Поскольку компоненты собственных векторов определяются с точностью до постоянной, то одну из них можно задать произвольно, например, за исключением особого случая, можно положить =1. Систему (4.30) можно решить методом итерации, следующим образом при начальных значениях

Итерация заканчивается при выполнении условия

 где 0<e<1.

Таким образом, находится первое собственное значение

и первый собственный вектор

.

Для определения второго собственного значения l2 и второго собственного вектора х(2) обратимся к системе

                                          (4.31)

Из соотношения ортогональности

                                                           (4.32)

исключается одно из неизвестных , например . Тогда система (4.31) заменится эквивалентной

                                     (4.33)

Здесь  новые преобразованные коэффициенты. Далее, полагая, что =1 и при заданных начальных значениях   решается система уравнений (4.33) методом итерации:

В результате будут найдены второе собственное значение l2 и второй собственный вектор х(2) матрицы А, при чем n-я компонента этого вектора находится из условия ортогональности (4.32). Аналогично находятся остальные lj (j=3,4,…,n) и соответствующие им собственные векторы х(j).


Дата добавления: 2018-04-15; просмотров: 311; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!