Скачиваний:
14
Добавлен:
01.05.2014
Размер:
310.07 Кб
Скачать

65

и раньше, расширенную матрицу коэффициентов, которая будет те- перь содержать n + m столбцов.

Метод в изложенной форме окажется неприменим, если a11 = 0

или подобное обстоятельство встретится на одном из последующих шагов, например, a122 = 0. Но плохо и в том случае, если, например, элемент a122 =6 0, но мал по абсолютной величине. Он получен путем вычитания, и его малость означает обычно, что велика его отно- сительная погрешность (мы ведем счет с округлением результатов арифметических действий), а тогда и все последующие результа- ты будут иметь малую точность. Избежать этого можно, если на каждом шаге совершать перенумерацию уравнений или неизвестных, или того и другого. В связи с этим различают схемы исключения с выбором ведущего элементапо строке, по столбцу или по всей матрице. На первом шаге в первом случае это означает такое изме- нение порядка уравнений, чтобы после перестановки строк у новой матрицы оказалось |a11| ≥ |ak1| (k = 2, . . . , n), во втором такую пе- ренумерацию неизвестных, чтобы было |a11| ≥ |a1j | (j = 2, . . . , n), а в последнем такую перестановку уравнений и перенумерацию неиз- вестных, чтобы оказалось |a11| ≥ |akj | при k, j = 1, . . . , n. Подобная

перенумерация осуществляется при переходе к каждому следующему шагу.

§5 Итеративные методы решения систем

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

Пусть система линейных алгебраических уравнений записана в виде

x = Ax + y.

(1)

Метод итерации заключается в том, что, взяв произвольный вектор (начальное приближение) x0, строят последовательность векторов

xs = Axs−1 + y.

Очевидно, что если xs x , то x — решение системы (1). Усло- вимся решение системы всегда обозначать x .

Теорема 1. Для того чтобы при любом начальном прибли- жении x0 было xs x , необходимо и достаточно условие ρ(A) < 1.

66

Д о ка з а т е л ь с т в о. Из равенств x = Ax +y, xs = Axs−1 +y следует, что xs x = A(xs−1 x ) = As(x0 x ). Поэтому для

сходимости метода при любом начальном приближении необходимо и достаточно As 0, и остается воспользоваться теоремой 1 из §2 и добавить, что при ρ(A) < 1 решение x существует и единственно.

З а м е ч а н и е 1. Отметим связь метода итерации с рассмот- ренным в §2 рядом:

xs = Asx0 + (E + A + A2 + · · · + As−1)y.

З а м е ч а н и е 2. В случае ρ(A) 1 метод расходится почти при любом начальном приближении x0 если только при разложе- нии x0 x по собственным векторам матрицы A хоть один из ко- эффициентов при собственных векторах, отвечающих собственным числам, таким что |λ| ≥ 1, отличен от нуля.

Пусть теперь в Cn задана некоторая норма k · k, и нормы мат- риц ниже это операторные нормы, порожденные введеной вектор- ной.

Теорема 2. Если kAk < 1, то xs x и выполняются оценки:

 

x

 

 

x

 

 

 

kAks

 

x

x

 

,

 

(2)

 

s

k ≤ 1 − kAkk

0k

 

 

k

 

 

 

1

 

 

 

 

x

 

x

 

 

 

 

kAk

x

x

 

.

(3)

k

k ≤

 

1 − kAkk

 

s

 

 

 

 

s

s−1k

 

 

Д о ка з а т е л ь с т в о.

 

Сходимость следует из теоремы 1 и

неравенства ρ(A) ≤ kAk.

 

Докажем оценку (2)

 

Учитывая равен-

ства x0 x1 = (E A)x0 y и x = (E A)−1y, а также оценку k(E A)−1k ≤ 1/(1 − kAk), имеем

kx0 x k ≤ k(E A)−1k k(E A)x0 yk ≤

 

1

 

 

kx1 x0k

 

 

 

 

1

− k

A

 

 

 

 

k

