Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительная математика.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
3.89 Mб
Скачать

A A1 . Произведение A A1 играет очень важную роль и называется числом

обусловленности матрицы А (по отношению к используемой норме); это число мы будем обозначать cond(A). Матрицы, у которых значение cond(A) велико, являются плохо обусловленными, а матрицы, у которых значение cond(A) мало, хорошо обусловленными (отметим,

что cond(A) 1).

Неравенство (18) нужно правильно интерпретировать. Если число обусловленности матрицы А мало, скажем близко к 1, то малые относительные изменения данных обязательно приводят лишь к малому изменению решения. С другой стороны, если число обусловленности велико, то малые изменения в данных могут привести к большому изменению решения, но это происходит не обязательно, а в зависимости от конкретного возмущения. На практике влияние большого числа обусловленности зависит от точности данных и длины слова используемого компьютера. Если, например, cond(A) = 106, то может быть потеряно 6 десятичных знаков, что на калькуляторе с длиной слова, эквивалентной восьми десятичным знакам, может оказаться катастрофой, а в то время как на компьютере с длиной слова в 16 десятичных знаков это может и не вызвать никаких серьезных проблем.

4.3 Итерационные методы решения систем линейных алгебраических уравнений. Метод простых итераций и метод Зейделя

4.3.1 Основные понятия

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

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

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

130

4.3.2 Метод простой итерации. Описание метода

Рассмотрим систему линейных уравнений

Ax = b ,

 

 

 

 

 

 

 

 

 

 

 

 

(1)

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

a

 

 

 

x

 

 

 

b

 

A =

11

 

 

1n

,

x

 

1

 

,

1

 

 

=

b

=

 

a

n1

a

 

 

 

 

x

n

 

 

 

b

 

 

 

 

 

nn

 

 

 

 

 

 

n

 

с неособенной матрицей А. Пусть каким-то образом система (1) приведена к виду

x = Cx + f .

 

 

 

 

 

 

 

 

 

 

 

(2)

О способах приведения будет сказано ниже. Исходя из произвольного вектора x(0)

 

