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

ВМ методичка с сдо

.pdf
Скачиваний:
2
Добавлен:
06.02.2025
Размер:
2 Мб
Скачать
☆

43

Рассмотрим сначала прямые методы. Наиболее известным является метод Гаусса, поскольку другие методы являются, как правило, его модификацией.

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

Количество операций для решения системы ~ n3 . Матрица A либо неявно обращается, либо представляется в виде произведения матриц удобных для обращения.

В первом случае матрица Aпоследовательно преобразуется с помощью элементарных (эквивалентных) преобразований:

1.Перестановка столбцов и строк.

2.Умножение столбцов и строк на число.

3.Прибавление к строке (столбцу) другой строки, умноженной на число. Каждое элементарное преобразование можно представить в виде матри-

цы Li , в результате последовательного умножения A на Li , она преобразуется в единичную матрицу:

Ln..L2L1A x Ln..L1b

5.2.1. Метод Гаусса (Метод исключений)

Формально, метод Гаусса основан на последовательном применении мат-

риц

 

 

1

0

0

 

 

 

 

a

 

 

 

 

 

 

 

 

1

 

 

 

 

0

lii

0

 

; lii

; lij

ij

 

Li

 

aii

(5.2.1.1)

aii

 

 

0

l

0

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

0

lni

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример для матрицы (3 3):

44

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a111

0 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11

a12

 

 

a13

 

 

 

 

 

 

a21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

 

a21

a22

a23

 

a11

 

 

 

 

 

 

 

 

a32

 

 

 

 

 

 

 

 

 

 

 

a31

0

1

 

a31

 

 

a33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a12

 

 

 

 

 

a13

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a11

 

 

 

 

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

a

 

 

a

21

a

 

 

 

 

0 a22

 

12

 

21

 

 

a23

 

 

 

13

 

 

a11

 

 

 

 

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a12 a31

 

 

 

 

a13 a31

 

 

0 a

 

 

a

 

 

 

 

 

 

32

 

 

a11

 

 

 

33

 

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие матрицы Li

преобразуют элементы i -го столбца матрицы A

ниже диагонали в нулевые (т.е. исключают их).

5.2.2.Вычислительная схема метода Гаусса

Вкаждом уравнении выделяется ведущий элемент, на который производится деление; пусть это будет a11. Делим первое уравнение на a11:

 

a1 j

 

 

b

c1 j

 

g1

 

1

a11

a11

 

 

 

Все остальные элементы преобразуются по схеме:

a

1 a a

 

 

a1 j

;

b 1 b a

 

b1

 

i1

a

(5.2.2.1)

a

 

ij

ij

 

 

i

i i1

 

 

 

 

 

11

 

 

 

 

11

 

x1 c12 x2 ... c1n xn

 

a221 x2

... a21n xn

 

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

 

 

 

 

a 1 x

... a 1 x

 

n2 2

nn n

g1

b21

bn1

45

На втором шаге ведущим элементом выбирается a22(1) , на него делится вторая строка, а все остальные элементы преобразуются по формуле:

c

c21j

 

; g

b21

;

 

 

 

a 1

 

a 1

 

 

2 j

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

22

 

 

22

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(5.2.2.2)

aij2 aij1 ai12

a21j

 

; bi 2 bi1 ai12

b21

;

 

 

 

 

a 1

 

 

 

 

 

a

1

 

 

22

 

 

 

 

 

 

22

 

Элементы во втором столбце с i 2 становятся равны 0. В результате таких преобразований, мы приходим к верхней треугольной матрице с единичной диагональю:

 

1

c12 ...

 

0

1 ...

 

... ... ...

 

 

 

 

0

0 ...

 

c1n c2n

...

1

 

 

x1

 

 

g1

 

 

 

 

 

 

 

 

 

 

x2

 

 

g2

 

 

...

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

gn

 

Преобразование к верхней треугольной матрице называется прямым хо-

дом.

Далее следует обратный ход: начиная с xn , последовательно вычисляются компоненты вектора:

xn gn ; xn 1 gn 1 cn 1,n xn ;

 

n

 

xk gk

cki xi , k n, n 1, ,1.

(5.2.2.3)

 

i k 1

 

В машинных расчетах в качестве ведущего элемента обычно выбирается

максимальный элемент i - го столбца с

j i или строки aij с i j .

 

Эта строка (или столбец) переставляются на место i -ой строки (столбца). Такой выбор уменьшает ошибки округления. При ручных расчетах элементы

46

матрицы записываются вместе с элементами вектора b в расширенную матрицу:

a

a

a

 

b

 

 

 

 

11

12

13

 

1

 

 

a21

a22

a23

 

b2

 

далее

 

a32

a33

 

b3

 

 

a31

 

 

 

из соображений удобства выбирают ведущий элемент, а преобразование остальных элементов на одном шаге прямого хода метода Гаусса проводят по правилу прямоугольника. В матрице выделяется прямоугольник, на главной диагонали которого расположены ведущий и преобразуемый элементы.

Пусть aii - ведущий элемент, тогда

a(1)

a