и остается воспользоваться тем, что xs x = As(x0 x ).

67

Неравенство (3) немедленно следует из (2), если принять 0 = xs−1, и тогда 1 = xs.

З а м е ч а н и е. Оценка (2) является априорной. Это значит, что ее правая часть может быть вычислена до того, как построено само приближение xs и она годится для того, чтобы заранее оценить, сколько шагов метода следует сделать, чтобы добиться необходимой точности. Оценка (3) апостериорная — ее правая часть вычисляет- ся, когда xs уже известно, и может служить для принятия решения о прекращении итераций, когда необходимая точность уже достиг- нута. Заметим одно преимущество оценки (3) — она остается вер- ной, какие бы ошибки ни были допущены при вычислении xj при j = 1, . . . , s 1.

Займемся вопросом о приведении системы уравнений к виду (1), если первоначально она задана в виде Bx = z. Остановимся на двух случаях.

1) Пусть B = {bkj } матрица с диагональным преобладани- ем. Тогда систему Bx = z можно переписать в виде x = Ax + y,

где

A =

. . .

. . .

. . .

. . .

, y =

 

1. . .11

 

. (4)

 

0

 

b12/b11 . . .

 

b1n/b11

 

 

ζ /b

 

 

 

bn1/bnn

bn2/bnn . . .

 

0

 

ζn/bnn

 

Очевидно, что kAk< 1, и потому метод итерации будет сходиться. 2) Пусть B эрмитова матрица. Взяв α 6= 0, приведем систе- му к эквивалентной: x = x α(Bx z), так что A = E αB, и

займемся вопросом о выборе α. Пусть µk собственные числа мат- рицы B. Тогда собственные числа матрицы A суть λk = 1 αµk . Если собственные числа матрицы B имеют разные знаки, то среди λk найдется хоть одно, большее единицы. Поэтому выбор числа α, гарантирующий сходимость метода итерации, возможен лишь при условии, что все µk имеют один знак. Для определенности будем считать, что они положительны (тогда эрмитова матрица B назы- вается положительной), так что следует выбрать α > 0. Мы за- интересованы в том, чтобы kAk2 = ρ(A) = max{αM 1, 1 αm},

или xs+1

68

где m = min µk , M = max µk , была минимальной. Этому соответ-

ствует выбор α =

2

, тогда ρ(A) =

M m

< 1. Заметим, что

M +m

 

 

M +m

 

если собственные числа B имеют сильный разброс (M во много раз больше, чем m), то ρ(A) близко к 1, и сходимость метода итерации может оказаться довольно медленной. Собственные числа матрицы B обычно неизвестны. Легко видеть, что если взять 0 < α < M1 0 , где M 0 любая верхняя граница для µk (например, M 0 = kBk), то окажется ρ(A) < 1, и метод итерации будет сходиться.

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

Это другой итеративный способ решения системы (1). Предполагается заданным некоторое начальное приближение к ре- шению x0. Введем обозначения для компонент последующих при- ближений: xs = (ξ1s, . . . , ξns ). Вычислительные формулы метода:

ξ1s+1 =

a11ξ1s + a12ξ2s + · · · + a1nξns + η1

.

ξ2s+1 = a21ξ1s+1 + a22ξ2s + + a2nξns + η2

 

 

 

. . .

.· ·.· .

 

 

 

 

 

 

 

 

 

 

s+1

= an1

s+1

 

s+1

s

 

ξn

ξ1

+ · · · + ann−1ξn−1

+ annξn + ηn

 

 

 

 

 

 

 

 

 

Эти формулы можно записать так: x

s+1

=

Rxs + Lxs+1

 

 

 

+ y, где

 

 

a11

a12 . . .

R =

.

0

a22 . . .

 

 

0

0 . . .

 

 

 

. . . . . . . .

 

 

 

 

a1n

a2n

. . .

ann

 

 

0

0

. . .

0

 

 

L =

a21

0

. . .

0

, A = R + L,

 

an1 . . .

ann 1

