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

Учебное пособие 1395

.pdf
Скачиваний:
5
Добавлен:
30.04.2022
Размер:
1.09 Mб
Скачать

l2

a

11

,

 

 

11

 

 

 

 

li1l11 ai1,

i 2,...,n,

l212 l222

a22,

 

li1l21 li2l22

ai2,

i 3,...,n,

...

 

 

 

 

 

lk12

lk22

... lkk2 akk,

li1lk1 li2lk2 ... liklkk aik,

i k 1,...,n.

Решая данную систему, последовательно находим:

l11

 

 

,

 

 

a11

 

 

li1 ai1 l11 ,

i 2,...n,

 

l22

 

a22 l212

,

 

li2 (ai2 li1l21) l22 ,

i 3,...,n,

...

 

 

 

 

 

lkk

 

akk lk12

lk22 ... lk,k2

1,

 

lik

(aik li1lk1

li2lk2 ... li,k 1lk,k 1) lkk ,

i k 1,...n,

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

Пример. Решить методом квадратных корней систему

6.25x1

 

x2

 

0.5x3

7.5,

x1

 

5x2

2.12x3

8.68,

0.5x1

2.12x2

 

3.6x3

0.24.

Найдем коэффициенты матрицы L:

21

l11

a11

6.25 2.5,

l21

a21

l11 1 2.5 0.4,

l

 

l

 

 

l

0.5

2.5 0.2,

l

 

 

 

a

 

l2

 

 

2.2,

31

31

22

22

5 0.16

 

 

 

11

 

 

 

 

 

 

 

 

21

 

 

 

l32 (a32

l31l21)

l22 (2.12 0.2 ( 0.4)) 2.2 1,

 

 

l33

 

a33 l312 l322

 

3.6 0.22

 

12

1.6.

 

 

 

 

 

 

 

Следовательно, матрица L имеет вид:

 

 

 

 

 

 

 

 

 

 

 

 

2.5

 

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L 0.4

 

 

 

 

0 .

 

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

 

1

 

1.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запишем систему LY B с учетом найденной матрицы

L и заданной матрицы B:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5y1

 

 

 

 

 

7.5,

 

 

 

 

 

 

 

 

 

0.4y1 2.2y2

 

 

 

 

8.68,

 

 

 

 

 

 

 

 

 

 

0.2y1

y2

1.6y3

0.24.

 

 

 

 

 

Решая ее, получим y1 3,

 

 

y2 3.4,

y3 1.6.

 

 

 

Запишем систему LTX Y :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5x1 0.4x2

0.2x3

3,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2x2

 

x3

3.4,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6x3 1.6,

 

 

 

 

находим решение x1 0.8,

 

x2 2,

 

x3 1.

1.2.7. Метод прогонки

Еще одним методом, предназначенным для решения систем линейных уравнений с матрицами специального вида, является метод прогонки. Он эффективно применяется для решения систем с разреженной трехдиагональной матрицей вида

22

b1x1 c1x2

d1,

a2x1 b2x2 c2x3

d2,

. . .

an 1xn 2 bn 1xn 1 cn 1xn dn 1,

 

anxn 1 bnxn dn.

На главной диагонали

матрицы этой системы стоят

элементы b1,b2,...,bn , над ней — элементы c1,c2,...,cn 1, под ней — элементы a2,a3,...,an . Остальные элементы матрицы

равны нулю.

Как и метод Гаусса, метод прогонки включает в себя два этапа: прямой ход и обратный ход.

Прямой ход метода прогонки состоит в вычислении

прогоночных коэффициентов Ai

и Bi по следующим

формулам:

 

c1

 

 

 

 

d1

 

 

A

,

B

,

 

 

 

1

 

b

1

 

b

 

 

1

 

 

 

1

 

 

Ai

ci

,

Bi

di aiBi 1

,

ei

 

 

 

 

 

 

 

 

ei

ei aiAi 1

bi,

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

Обратный ход состоит в последовательном вычислении неизвестных xi , начиная с xn :

xn dn anBn 1 ,

bn anAn 1

xi Aixi 1 Bi,

i 1,...,n 1.

По сравнению с методом Гаусса метод прогонки требует выполнения меньшего числа арифметических операций и меньшего объема памяти для хранения элементов матрицы.

Пример. Используя метод прогонки, решить систему уравнений

23

 

 

 

 

 

 

 

5x1 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x1 4.6x2

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.3,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x2 3.6x3

0.8x4

2.6,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3x3 4.4x4

7.2.

 

 

 

 

 

 

 

 

 

 

 

Прямой ход. Вычислим прогоночные коэффициенты:

 

 

 

 

 

 

A

 

c1

 

 

1

 

1

,

 

 

 

 

 

 

 

 