kt

 

akiait

.

(5.2.2.4)

 

kt

 

 

aii

 

 

 

 

 

 

Из преобразуемого элемента вычитается произведение элементов, стоящих на побочной диагонали, деленное на ведущий элемент.

5.2.3. Ортогонализация матриц

 

 

 

 

 

Матрица называется ортогональной, если A AT

D

, D - диаго-

нальная матрица, т.е. в ней отличны от нуля только диагональные элементы,

если A AT E , то A - ортонормированная матрица. Любая неособенная

матрица A может быть представлена в виде: A R T ,

R - ортогональная, а T

– верхняя треугольная матрица с единичной диагональю.

 

 

 

 

 

 

 

 

 

 

Рассмотрим матрицу А, как набор вектор – столбцов ai ,

A [a1

 

a2

 

an ] -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вектора ai - линейно независимы, т.к. det A 0. Выберем первый столбец

 

 

 

 

 

 

 

 

матрицы R

- r1, равным a1

; ri

a1.

 

 

 

 

 

 

 

 

0 позволяет по-

Запишем a2

t12r1

r2 ,

условие ортогональности R r1

, r2

лучить t12 :

47

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

, t

 

 

r , a

 

 

,

 

r , a

2

 

r , r

 

1

2

 

 

1

 

 

12

 

1

 

1

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r1, r1

 

следовательно, известен и вектор r2

a2

t12r1. Аналогичным образом пред-

 

 

t23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ставляется и a3

t13 r1

r2

r3, где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

t

r1, a3 ,

t

23

 

r2

, a3

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r1

, r1

 

 

 

 

r2

, r2

 

 

 

 

В общем случае получим выражения:

k 1

rk ak tik i 1

Покажем, что tik - элементы матрицы Т.

 

 

 

 

a1

r1

 

 

 

 

 

a2

t12 r1

r2

, или иначе:

 

 

 

a3

t13 r1

t23 r2

r3

 

 

 

 

 

 

 

ri , tik

 

ri , ak

.

(5.2.3.1)

 

 

 

 

 

ri

, ri

 

 

Действительно:

a11

a21

a31

a12

a13

 

 

r11

r12

r13

 

 

1

t12

t13

 

a22

a23

 

 

 

r22

r23

 

 

 

0

1

t23

 

 

 

r21

 

 

 

 

a

a

 

r

r

r

 

0

0

1 .

32

33

 

 

31

32

33

 

 

 

 

.

 

 

.

.

.

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.2.4. Решение системы уравнений методом ортогонализации

Оптимальной является следующая схема, основанная на свойствах векто-

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

ра r . Запишем систему

A x

b

в виде: a1

x1 a2

an xn

b

 

 

 

 

 

 

0, (i>j).

 

 

 

Из структуры векторов r

 

следует, что ri , a j

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

Умножаем систему слева на rn :

rn a1

a2

x2 an xn rn b

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в уравнении остается одно слагаемое: rn

an

xn

 

rn b .

 

 

48

 

 

 

 

 

 

rn , b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rn

, an

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

b

(1)

a

x

a

n 1

x

n 1

b

a

 

n

 

 

 

 

b

 

 

 

 

1 1

 

 

 

 

 

 

n r a

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

Полученную систему умножим на rn 1, находим

 

r , b n i

 

 

 

 

 

 

 

 

 

xi

i

 

;

b i b i 1

 

ri , ai

 

 

 

xn 1и вычисляем

n i 1 n i 1

x a .

b 2 и т.д.

(5.2.4.1)

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

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

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

 

 

 

 

x

Bx

b

(5.3.1.1)

 

 

 

 

Здесь x - неизвестный вектор, b - заданный вектор правой части, B - за-

данная матрица коэффициентов (оператор). Например, если задана СЛАУ (5.1), то непосредственно принимая

 

B I A,

 

 

(5.3.1.2)

где I - единичная матрица, приходим к (5.3.1.1).

 

 

 

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

 

 

 

 

 

k 0,1,2,...

 

 

x(k 1)

Bx

(k ) b ,

 

(5.3.1.3)

 

 

 

 

 

 

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

x

(o) b .

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

49

ре как метод Ричардсона. Другие методы простой итерации будут рассмотрены в разделе 5.3.2.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x b Bb B2b

... Bib