x(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

(0)

x(0)

 

 

 

 

 

 

 

 

 

 

 

 

x

=

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

xn

 

 

 

 

 

 

 

 

 

 

 

 

строим итерационный процесс (метод последовательных подстановок)

x(k+1)

= Cx(k) + f

(k = 0,1, 2, )

(3)

или в развернутом виде

x(k+1)

= C x(k) +C x(k) + +C x(k) + f ,

1

 

11 1

12

2

1n n

1

 

 

 

 

 

 

 

 

 

 

 

x(k+1)

= C

x(k) +C

n2

x(k) + +C

x(k) + f

.

n

 

n1 1

2

 

nn n

n

 

Начальный вектор x(0) может быть выбран, вообще говоря, произвольно (часто берут x(0) = f ), однако наиболее целесообразно в качестве x(0) взять приближенное значение, полученное грубой прикидкой.

4.3.3 Некоторые сведения о векторах и матрицах

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

Рассмотрим конкретные нормы вектора. Наиболее часто применяются следующие нормы векторов:

1. Кубическая норма

x I =maxi xi

131

названа так из-за того, что множество точек действительного пространства, удовлетворяющих условию x I 1, образует единичный куб

1 xi 1 (i =1, ,n) .

2. Октаэдрическая норма

x

 

 

 

 

n

 

 

 

II

=

 

xi

 

.

 

 

 

 

 

 

 

 

 

i=1

Название связано стем, что множество векторов, для которых xII =≤1, образует n-

мерный аналог октаэдра.

3. Сферическая или евклидова норма

1

x III = in1 xi 2 2 .

=

Множество векторов, для которых xIII =≤1, образует в n-мерном пространстве шар

единичного радиуса.

Нетрудно проверить, что аксиомы нормы выполняются.

Определение общей или абстрактной нормы матрицы было дано в предыдущем параграфе. Конкретные нормы матрицы А введем аналогично нормам векторов:

n

A I =maxi j=1 aij

n

A II =maxj i=1 aij

Говорят, что норма матрицы А согласована с нормой вектора, если для всякого вектора x размерности n

Ax Ax .

Сходимость матричной геометрической прогрессии

Известно, что при

 

a

 

<1 1+ a + a2 + + am + =

1

.

 

 

 

 

1a

Рассмотрим

 

 

 

E +A + A2 + + Am +

 

(4)

Справедлива

 

 

Теорема. Если какая-либо из норм матрицы А меньше единицы, то прогрессия (4) сходится. У матрицы Е–А сущетсвует обратная и

E +A + A2 + + Am + = (E A)1.

132

4.3.4 Условия и скорость сходимости метода простой итерации

Теорема. Для того, чтобы последовательность (3) приближений x(k) в методе простой итерации сходилась, достаточно, чтобы какая-либо норма матрицы С была меньше единицы.

Теорема. Последовательность (3) сходится, если для матрицы С

n

 

 

 

 

 

Cij

≤ α <1

(i =1,2, ,n)

(5)

j=1

 

 

 

 

 

n

 

 

 

 

 

Cij

 

≤ β <1

( j =1,2, ,n)

(6)

i=1

 

 

 

 

 

Точное решение системы получается лишь в результате бесконечного процесса и

всякий вектор x(k) из полученной последовательности является приближенным решением:

 

x = lim x(k) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k→∞

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оценка погрешности этого приближенного решения x(k) дается формулой

 

x

 

x(k)

 

α

 

 

 

 

max

 

x(k) x(k1)

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

i

 

 

1−α

j=1,2, n

 

 

 

j

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если выполнено условие (5) и

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x(k)

 

β

 

 

 

 

max

 

 

x(k) x(k1)

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

i

 

 

1−β j=1,2, n

 

 

 

 

j

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если выполнено условие (6).

 

 

 

 

 

 

 

 

 

 

 

 

Эти оценки можно еще усилить

 

 

 

 

max

 

x x(k)

 

 

 

 

 

α

max

 

x(k) x(k1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

 

 

1

−α

 

 

 

i

i

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

xi xi(k)

 

 

 

 

β

 

n

 

xi(k) xi(k1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

1−β i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

4.3.5 Приведение системы (1) к виду (2)

Его можно осуществлять различными способами, важно только, чтобы выполнялось одно из условий (5) или (6). Рассмотрим один из способов.

Если диагональные элементы матрицы А отличны от нуля, т.е. aii 0 (1,2, ,n) , то

133

систему (1) можно записать в виде

 

 

 

x

=

 

1

(b

a x

− −a x

 

),

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

12 2

 

1n n

 

 

 

 

 

 

1

 

 

a11

 

 

 

 

 

 

 

 

 

 

 

 

(b2 a21x1 a23x3 − −a2n xn ),

= a22

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

=

 

 

1

(b a

x − −a

 

x

 

 

).

 

n

 

 

nn1

n1

 

 

 

 

 

 

 

 

 

ann

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В этом случае элементы матрицы С определяются следующим образом:

Cij = −

aij

(i

j), Cii = 0

aii

 

 

 

и тогда условия (5), (6) имеют вид:

n aij ≤ α ≤1 (i =1,2, ,n) (7)

j=1 aii j1

 

n

 

 

 

a

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

≤ β ≤1

( j =1,2, ,n)

(8)

 

 

aii

i=1

 

 

 

 

 

 

 

 

 

 

i1

 

 

 

 

 

 

 

 

 

 

 

 

 

Неравенства (7), (8) будут выполнены, если диагональные элементы матрицы А удов-

летворяют условию

 

 

 

aii

 

 

>

 

aij

 

 

(i =1,2, ,n) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ji

 

 

 

 

 

 

т.е. если модули диагональных коэффициентов для каждого уравнения системы больше суммы модулей всех остальных коэффициентов (не считая свободных членов).

Пример.

 

2x 1,8x

2

+0,4x

=1

(I)

 

1

 

 

 

 

3

 

(II)

 

3x1 + 2x2 1,1x3 = 0

x x

2

+7,3x

3

= 0

 

(III).

 

1

 

 

 

 

 

 

В уравнениях (I) и (II) нет диагонального преобладания, в (III) есть, его оставляем неизменным. Добьемся диагонального преобладания в уравнении (I). Для этого умножим (I) на α, (II) на β, сложим оба уравнения и в полученном уравнении выберем α и β так, чтобы было диагональное преобладание. Имеем

(2α +3β)x1 +(2β−1,8α)x2 +(0,4α −1,1β)x3 = α .

Взяв α = β = 5, получим 25x1 + x2 3,5x3 = 5. Чтобы добиться диагонального преобла-

дания в уравнении (II), поступим аналогично: I на − γII на δ

134

(3δ−2γ)x1 +(2δ+1,8γ)x2 +(1,1δ−0,4γ)x3 = −γ . Положив δ = 2; γ = 3, получим 0 x1 +9,4x2 3,4x3 = −3.

В результате получим систему

 

25x1

+ x2

3,5x3 = 5,

 

9,4x2 3,4x3 = −3,

 

 

x1

x2

+ 7,3x3 = 0,

 

в которой есть диагональное преобладание. Этот прием можно применить для широкого класса матриц. Разделим каждое из уравнений на диагональные элементы:

 

 

x1 +0,04x2 0,14x3 = 0,2,

 

 

 

 

 

 

x2 0,36x3 = −0,32,

 

 

 

 

 

 

 

 

 

0,14x2 + x3 = 0,

 

 

 

 

 

0,14x1

 

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

= −0,04x

2

+ 0,14x

 

+0,2,

 

 

 

1

 

 

 

 

3

 

 

 

 

 

 

x2 =

 

 

0,36x3 0,32,

 

 

x

3

= −0,14x

 

+ 0,14x

2

,

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

т.е. система вида (2).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,2

 

 

Взяв в качестве

x(0)

 

 

 

 

 

 

решаем последнюю систему методом простой итера-

= −0,32

,

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ции:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

(k+1)

= −0,04x

(k)

+0,14x(k)

+0,2,

1

 

 

 

2

 

 

 

3

 

 

 

 

 

(k+1)

=

 

 

 

 

 

(k)

0,32,

x2

 

 

 

 

0,36x3

 

 

(k+1)

= −0,14x(k)

+

0,14x(k) .

 

 

x

 

 

 

3

 

 

 

1

 

 

 

2

 

 

 

Метод Зейделя

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

том, что при вычислении (k + 1)-го приближения неизвестного xi

при i > 1 используются

уже вычисленные ранее (k +1) -е приближения неизвестных

x1, x2 , , xi1. Для системы

(2) вычисления по методу Зейделя ведутся по формулам

 

 

 

 

 

 

 

 

 

x

(k+1)

= C

x

(k) +C

12

x(k) + +C

1n

x(k) + f ,

 

 

 

 

 

 

 

 

 

1

 

11

1

 

2

 

 

n

 

 

1

 

 

 

 

 

 

 

 

x

(k+1)

= C

 

x(k+1)

+C

 

x

(k ) + +C

 

 

x(k ) + f

 

,

 

 

 

 

 

 

 

2

 

21

 

1

 

 

22

 

2

 

 

21n

n

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k+1)

= C

 

x

(k+1)

+C

 

x

(k+1)

+ +C

 

x

(k+1)

+C

 

x

(k )

+ f

 

.

x

n

n1

1

n2

2

 

n1

 

nn

 

n

 

 

 

 

 

 

 

 

 

nn 1

 

 

 

 

 

 

 

135

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]