Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Куликов С.П., Самохин А.Б., Чердынцев В.В. Учебное пособие

.pdf
Скачиваний:
434
Добавлен:
02.05.2014
Размер:
554.54 Кб
Скачать

41

Полученную систему умножим на rn−1, находим xn−1и вычисляем b (2) и т.д.

 

r

r(

 

)

)

r( )

r( )

 

 

xi =

(r

, b

 

ni

 

r

(5.2.4.1)

i

r

r

 

;

b i

= b i−1

xi ani+1 .

 

(ri , ai )

 

 

 

 

 

 

5.3.Итерационные методы решения СЛАУ.

5.3.1.Метод простой итерации.

Многие итерационные методы могут быть сведены к процессу простой итерации. При этом исходное уравнение тем или иным способом должно быть сведено к уравнению

r

r

+ b

(5.3.1.1)

x

= B x

Здесь x - неизвестный вектор, b - заданный вектор правой части, B - заданная матрица коэффициентов (оператор). Например, если задана СЛАУ (5.1), то непосредственно принимая A = I + B , где I - единичная матрица, приходим к (5.3.1.1).

Заметим, что переход от (5.1) к (5.3.1.1) может быть выполнен не единственным способом, что приводит к различным модификациям метода простой итерации.

Процесс простой итерации строится следующим образом:

r

(k +1)

r

(k) + b ,

k = 0,1,2,...

(5.3.1.2)

x

= B x

В качестве начального приближения xr(o) можно принять

r(o) = Процесс простой итерации может быть эквивалентно за

x b . -

писан также в виде ряда простой итерации по степеням оператора B , т.е., в виде, так называемого, ряда Неймана

r

r

 

= Bib

(5.3.1.3)

x

i =0

42

Условия выхода из процесса итераций в результате достижения заданной относительной точности решения ε :

 

 

 

 

xr(k +1) xr(k)

 

 

 

 

< ε

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

(k)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

Если матрицаB постоянна (не зависит от номера итерации

k ), то это процесс стационарный.

 

 

 

 

 

 

r

- «гипотетическое» точное решение, строго удов-

Пусть x

летворяющее

r

r

а

r

x

= B x + b ,

x(k) = x(k ) x - ошибка на k

шаге. Подставляя в формулу простой итерации получаем для со-

отношения ошибок на

k +1 и

k -м шаге

r

(k + 1) = B

r

(k ) .

x

x

Для нормы ошибки:

 

 

r

(k

+

 

 

B

 

k

 

r

(k)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

1)

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда следует достаточное условие сходимости процесса простой итерации: B = δ , δ <1.

Действительно, тогда

 

 

r

(k

+

 

 

B

 

k

 

 

 

r

(k)

 

= δ k

 

r

(k)

 

<<

 

r

(k)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

1)

 

 

 

 

 

 

 

 

 

x

 

 

x

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор с

 

 

B

 

= δ <1 называется сжимающим, а процесс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(5.3.1.2), (5.3.1.3) для него сходящимся, т.к. ошибка убывает на каждом шаге, независимо от величины ошибки в начальном приближении.

Спектральным радиусом матрицы (оператора) B называется

ρ = ρ(B) = max βi , i

где βi - собственные числа оператора B .

Для любой нормы справедливо соотношение ρ(B) ≤ B

Доказывается, что необходимым и достаточным условием сходимости процесса простой итерации (5.3.1.2) является

43

ρ(B) < 1,

(5.3.1.4)

при этом итерации сходятся не хуже геометрической прогрессии со знаменателем δ = ρ(B) .

Условие [5.3.1.4] является, как правило, сильным ограничением при непосредственном применении метода к заданной

~

СЛАУ. Выбор нового оператора B с другим спектром и сведение (5.1) к системе (5.3.1.2) могут значительно расширить область сходимости ряда простой итерации.

5.3.2. Метод Якоби и метод Зейделя.

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

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= a11

 

(b1 a12 x2 a13x3 −...− a1n xn )

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

....................................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

xi

=

 

(bi ai1x1 −.. − aii−1xi−1 aii+1xi+1 −..− ain xn )(5.3.2.1)

 

 

 

 

 

aii

 

 

 

 

 

 

 

 

 

 

....................................................

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

1

 

 

 

 

a x a

 

−...− a

 

 

x

 

 

(b

x

x

)

 

 

 

 

n

 

 

 

 

 

 

 

 

n

n1 1

n2 2

nn−1

n−1

 

 

 

 

ann

 

 

 

 

 

 

 

 

Используем (5.3.2.1) для построения процесса итераций, на-

 

 

 

 

 

 

r

 

 

k = 0,1,2,...:

 

 

чиная с x(0) = b при k = 0 ,

 

 

xi(k +1) =

1

(bi ai,1 xi(k ) −...− ai,i −1 xi(k) ai,i +1 xi(k) −...− ai,n xi(k))

 

 

 

 

 

ai,i

 

 

 

 

 

 

 

 

i =1,2,...,n.

 

 

 

 

(5.3.2.2)

44

В матричных обозначениях метод Якоби можно записать следующим образом. Представим A = D + B , где D - диаго-

нальная матрица, {D}i,i = {A}i,i ,i =1,2,...,n. B = A D - матрица с нулевой главной диагональю. Тогда справедлива запись уравнения аналогично (5.3.1.5) 0, где

~

= −D−1( A D) ,

~

r

 

 

 

= D−1b

 

 

(5.3.2.3)

B

b

 

 

 

 

 

 

 

 

.

Матрица D−1- диагональная и {D

−1}

=1 {A}

, i =1,2,...,n.

 

 

 

 

i,i

i,i

 

Необходимые и достаточные условия сходимости метода Якоби

ρ(−D−1(A D)) <1

Другой известный метод простой итерации для случая, ко-

~

гда матрица B является матрицей с нулевой главной диагональю - это метод Зейделя. Он отличается от метода Якоби тем, что

при расчете координат вектора

r

x(k +1) на текущей k +1-й итера-

ции используются не только координаты вектора на предыдущей

k -й итерации

r

( k ) , но и уже ранее найденные на текущей ите-

x

рации координаты вектора

r

x(k +1) :

xi(k +1) = 1 (bi ai,1 xi(k +1) −...− ai,i −1 xi(k +1) ai,i +1 xi(k) −...− ai,n xi(k))

ai,i

 

 

i =1,2,...,n.

k = 0,1,2,...:

(5.3.2.4)

В матричных обозначениях это соответствует представлению исходной матрицы A как A = L + D +U ,где L -нижняя треугольная матрица, D -диагональная матрица,

{D}i,i = {A}i,i ,i =1,2,...,n и U - верхняя треугольная матрица.

~

В отличие от метода Якоби действие оператора B разделяется здесь на две части:

~r

(k)

)