(5.3.1.4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

 

 

Если матрица B постоянна (не зависит от номера итерации k ), то такой

итерационный процесс называется стационарным.

 

 

Пусть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x - «гипотетическое» точное решение, строго удовлетворяющее

 

 

 

 

 

 

 

(k) x(k) x - ошибка на k -м шаге. Подставляя в фор-

x Bx b , а x

мулу простой итерации получаем для соотношения ошибок на

k 1 и k -м

 

 

 

(k 1)

 

 

 

 

 

(k)

.

 

Для

 

 

 

 

 

 

 

 

 

нормы

ошибки:

шаге x

 

 

B x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

B

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(k 1)

 

 

 

 

 

 

 

x(k )

 

 

 

 

 

 

 

x(1)

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отсюда следует достаточное условие сходимости процесса простой итерации:

B , 1.

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

 

 

 

 

 

 

 

 

B

 

k

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(k 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

x(1)

 

 

 

 

 

 

x(1)

 

 

 

 

 

 

x(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор с

 

 

 

 

 

B

 

 

 

 

 

1 называется сжимающим, а процесс (5.3.1.2),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

незави-

симо от её начальной величины.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Спектральным радиусом матрицы (конечномерного оператора)

B назы-

вается (B) max

 

i

 

, где

 

i - собственные числа оператора B (см. 5.4).

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказывается, что необходимым и достаточным условием сходимости

процесса простой итерации (5.3.1.3) является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(B) < 1,

(5.3.1.5)

50

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

Условие (5.3.1.5) является, как правило, сильным ограничением при

непосредственном применении метода (5.3.1.2), (5.3.1.3) к заданной СЛАУ.

~

Выбор нового оператора B с другим спектром при эквивалентности исходной

системе (5.1) может значительно расширить область сходимости процесса про-

стой итерации с его участием:

 

 

 

 

 

 

 

~

 

 

 

(k 1)

~

k 0,1,2,...

 

x

Bx

(k ) b

,

(5.3.1.6)

В качестве условия выхода из вычислительного процесса по достижении заданной точности решения , аналогично (3.5.1), можно принять:

 

 

 

 

 

1 q

 

 

 

 

 

x

(k 1) x(k )

 

 

 

, где q спектральный радиус B или какая-либо оценка

 

 

q

 

 

 

 

 

 

другой нормы B .

 

 

 

 

 

 

 

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

 

 

Исторически одними из самых ранних итерационных методов являют-

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

 

 

1

 

 

 

 

 

x1 a11 (b1 a12 x2 a13x3 ... a1n xn )

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

xi

 

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

 

 

 

 

aii

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

(b a x a x

... a x

 

x

 

)

 

 

n

 

 

 

 

 

n n1 1 n2 2

nn 1 n 1

 

 

 

 

ann

 

 

51

Используем (5.3.2.1)

для построения

процесса

итераций,

начиная с

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

x(0) b при k 0

 

 

 

 

 

 

 

 

 

 

 

xi(k 1)

1

 

(b a

x(k) ... a

 

x(k)

a

 

x(k) ... a

x(nk))

 

 

 

 

 

 

 

 

 

 

i

i,1

1

 

 

i,i 1

i 1

i,i 1

i 1

i,n

 

 

 

 

ai,i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1,2,...,n.

 

 

 

 

 

 

 

 

 

 

(5.3.2.2)

В матричных обозначениях метод Якоби можно записать следующим об-

разом.

Представим

 

C D A,

где

 

 

D -

диагональная

матрица,

D

A

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

D

 

0,i j .

C - матрица с нулевой главной

i,i

i,i

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

диагональю. Тогда справедлива запись уравнения аналогично (5.3.1.6), где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

D 1C ,

 

~

 

 

 

 

 

 

 

 

 

 

 

B

 

b D 1b

 

 

(5.3.2.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Матрица D 1-

диагональная и

D 1

1 A

, i 1,2,...,n. Необхо-

 

 

 

 

 

 

 

 

 

 

i,i

 

 

i,i

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

(D 1(D A)) 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

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

B строит-

ся на основе матрицы с нулевой главной диагональю - это метод Зейделя. Он

 

 

 

 

 

 

 

 

 

 

 

 

отличается от метода Якоби тем, что при расчете

координат вектора x(k 1) на

текущей k 1-й

итерации

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

предыдущей k -й итерации

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

рации координаты вектора x(k 1) :

 

 

 

 

 

xi(k 1)

1

 

(b a

x(k 1)

... a

x(k 1) a

x(k)

... a

x(nk))

 

 

 

 

 

i

i,1

1

i,i 1

i 1

i,i 1

i 1

i,n

 

 

ai,i

 

 

 

 

 

 

 

 

i 1,2,...,n.

k 0,1,2,...:

 

 

 

(5.3.2.4)

В матричных обозначениях это соответствует представлению исходной

матрицы A как

A L D U , где L -нижняя треугольная матрица, D -

 

52

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

матрица.

~

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

~ (k )

D

1

(k 1)

D

1 (k )

(5.3.2.5)

Bx

 

Lx

Ux

и процесс его воздействия (но не результат!) нельзя свести к воздействию ка- кой-либо матрицы на вектор предыдущей итерации.

Метод Зейделя хорошо алгоритмизируется. Если известна скорость схо-

 

 

 

 

 

 

 

 

 

(k ) .

димости метода, нет необходимости хранить оба вектора x(k 1) и

x

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

диагональное преобладание в матричных элементах:

 

 

 

 

 

 

, q 1,

для всех i 1,2,...,n,

 

 

q

 

a

 

a

 

 

 

 

 

 

 

 

i,i

 

j i

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Рассмотрим случай, когда спектр оператора B выходит за границы единичного круга на комплексной -плоскости собственных чисел. В этом случае ряд простой итерации (5.3.1.3) расходится.