0

 

 

 

 

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

 

 

 

 

 

 

 

= (E L)−1Rxs + (E L)−1y. Из теоремы 1 сразу же выте- кает, что для сходимости метода Зайделя при любом начальном при- ближении x0 необходимо и достаточно неравенство ρ (E L)−1R < 1. Это условие трудно проверять, и мы докажем некоторый доста- точный признак сходимости, но сначала отметим, что известны при- меры, когда метод простой итерации сходится, а метод Зайделя нет,

69

и наоборот, когда сходится метод Зайделя, но не метод простой ите- рации.

Теорема 3. Если kAk< 1, то метод Зайделя сходится при любом начальном приближении.

Д о ка з а т е л ь с т в о. Положим

 

 

 

 

 

 

i−1

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

β

 

=

 

X

a

,

 

 

 

X

a

|

;

 

max(β

+ γ

 

) =

 

A

 

< 1.

 

 

 

 

 

 

i

 

 

j=1

|

ij |

γi = | ij

 

 

 

i

 

i

i

 

 

 

k k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

β

+ γ

 

 

 

γi

 

=

βi(1 βi γi)

 

0,

 

 

γi

 

β

+ γ

 

A

.

 

 

 

 

 

 

 

 

 

 

1 βi

 

i

 

 

i

 

1 βi

 

1 βi

 

 

 

 

 

 

 

i

 

 

i ≤ k k

 

Так как x = Rx + Lx + y, то x

 

 

x

= L(x

x

 

 

) + R(x

x ).

Пусть

k

x

x

s+1k

|

i0

ξ

s+1

|

s+1

 

 

 

 

s+1

 

 

 

s

i0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= ξ

 

 

 

. При этом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i0 −1

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ξ

 

ξs+1 =

a 0

 

 

 

 

 

ξs+1) +

a

 

0

 

ξs),

 

 

 

 

 

 

 

i0

i0

j=1

i j

 

j

j

 

 

j=i0

i j

 

 

j

j

 

 

 

 

так что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

kx xs+1kβi0 kx xs+1k+ γi0 kx xsk,

 

 

 

 

 

kx xs+1k

 

γi0

 

 

 

kx xsk≤ kAkkx xsk.

 

 

 

 

 

1

β

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как последнее неравенство выполняется при всех s, то дальней- шее очевидно.

Метод Некрасова

Если первоначально система уравнений задана в виде Bx = z, причем все диагональные элементы матрицы B отличны от нуля, то она приводится к виду (1), если для A и y воспользоваться форму- лами (4). Метод Зайделя, примененный к полученной таким путем системе (1), называется методом Некрасова для исходной системы.

70

Таким образом, компоненты следующего приближения xs+1 в методе

Некрасова находятся по компонентам предыдущего из уравнений

b11ξs+1

+b12ξs

+b13ξs

+ . . . +b1nξs

= ζ1

.

b21ξ1s+1

+b22ξ2s+1

+b23ξ3s

+ . . . +b2nξns

= ζ2

1

2

3

. . .

n

. . .

 

. . .

. . .

. . .

. . .

 

 

 

 

 

 

 

s+1

s+1

s+1

 

s+1

= ζn

 

bn1ξ1

+bn2ξ2

+bn3ξ3

+ . . . +bnnξn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 4. Если выполнено хотя бы одно из условий а) матрица B имеет диагональное преобладание,

б) матрица B положительно определена,

то метод Некрасова сходится при любом начальном приближении. Д о ка з а т е л ь с т в о. В случае а) утверждение теоремы непо-

средственно следует из теоремы 3.

Случай б). Положительно определенную матрицу B предста-

вим в виде суммы B = R + D + R , где

 

 

 

 

 

 

a11

0 . . .

0

 

 

 

0

a12

. . . a1n

.

D =

0

a22 . . .

0

, R =

0

0

. . . a2n

 

 

0

0 . . .

ann

 

 

 

0

0

. . . 0

 

 

 

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

 

 

 

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

 

 

 

 

 

 

 

 

 