B

d1

 

2

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

b

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

2

 

 

a

2

A

b

2

2

4.6 5,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

a

 

 

 

 

B

 

 

 

3.3 2

 

 

1

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

A2

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

B2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

5

 

 

 

,

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e2

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

e3 a3A2

 

b3

2

3.6 4,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

c3

 

 

 

0.8

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d3 a3B2

 

 

 

 

 

2.6 2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

A3

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

B3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

e3

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e3

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

Обратный ход:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

a

 

 

B

 

 

 

 

 

 

 

 

7.2 3

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

4

 

 

 

4

 

4

3

 

 

 

5

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

4

A

3

 

 

 

 

 

 

4.4 3

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 A3x4

B3

 

1

 

6

 

2

 

16

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

5

5

 

 

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 A2x3

B2

 

 

1

 

16

 

1

 

 

 

0.628,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

1

A x

2

 

B

 

 

1

0.628

2

 

 

0.5256.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

1.3. Итерационные методы решения систем линейных уравнений

1.3.1. Определение сходимости итерационных методов по норме матрицы коэффициентов

Норма матрицы – это некоторая скалярная числовая характеристика, которую ставят в соответствие матрице.

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

1) первая норма квадратной матрицы A { ij}

A

l

max

ij

,

 

 

j i

 

 

2) бесконечная норма квадратной матрицы А

 

A

 

i

max

ij

,

 

 

 

 

 

 

i

j

 

 

 

 

 

3) евклидова норма квадратной матрицы А

A

 

 

 

e

 

 

ij

 

2 .

 

 

 

 

 

 

 

 

 

 

 

 

i j

 

 

 

 

Для сходимости итерационных методов к единственно правильному решению необходимо, чтобы хотя бы для одной нормы выполнялось условие A 1.

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

Метод простой итерации является наиболее простым и известным итерационным методом решения систем линейных уравнений.

Для того чтобы применить метод простой итерации к решению систем уравнений AX B, необходимо преобразовать ее к виду

X X .

25

Самый простой способ приведения системы к виду, удобному для итераций, состоит в выделении диагональных элементов. Для этого из первого уравнения выразим x1, из второго - x2 и т.д. В результате получим систему

x1

12x2

13x3

... 1nxn

1,

x2

21x1

 

23x3

... 2nxn 2,

 

 

 

...

 

 

xn

n1x1

n2x2

n3x3

...

n ,

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

 

ij aij /aii , i

bi /aii ,

 

 

i, j 1,...,n, i j,

aii

0.

 

Перед решением системы уравнений методом простой

итерации

выберем

начальное

приближение

X(0) (x1(0),.x2(0),..,x(n0)).

Подставляя

его в

правую часть

системы уравнений, приведенной к виду, удобному для итераций, находим первое приближение

X(1) X(0) .

Подставляя найденное значение, получим следующее

приближение X(2) и т.д. В общем виде вычисления выполняются по формуле

X(k) X(k 1) ,

где k 1,2,... - номер итерации.

В развернутой форме записи эта формула выглядит так:

x(k 1)

 

11

x(k)

12

x

(k)

...

1n

x(k)

,

1

 

1

 

2

 

n

1

x(2k 1)

21x1(k) 22x2(k) ... 2nx(nk) 2,

 

 

 

 

 

...

 

 

 

 

x(nk 1)

n1x1(k) n2x(2k) ... nnx(nk) n.

В качестве критерия окончания итерационного процесса часто используется критерий

26

X(k) X(k 1)

,

где - требуемая точность вычислений.

Пример. С помощью метода простой итерации найдем решение системы уравнений с точностью 0.001

4x1

x

2

 

x3 4,

2x1

6x

2

 

x3 7,

x1 2x2 3x3 0.

Приведем систему уравнений к виду, удобному для итераций. Для этого выразим неизвестные x1, x2 , x3 из

первого, второго и третьего уравнений, соответственно. Значения коэффициентов будет округлять до 3 знаков после

запятой:

 

x1

0.25x2 0.25x3 1,

x2 0.333x1

0.167x3 1.167,

x3 0.333x1 0.667x2.

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

свободных коэффициентов уравнений X(0) {1, 1.167, 0}. Подставим эти значения в уравнения для поиска следующего приближения:

x

(1)

 

0.25 1.167 0.25 0 1

1.292,

 

1

 

 

 

x

(1)

0.333 1

0.167 0 1.167 0.834,

 

2

 

 

 

x3(1)

0.333 1 0.667 1.167

1.111.

Далее подставим в систему уравнений вместо x1, x2 ,

x3 найденные значения x1(1) , x(21) , x(31) , получим значения неизвестных x1(2), x(22), x(32) и т.д. Для удобства занесем результаты вычислений в табл. 3.

