Различные варианты метода Якоби
Классический метод. На каждой итерации классического метода Якоби зануляется максимальный по модулю недиагональный элемент с номером:
(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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!