(k +1)

= −D

−1

r

(k +1)

D

−1

r

(k)

(5.3.2.5)

(Bx

 

 

 

L x

 

U x

 

45

и его нельзя свести к воздействию какой-либо матрицы на вектор предыдущей итерации. То есть в отличии от полношагового метода Якоби метод Зейделя является одношаговым.

Метод Зейделя хорошо алгоритмизируется. Если известна скорость сходимости метода, нет необходимости хранить оба вектора xr(k +1) и xr ( k ) .

Достаточными условиями сходимости методов Якоби и Зейделя является диагональное преобладание в матричных элементах:

ai,i ai,1 + ai,2 +...+ ai,n , i =1,2,...,n , и

ai,i > ai,1 + ai,2 +...+ ai,n хотя бы для одного i.

однако на практике область сходимости значительно шире и определяется условием (5.3.1.4) на спектральный радиус матрицы (5.3.2.3) для метода Якоби и оператора (5.3.2.5) для метода Зейделя. Для решения СЛАУ с ленточными матрицами метод Зейделя является превосходным инструментом.

Существует также теорема, из которой следует, что метод Зейделя сходится для симметричных положительно определенных матриц.

5.3.3. Метод оптимального спектрального параметра (ОСП) для простой итерации.

Рассмотрим случай, когда спектр оператора B выходит за границы единичного круга на комплексной β -плоскости собст-

венных чисел. В этом случае ряд простой итерации (5.3.1.2) расходится.

Определим выпуклую оболочку спектра оператора B как выпуклую замкнутую кривую наименьшей меры, полностью охватывающую спектр оператора на β -плоскости. Доказывается, что если точка 1 находится вне выпуклой оболочки спектра, то можно построить сходящийся ряд простой итерации с новым

~

оператором B = f (B) . Дадим конструктивный способ построения такого сходящегося ряда. Примем:

46

~

 

 

 

r

 

 

 

 

 

=

B+kI

 

~

=

 

b

 

 

B

,

b

 

,

(5.3.3.1)

 

 

 

 

1+k

 

 

1+k

 

где k - комплексный параметр. Выбором k попробуем добиться сходимости ряда (5.3.1.2).

ПустьΩB - один из множества кругов радиуса r , полностью охватывающих спектр оператора B , так что точка 1 ΩB . Очевидно, что ΩB включает в себя выпуклую оболочку спектра. Век-

тор из начала β = 0 в центр этого круга обозначим k0 . При

дробно-линейном преобразовании (5.3.3.1)

с k = k0

круг ΩB пе-

реходит

в круг

 

Ω ~ с

центром в точке

β =0

и радиусом

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

~

 

r

 

. Если

 

 

 

~

 

<1,

то ряд (5.3.1.2) сходится. Найдем мини-

 

 

 

 

 

 

r

=

 

 

 

 

 

r

 

 

1+ k

0

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мум значения

 

 

. Пусть круг ΩB «виден»

из точки1 под углом

 

 

 

r

 

2α . Можно показать, что sin(α ) =

 

~

 

<1.

 

 

 

r

 

Таким образом, если ΩB такой круг, что точки1 ΩB и «ви-

димый» из точки 1 под наименьшим углом 2α , то комплексное расстояние до центра этого круга со знаком «- » есть оптимальный параметр для сходимости (5.3.1.2), а скорость сходимости ряда (5.3.1.2) не хуже, чем у геометрической прогрессии со знаменателем sin(α ) .

Сходимость каждого из трех рассмотренных в разделах 5.3.2 и 5.3.3 методов зависит от конкретного вида исходной матрицы, а точнее, от свойств её спектра. Можно привести примеры матриц (и они приведены ниже в упражнениях по теме), для которых сходится только один из трех методов для любого из них, однако комбинация метода Зейделя или Якоби с методом оптимального спектрального параметра (ОСП) позволяют добиться сходимости в случаях, когда каждый из этих методов по отдельности расходится.

47

Например, в задаче варианта 9 собственные числа матрицы B равны β1 = −4 , β2 = 6 и располагаются по разные стороны от

точки1 на прямой, проходящей через неё. В этом случае точка1 принадлежит выпуклой оболочке спектра и дробно-линейным преобразованием (5.3.3.1) нельзя добиться сходимости итерационного процесса. Собственные же числа матрицы Якоби равны Y1 = −2.3i , Y2 = 2.3i и точка 1 находится вне выпуклой оболоч-

ки спектра. То же самое можно утверждать и о спектре оператора Зейделя. Однако, непосредственное применение метода Якоби

или Зейделя не приведёт к успеху, т.к. Yi >1 . Заключая спектр Yi в кругΩY с центром в т. − 6 приходим к сходящемуся методу

Якоби – ОСП с параметром k = 6 . Для метода Зейделя - ОСП оптимальный параметр k =1 приводит к быстро сходящемуся процессу.

Наоборот, если матрица Якоби (оператор Зейделя) имеют спектр, выпуклая оболочка которого содержит т.1, то никакие модификации этих методов не приведут к сходящемуся процессу. Применение метода ОСП непосредственно к исходной матрице B может привести в этом случае к сходимости. Такова задача ва-

рианта №7, в которой Y1 = −1.5, Y2 =1.5, а β1 = −1.5 , β2 = 0.8 . Применение итерационных методов наиболее успешно в

том случае, когда спектр оператора B локализован в небольшой окрестности с центром в т. k0 вдали от т.1. Тогда применение ме-

тода ОСП с оптимальным параметром k = −k0 является самым

удачным среди одношаговых стационарных методов и приводит к быстро сходящемуся ряду простой итерации (Задачи вариантов

№ 1-6, 10-12).

Конечно, задача определения спектра матрицы в общем случае ничем не проще задачи решения СЛАУ прямыми методами. Однако, для ряда матриц оптимальный параметр k0 для метода ОСП находится весьма про-

сто через её коэффициенты (См. 5.3.4). Это не значит, что для любой матрицы такого типа можно построить сходящийся итера-

48

ционный процесс, но если можно добиться сходимости, то она наилучшая при k = k0 .

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

Если даже приходится исследовать спектр задачи для построения быстро сходящегося итерационного процесса то, однажды его построив, можно затем многократно использовать для расчетов с различными источни-

ками - правыми частями b .

Преимущества же быстро сходящихся итерационных процессов перед прямыми методами известны. Это:

количество арифметических операций m n2 (здесь m - число итераций), вместо n3;

отсутствие накопления ошибок в процессе итераций со сжимающим оператором;

пониженные требования к оперативной памяти ЭВМ.

Особенно эти преимущества заметны для задач с большими матрицами n >=1000 . Решение СЛАУ с n =1000 стандартным методом Mathcad на ЭВМ P-2 750Мгц занимает около 2 мин машинного времени, в то время как решение той же системы быстро сходящимся итерационным методом с m 10..20 требует всего около 1..2 сек.

5.4. Нахождение собственных векторов и собственных значе- ний матриц

Собственными векторами и собственными значениями матрицы A называются вектора и числа, удовлетворяющие соотношению: Ax = λx , причем собственный вектор определен с точностью до постоянного множителя.

49

В дальнейшем рассматриваются невырожденные матрицы, имеющие различные собственные значения Для нахождения собственных значений необходимо решить уравнение: det( A ) = 0 . Нахождение коэффициентов характеристического полинома:

det( A ) = (−1)n D(λ ) = (−1)n (λn + d1λn−1 + ... + dn )

непосредственным раскрытием определителя достаточно громоздко. В методе Крылова используется то, что подстановка в характеристический полином вместо переменной матрицы A да-

ет в результате нулевую матрицу: D( A) = O .

Это тождество

помножается слева на произвольный вектор y0 :

 

 

 

y

 

+ d y

 

+ ... + d

 

y

 

= 0 , где

r

 

r

 

,

n

n−1

n

0

y

k

= Ak y

0

 

1

 

 

 

 

 

 

то есть получается СЛАУ относительно коэффициентов характеристического полинома dk . Для определения собственных векторов вводится система полиномов

Ri (λ) = D(λ) = λn−1 + r1,iλn−2 + ... + rn−1,i ,

λ λi

Ri (λ j ) = 0 , если i j .

r

Учитывается, что собственные вектора xk линейно независимые,

то есть любой вектор можно представить в виде их линейной комбинации:

r

r

r

r

y0

= c1x1

+ c2 x2

+ ...cn xn .

Собственный вектор является линейной комбинацией векторов

r yk

и коэффициентов полинома Ri (λ) . Действительно:

r

 

 

r

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

yn−1

+ r1,i yn−2

+ ... + rn−1,i y0

=

 

 

 

 

 

 

 

 

c λ

n−1 r

+ c λ

n−1 r

 

+ ... + c

 

λ

n−1 r

+

 

 

 

x

2

x

 

n

n

x

n

 

 

1 1

1

 

2

 

2

 

 

 

 

 

 

 

 

 

 

+ r

 

(c λ

n−2 r

+ c

λ

 

n− 2 r

+ ... + c

 

λ

 

n−2 r

) +

 

 

x

2

x

2

n

n

x

n

1,i

1 1

1

2

 

 

 

 

 

 

 

 

 

 

....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

r

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

+ rn−1,i (c1x1

+ c2 x2

+

... + cn xn )

 

 

 

 

 

 

 

 

50

Коэффициенты при собственных векторах представляют собой c j Ri (λ j ) , которые все равны нулю кроме коэффициента с i = j ,

стоящего перед xi . То есть данная линейная комбинация является собственным вектором.

5.5.Примеры и задания к теме

5.5.1.Прямые методы решения СЛАУ

Пример, метод Гаусса:

Последовательно выбираются ведущие элементы. Преобразованная с помощью правила прямоугольника матрица записывается в следующую расширенную матрицу, подчеркнуты ведущие элементы:

1

 

1

−1

 

0

1 1 −1

 

0

 

 

 

 

 

 

 

 

 

 

1

 

7 0

−1

3

 

7

 

2

 

1

 

 

− 1 1

 

 

 

− 2

2

 

 

 

1

 

2

0

 

2

 

 

 

 

1

 

1

−1

 

0

1

1

 

 

− 1

 

0

 

 

 

 

 

 

 

 

0

 

1

− 3

 

− 7 0

1

 

 

− 3

 

− 7

 

 

 

 

 

0

− 4

 

 

 

 

0

1

 

3

 

 

 

 

0

 

 

−12

0

 

 

После чего с помощью обратного хода находятся компоненты вектора: x3 = 3, x2 = −7 − (−3)3 = 2 , x1 = 0 − 2 + 3 = 1.

Метод ортогонализации:

1

1

-1

 

0

 

 

 

 

 

 

2

1

1

 

7

 

-1

1

 

 

1

 

2

СЛАУ записывается в векторном представлении и выбирается первый вектор ортогональной матрицы R