27

Таблица 3

X

 

 

 

Номер итерации

 

 

 

0

1

2

3

4

5

6

7

8

9

x1

1.000

1.292

0.931

0.984

1.024

0.996

0.998

1.002

1.000

1.000

x2

1.167

0.834

0.921

1.021

0.993

0.993

1.002

1.000

1.000

1.000

x3

0.000

1.111

0.986

0.924

1.009

1.003

0.994

1.000

1.000

1.000

Как видно из таблицы, решение достаточной дочности получено на 9-й итерации, поскольку выполнилось условие xi(k) x(ik 1) для всех неизвестных xi .

1.3.3. Метод Гаусса-Зейделя

Метод Гаусса-Зейделя является модификацией метода простой итерации. Основной смысл модификации заключается

в том, что при вычислении очередных значений x(ik)

используются не x(ik 1) , а уже найденные на текущей итерации значения x(ik) .

В формализованном виде метод Гаусса-Зейделя записывается следующим образом:

x

(k 1)

 

 

x

(k)

 

12

x(k) ...

x

(k)

,

 

 

 

1

11

1

 

 

2

1n

 

 

n

 

1

 

 

x2(k 1)

21x1(k 1)

22x(2k) ... 2nx(nk) 2,

 

 

 

(k 1)

 

 

 

(k 1)

...

 

 

 

(k 1) ...

 

 

 

(k)

 

 

x

 

 

x

 

n2

x

nn

x

n

.

 

n

 

n1

1

 

 

 

2

 

 

 

n

 

Таким образом, при вычислении

x

(k 1) используются

 

 

 

 

 

 

 

 

x2(k),...,x(nk) ,

 

1

 

 

 

 

 

значения

неизвестных

 

 

 

 

 

полученные на

предыдущей итерации. Для определения x(2k 1) берется уже найденное на текущей итерации значение x1(k 1) и неизвестные

28

x(3k),...,x(nk) , вычисленные на предыдущем шаге. Для

нахождения значения x(nk 1) подставляются уже полученные

величины x1(k 1),...,x(nk 11).

По сравнению с методом простой итерации метода Гаусса-Зейделя обладает более высокой скоростью сходимости, т.е. позволяет получить решение за меньшее число итераций.

Пример. Решить систему уравнений из предыдущего примера с помощью метода Гаусса-Зейделя.

Перепишем систему, уже приведенную к виду,

удобному для итераций:

 

x1

0.25x2 0.25x3 1,

x2 0.333x1

0.167x3 1.167,

x3 0.333x1 0.667x2.

Вкачестве начального приближения будем использовать вектор свободных коэффициентов уравнений

X(0) {1, 1.167, 0}. Произведем

вычисления

неизвестных,

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

x

(1)

 

0.25 1.167 0.25 0 1

1.292,

 

1

 

 

 

 

x

(1)

0.333 1.292

0.167 0 1.167 0.736,

 

2

 

 

 

 

x

(1)

 

0.333 1.292 0.667 0.736

 

0.921.

 

3

 

 

 

 

Здесь при вычислении x1(1) использовались значения x(20) и x3(0) . Для нахождения x(21) подставили неизвестные x1(1) и x3(0) . При определении x3(1) брали величины x1(1) и x(21) .

Занесем данные вычислений в табл. 4.

29

 

 

 

 

 

 

 

Таблица 4

 

 

 

 

 

 

 

 

 

X

 

 

Номер итерации

 

 

 

0

1

2

3

4

5

6

 

x1

1.000

1.292

0.954

1.004

0.999

1.000

1.000

 

x2

1.167

0.736

1.002

0.996

1.000

1.000

1.000

 

x3

0.000

0.921

0.986

0.999

1.000

1.000

1.000

 

Как видно из таблицы, решение с необходимой точностью получено уже на 6 итерации.

Контрольные вопросы

1.На какие группы делятся численные методы для решения систем линейных уравнений? Какие преимущества и недостатки есть у каждой группы методов?

2.В чем заключаются метод Крамера и метод обратной матрицы? Какие недостатки есть у этих методов?

3.Из каких этапов состоит метод Гаусса? В чем они заключаются? Какие модификации есть у метода Гаусса?

4.Как можно использовать метод Гаусса для вычисления определителей и обратных матриц?

5.Какие методы существуют для решения систем уравнений с матрицами специального вида?

6.Какие итерационные методы применяются для решения систем линейных уравнений? Чем они отличаются?

Задания для самостоятельной работы

Решить систему линейных уравнений с помощью метода Гаусса:

2x1 x2 0.1x3 3.7,

1.1.0.4x1 0.5x2 4x3 13.4,0.3x1 x2 x3 1.3.

30