Решение систем линейных уравнений
.pdf
Рис. 2.1. Блок-схема ПРЯМОГО ХОДА метода Гаусса
41
Рис. 2.2. Блок-схема ОБРАТНОГО ХОДА метода Гаусса
2.2.МЕТОД ХАЛЕЦКОГО
Метод Халецкого для решения систем линейных уравнений
Ax = b ,
|
a |
a |
K a |
x |
|
|
|
|
11 |
12 |
1n |
1 |
|
где A = |
a21 |
a22 |
K a2n |
x2 |
|
|
|
|
|
, x = |
K |
, |
|
|
K |
K |
K K |
|
||
|
|
|
|
|
|
|
|
|
|
an2 |
|
|
|
|
an1 |
K ann |
xn |
|
||
ai,n +1
a2,n +1
b = KK .
an,n +1
относится к точным методам.
Представим матрицу A в виде A=BC , где
42
b11 |
0 |
K 0 |
|
1 c12 |
|
||
|
|
|
|
|
|
|
|
b21 |
b22 |
K 0 |
|
0 |
1 |
K |
|
B = |
K K |
K K |
, |
C = K K K |
|||
|
|
|
|
|
|
|
|
|
|
bn2 |
|
|
|
0 |
0 |
bn1 |
K bn4 |
0 |
|||||
c24
K . 1
Рассмотрим для примера систему 4-х уравнений с четырьмя неизвестными, тогда
b |
0 |
0 |
0 |
|
|
1 |
c |
c |
c |
|
|
11 |
|
|
|
|
|
|
12 |
13 |
14 |
|
|
b21 |
b22 |
0 |
0 |
0 |
1 |
c13 |
c24 |
|
|
||
A = BC = b |
b |
b |
0 |
|
|
0 |
0 |
1 |
c |
|
= |
31 |
32 |
33 |
|
|
|
|
|
|
34 |
|
|
|
b42 |
b43 |
|
|
|
|
0 |
0 |
1 |
|
|
b41 |
b44 |
0 |
|
|
|||||||
b11
b21
=b31
b41
b11c12 |
b11c13 |
b11c14 |
|
b21c12 + b22 |
b21c13 + b22c23 |
b21c14 + b22c24 |
|
|
|||
b31c12 + b32 |
b31c13 + b32c23 + b33 |
b31c14 + b32c24 + b33c34 |
|
|
|||
b41c12 + b42 |
b41c13 + b42c23 + b43 |
|
|
b41c14 + b42c24 + b43c34 + b44 |
|||
Для системы n уравнений имеем: |
|
|
|
ai1 = bi1, i = 1, n |
|
||
a |
= b c |
, j = 2, n |
|
1 j |
11 1 j |
|
|
|
i−1 |
|
|
|
aij |
= ∑ bik ckj + bii cij |
для |
i < j |
|
|
k =1 |
|
|
|
|
j−1 |
|
|
|
|
|
|
|
|
|
= ∑ bik ckj + bij |
для |
i ≥ |
|
aij |
j |
|||
|
k =1 |
|
|
|
|
|
|
|
|
Тогда элементы bij и cij будут определяться по формулам
43
bi1 = ai1, |
|
|
|
|
|
j −1 |
|
|
|
|
|
|
|
|
(2.4) |
||
bij = aij − ∑bik ckj |
для |
i ≥ |
|||
j |
|
||||
k =1 |
|
|
|
|
и
|
|
|
a |
|
|
|
|
|
|
|
c1 j |
= |
|
1 j |
, |
|
|
|
|
|
|
|
b11 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
i−1 |
|
|
|
|
(2.5) |
|
|
1 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||
cij |
= |
|
|
aij − ∑ bik ckj |
для |
i < |
j |
|
||
bii |
|
|||||||||
|
|
|
k =1 |
|
|
|
|
|
||
Искомый вектор x может быть вычислен из цепи уравнений
|
|
|
By = b, |
|
Cx = y . |
|
|
||
Так как матрицы B и C треугольные, то системы легко решают- |
|||||||||
ся, а именно: |
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
y1 |
= |
1,n+1 |
, |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
b11 |
|
|
|
|
|
||
|
|
|
|
|
i−1 |
|
|
(2.6) |
|
|
|
1 |
|
|
|
||||
|
|
|
|
|
|
|
|||
yi |
= |
|
ai,n+1 |
− ∑ bik y k |
(i > 1) |
|
|||
bii |
|
||||||||
|
|
|
|
k =1 |
|
|
|
||
и
xn = y n , |
|
|
n |
|
|
|
||
xi = yi − ∑ cik xk |
||
(i < n) |
||
k =i+1 |
|
Из формул (2.4)–(2.6) видно, что числа yi выгодно вычислять вместе с коэффициентам cij . Эта схема вычислений называется схе-
мой Халецкого.
На рис. 2.3 представлена блок-схема алгоритма формирования матриц B и С, а на рис. 2.4 – блок-схема подсчета неизвестных xi
(i=1,…,n).
44
45
Рис. 2.3. Блок-схема формирования матриц B и С
Рис. 2.4. Блок-схема подсчета неизвестных xi (i = 1,…,n)
2.3.МЕТОД ПРОСТЫХ ИТЕРАЦИЙ
Метод итераций для решения систем линейных уравнений относится к итерационным методам, т.е. к методам последовательных приближений. Данный метод отличается простотой и легкостью реализации алгоритма, поэтому отличается малой ошибкой округления, но в то же время сходится только при выполнении некоторых условий.
Предположим, что в системе
46
a11 x1 + a12 x2 + K+ a1n xn = b1 |
|
||||||||||
|
|
|
|
|
+ K+ a2n xn = b2 |
|
|||||
a21 x1 + a22 x2 |
|
||||||||||
K |
|
|
|
|
|
|
|
|
|
(2.7) |
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
x + a |
n2 |
x |
2 |
+ K+ a |
nn |
x |
n |
= b |
n |
|
|
n1 1 |
|
|
|
|
|
|||||
коэффициенты aii ≠ 0 для всех i = 1, K, n .
Разрешим первое уравнение системы относительно относительно x2 и так далее.
Получим систему эквивалентную данной:
x1 = β1 + α12 x2 + α13 x3 + K + α1n xn |
|
|
|
||||||||||
|
|
= β 2 + α 21x1 + α 23 x3 |
+ K + α 2n xn |
|
|
|
|||||||
x2 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LLLLLLLLLLLLLLL |
|
|
|
|
|||||||||
x |
n |
= β |
n |
+ α |
x + α |
n2 |
x |
+ K + α |
n, n |
−1 |
x |
n −1 |
, |
|
|
|
n1 1 |
2 |
|
|
|
||||||
где
β i = |
bi |
|
, |
|
|
aii |
|
||||
|
|
|
|
||
|
0, |
|
для i = j, |
||
|
|
|
aij |
|
|
α ij = |
|
для i ≠ j |
|||
|
− |
|
|
||
|
|
aii |
|||
|
|
|
|
||
i = 1, 2, K, n, j = 1, 2, K, n.
Запишем систему (2.8) в матричном виде:
x1 , второе –
(2.8)
(2.9)
47
x = β + α x , |
(2.10) |
|
|
α |
|
α |
|
K α |
|
|
x |
|
|
|
α |
|
|
|
|
|
|
11 |
|
12 |
|
1n |
1 |
|
|
|
|
1 |
|
|
|
где α = |
|
α 21 |
α 22 |
K α 2n |
x2 |
|
β = |
α 2 |
|
. |
||||||
|
|
|
|
|
|
|
, x = |
K |
, |
K |
|
|||||
|
K K K K |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
α n1 |
α n2 |
|
|
|
|
|
|
|
α n |
|
|
|||
|
|
K α nn |
xn |
|
|
|
|
|
||||||||
Предположим, что известно грубое приближенное решение этой системы, обозначим его x 0 . Пусть это будет, например, столбец свободных членов x0 = β . Подставив это нулевое приближение в (2.10), вычислим новые значения
x1 = β + α x0 . |
(2.11) |
Это есть первая итерация. Далее x0 заменяется на x1 и вычисляется следующее приближение, и так далее: k-ое приближение будет вычисляться по формуле:
xk = β + α xk −1 |
(2.12) |
или в развернутом виде для системы (2.12) из n уравнений с n неизвестными ( aii ≠ 0 для всех i = 1, ..., n ) k-ое приближение будет зада-
ваться формулой:
n |
|
xik = β i + ∑α i, j x kj −1 , (i = 1, K, n ; k = 1, 2,K) ., |
|
j =1 |
|
Вообще говоря, если |
последовательность приближений |
x0 , x1, x 2 ,K, x k имеет предел |
|
x = |
lim x k , |
|
k →∞ |
то этот предел и есть решение системы.
48
На практике итерационный процесс прекращают, когда выполняется условие:
max |
x k |
− x k −1 |
< ε , |
|
i |
i |
|
где определяется максимальное |
значение разности для всех i, а |
||
ε –заданная точность. |
|
|
|
Условие сходимости метода итераций: модули диагональных коэффициентов матрицы A для каждого уравнения системы должны быть больше суммы модулей всех остальных коэффициентов, не считая свободных членов, т.е.
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
aii |
|
> ∑ |
aij |
для |
i = 1, 2, K, n |
|||||||
|
|
||||||||||||
|
|
|
j =1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
(i ≠ j ) |
|
|
|
|
|
|
|
|
|
|
или по-другому |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
∑ |
|
aij |
|
|||||
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
j=1 |
|
|
|
||||
|
|
|
max |
|
(i≠ j) |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
< 1. |
||
|
|
|
|
|
|
aii |
|
|
|||||
|
|
|
|
|
|
|
|||||||
|
|
|
i |
|
|
|
|
|
|
|
|||
На рис. 2.5 представлен блок проверки неравенства нулю диагональных элементов и блок проверки условия сходимости метода итераций для данной системы. На рис. 2.6 – блок подсчета коэффициентов βi и αij преобразованной системы (2.10). На рис. 2.7 – блок на-
хождения неизвестных системы (2.12), а значит и исходной системы
(2.7).
49
50