Тогда формулы метода Некрасова приводятся к виду

(D + R )xs+1 + Rxs = y, xs+1 = (D + R )−1Rxs + (D + R )−1y,

и для сходимости метода достаточно показать, что ρ (D+R )−1R < 1. Пусть λ и z собственное число и соответствующий собственный вектор этой матрицы, так что

Rz = λDz + λR z = λBz λRz.

Введем обозначения:

(Bz, z) = p > 0, (Dz, z) = d > 0, (Rz, z) = a + ib, (R z, z) = a

ib.

 

 

71

Тогда p = d + 2a, и т.к. (Rz, z) = λ(Bz, z) λ(Rz, z), то a + ib =

λ(p a ib). Далее

 

 

a + ib

 

 

 

 

 

 

 

λ =

,

 

 

 

 

 

 

 

 

 

 

 

 

p a ib

|λ|2 =

a2 + b2

 

 

a2 + b2

 

 

a2 + b2

 

=

 

=

 

< 1.

(p a)2 + b2

a2 + b2 + p(p 2a)

a2 + b2 + pd

Поскольку λ любое собственное число, нужное неравенство для ρ (D + R )−1R доказано.

Задача 1. Доказать, что правая часть оценки (3) всегда не больше правой части (2).

Задача 2. Показать, что в случае метода простой итерации по любым ε > 0 и начальному приближению x0 найдется такая постоянная Cε , что

kxs − x k ≤ Cε[ρ(A) + ε]s.

§6 Обращение матриц

Построить матрицу D = A−1, обратную данной, можно ис- пользуя метод исключений Гаусса, поскольку j-й столбец матрицы D есть решение системы уравнений Ax = ej . В §4 уже обращалось внимание, что решать несколько систем уравнений с одной и той же матрицей коэффициентов, но различными правыми частями удоб- но одновременно, в единой схеме. Именно так и следует поступать при обращении матриц, решая все n систем уравнений с правыми частями ej одновременно.

При наличии не слишком плохого приближения D0 к обрат-

ной матрице можно для построения обратной матрицы использовать

итеративный процесс

 

Ds+1 = Ds(2E ADs).

(1)

Стоит обратить внимание, что эта вычислительная формула вполне аналогична формуле метода Ньютона (касательных) для решения числового уравнения 1t a = 0.

72

Формулу (1) удобно переписать в виде

 

 

 

 

Rs = E ADs, Ds+1 = Ds(E + Rs) s = 0, 1, . . .

(2)

Теорема. Для выполнения соотношения D

s

 

6

 

 

A−1 необходи-

мо и достаточно выполнение неравенства ρ(R0) < 1.

Если при этом

kR0k = q < 1, то выполняется оценка

 

 

 

 

kDs A−1k ≤ kD0k

q2s

 

 

 

 

 

.

 

 

 

(3)

1 q

 

 

 

Д о ка з а т е л ь с т в о. Заметим прежде всего, что если ρ(R0) < 1, то матрица E R0 = AD0 обратима, а значит, обратима и A. Преобразуем формулу для Rs+1:

Rs+1 = E ADs+1 = E ADs(E + Rs) = E ADs ADsRs = = Rs ADsRs = Rs2.

Докажем необходимость. Если Ds A−1, то Rs 0. По-

скольку Rs = R02s , то ρ(R0) < 1 является для этого необходимым условием.

R2s

 

Докажем достаточность и оценку (3). Если ρ(R0) < 1, то Rs =

0, т.е. AD

 

 

E и D

s

A−1. Если

k

R

0k

= q < 1, то

0

2s

 

 

 

s

2s

2s

 

 

 

 

 

 

kRsk = kR0

 

k ≤ kRok

= q

 

 

. Далее

 

 

 

 

 

 

 

 

 

 

 

 

A−1 Ds = A−1Rs, kA−1 Dsk ≤ kA−1kq2s

 

и остается заметить, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AD

0

= E

R

, A = (E

R

 

)D−1, A−1 = D

(E

R

)−1,

 

 

 

0

 

 

 

 

0

0

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

kA−1k ≤ kD0k k(E R0)−1k,

причем k(E R0)−1k ≤

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1−q

 

 

 

 

 

 

 

 

 

 

 

6Как обычно считаем заданной некоторую векторную норму, и матричная

операторная, порожденная этой векторной.

73

З а м е ч а н и е. Следует подчеркнуть, что оценка (3) означает очень быструю сходимость процесса (2).

Следствие. Если матрица A эрмитова и обратима, то при

D0 = αA, где 0 < α <

2

, процесс (2) сходится.

 

(ρ(A))2

 

Д о ка з а т е л ь с т в о. Если λk собственные числа матрицы

A (они вещественны), то при указанном выборе D0 собственными

числами матрицы

 

2

R0

будут 1αλk . Все они меньше 1, а неравенство

2

 

α <

 

гарантирует, что они больше -1.

((ρ(A))2

Следствие гарантирует сходимость процесса для эрмитовой

матрицы, если взять, например, D0 = 1 A при любой операторной

kAk2

норме матрицы.

§7 Степенной метод

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

это метод решения частичной проблемы собственных чисел. Идея метода основана на анализе поведения последовательно-

сти векторов

yk = Ak y0 = Ayk−1,

(1)

где y0 произвольно взятый ненулевой вектор.

Будем считать, что

матрица A имеет полную систему собственных векторов, λj ее собственные числа, а zj соответствующие собственные векторы,

тора y0

 

 

.

 

n

 

 

 

 

 

 

| ≥ · · · ≥ |λn|.

=

P

αj zj разложение век-

причем |λ1

Пусть y0

j=1

 

по собственным векторам

Тогда

 

 

 

αj zj .

 

 

yk = j=1 αj λjk zj = λ1k α1z1

+ j=2 λ1

(2)

 

 

n

 

 

n

 

λj

 

k

 

 

 

X

 

 

X

 

 

 

 

 

Основной случай

Будем сейчас считать, что |λ1| > |λ2| (основной случай) и что α1 6= 0 (это условие обычно выполнено для произвольно взятого y0).

74

Тогда суммой, стоящей в правой части (2), при больших k мож- но пренебречь, и мы имеем приближенное равенство yk λk1 α1z1. Пусть u — некоторый вектор, такой что (z1, u) =6 0. Положим

ϕk = (yk , u) = λ1k α1(z1

, u) + j=2

λ1

αj (zj , u) .

 

n

λj

k

 

X

 

 

Тогда, как видно из этой формулы, ϕk k−1 λ1 и, более того,

ϕk k 1

= λ1 + O

 

λ1

k

! .

 

λ2

 

 

ϕ

 

 

 

 

Если |λ1| < 1, то векторы yk стремятся к нулевому, а при |λ| > 1 — к бесконечности (по норме). Это обычно неудобно, и поэтому на

каждом шаге процесса часто осуществляют некоторую нормировку этих векторов, так что процесс выглядит так:

0 = y0, xk =

k

, x˜k+1

= Axk .

(3)

(˜xk , u)

Векторы k и xk лишь числовыми множителями отличаются от век- тора yk : xk = βk yk, и для введенных выше чисел ϕk имеем

ϕk = (yk , u) = (Ayk−1, u) = (Axk−1 , u) = (˜xk , u), ϕk−1 (yk−1, u) (yk−1, u) (xk−1 , u)

поскольку (xk−1 , u) = 1, так что приближения к λ1 и z1 даются фор-

мулами

λ(1k) = (˜xk , u), z1k = xk .

Вектор xk , будучи нормирован условием (xk , u) = 1, с точностью до вектора порядка малости O 21)k совпадает с собственным вектором z1, если последний нормирован тем же условием.

В качестве нормирующего вектора u удобно выбирать один из ортов ej . После нескольких шагов процесса, когда наметилась неко- торая стабилизация векторов xk , целесообразно в качестве j взять

Соседние файлы в папке Лекции по методам вычислений