Лекция №6 Влияние ошибок округления на решение СЛАУ

advertisement
Лекция 6
16 октября 2006 года.
Влияние ошибок округления на результат численного решения СЛАУ
Будем трактовать суммарный эффект ошибок округления при выполнении одного
итерационного шага, как возмущение правой части в итерационном процессе
(2.19)
uk  Bu k 1  F.
Результат вычислений на каждой итерации при наличии ошибок округления представим в
виде
(2.20)
ukM  BukM1  F  δk ,
где δk — суммарная погрешность округления. Норму разности между реальным и
идеальным (т.е. в отсутствии ошибки округления) результатами расчетов получим,
вычитая (2.19)из (2.20). Учтем, что B  q  1.
ukM  u k  q ukM1  u k 1  δk  q2 ukM2  u k 2  q δk 1  δk 

 q k u0M  u 0  (max δi )(1  q 
 q k 1 ), i  1,
, k.
i
Так как начальное приближение задано точно u0M  u 0  0. Обозначим   max δi
и
i
вычислим сумму членов геометрической прогрессии. Получим
u kM
 uk  
qk  1
q 1


1 q
,
то есть погрешность, вносимая в решение из-за конечной разрядности мантиссы, не
зависит от количества итераций. Этот результат является характеристикой устойчивости
рассматриваемого вычислительного процесса.
Чебышёвское ускорение метода простых итераций
Для простоты положим, что матрица системы является самосопряженной положительной
матрицей, то есть   0 : x ( Ax, x)  (x, x). Число обусловленности для этой матрицы
будет   max  kA / min  kA , для оценок естественно использовать третью норму. Введем
k
k
обозначения L  max  kA , l  min  kA .
k
k
Рассмотрим итерационный метод с параметром τ
ui 1  ui  ( Aui  f ).
Найдем его оптимальное значение, чтобы обеспечить наибольшую скорость сходимости.
Как было показано ранее, матрицы A и E – τA обладают одним и тем же набором
собственных векторов и одновременно приводятся к диагональному виду. Нам
необходимо выбрать итерационный параметр так, чтобы для всех собственных чисел,
лежащих на отрезке [l, L], значение 1   p было бы как можно ближе к 0 и значение
знаменателя геометрической прогрессии было минимальным. Это, очевидно, достигается
в случае 1  l  1  L, откуда  
2
lL
, такой метод называется методом простых
итераций с оптимальным параметром.
2l
L  l  1
2


 1 .
L  l L  l  1

То есть, чем хуже обусловлена система, тем медленнее сходится метод простых итераций.
Рассмотрим теперь итерационный метод с выбором параметра τ на каждой итерации
ui 1  ui  i 1 ( Aui  f ).
Соответствующие соотношения для эволюции невязки имеют вид:
Скорость сходимости его будет определяться как q  1  l  1 
i
r i 1  (Ε  i 1A)r i , r i   (E   j A)r 0 .
j1
После разложения невязок на двух соседних итерациях по базису из собственных
векторов матрицы системы получим равенство
 сip1 p   cip (E  i1A) p   cip (1  i1 p ) p .
Для коэффициентов разложения и компонентов невязки справедливы следующие
равенства
i
cip1  cip (1  i 1 p ), cip   (1   j  p ) c0p ,
j 1
i
ri   сip  p  c0p  (1   j  p ) p .
p
j 1
Оценим погрешности на i шаге итераций
i
ri  max  (1   j  p )
[l , L ] j 1
i
 c p  p  max  (1   j  p ) r0 .
[l , L ] j 1
Вновь приходим к минимаксной задаче: найти такую последовательность итерационных
параметров { j }ij1 , чтобы выполнялось
i
min max  (1   j  p ) .
{ j } [l , L ] j 1
i
Заметим, что  (1   j  p ) есть полином (относительно τ) степени i. Задача — сделать его
j1
наименее уклоняющимся от нуля на отрезке [l, L]. Эта задача, как известно, решена
Чебышевым, а корни этого полинома являются нулями полинома Чебышева:
1
(2 j  1) 
Ll Ll
j  

cos
 , j  1, 2, , i.
2
2i
 2
Достаточно громоздкие выкладки, которые опускаются, дают в результате оценку
скорости сходимости метода с оптимальным набором параметров q  1  2 1  , и числа
 

ln  1   1.
итераций, необходимого для достижения заданной точности i  
 2

Однако метод итераций с чебышевскими параметрами в таком виде оказывается
неустойчивым по двум причинам: рост ошибок округления в расчетах и некоторые
свойства нулей полиномов Чебышева, в частности, сгущение  k1 — величин, обратных
корням полинома — к границам спектра. Не останавливаясь на доказательстве
неустойчивости чебышевского итерационного процесса, заметим, что для ее устранения
необходимо переставить итерационные параметры не в их естественном порядке, а так,
чтобы все частичные произведения
i
 (1   j )
не возрастали бы вблизи границ спектра
j1
при любом i. Эта необходимо, поскольку частичное произведение, относящееся к правой
части спектра со сгущающейся чебышевской сеткой, очень быстро растет из-за больших
величин (1   j  ). Задача упорядочения итерационных параметров достаточно сложна, ее
решение связано с именами В. И. Лебедева, В. П. Финогенова, А. А. Самарского и
Е. С. Николаева [4]. Приведем результат ее решения для i = 2r, где i — количество
сомножителей в произведении (число итераций)
i
 (1   j ),
j1
r — натуральное число.
При i = 2 перебираем корни полинома Чебышева в их естественном порядке (в фигурных
скобках указываем номер корня) {1, 2} или в порядке убывания номера {2, 1}. Далее
последовательность номеров корней получаем следующим образом. Каждый номер корня
меняется на пару чисел: первое число — номер корня, второе — дополняет сумму в
каждой паре до значения i + 1 (2r + 1). Таким образом, при i = 4 получаем два
упорядоченных набора. Из последовательности {1, 2} получаем {1, 4, 2, 3}, а из {2, 1} -{2, 3, 1, 4}. Действуя аналогично далее, имеем при i = 8 {1, 8, 4, 5, 2, 7, 3, 6} в первой
последовательности чебышевских параметров или {2, 7, 3, 6, 1, 8, 4, 5} во второй
последовательности.
Следующий
шаг
дает
i = 16
{1, 16, 8, 9, 4, 13, 5, 12, 2, 15, 7, 10, 3, 14, 6, 11} в первой последовательности чебышевских
параметров или {2, 15, 7, 10, 3, 14, 6, 11, 1, 16, 8, 9, 4, 13, 5, 12} во второй. Построение
таких упорядоченных наборов легко можно продолжить. Приведенное упорядочение
является универсальным — оно обеспечивает устойчивость любых методов, где
необходим чебышевский набор итерационных параметров.
Обычно при реализации чебышевских методов задаются последовательностью из 32 или
64 параметров и делают серию итераций. Если невязка велика, то результат серии
используют в качестве начального приближения для следующей серии итераций, если
невязка мала, то решение считается найденным. Такая упрощенная реализация работает
несколько медленнее, чем «честное» чебышевское ускорение, но весьма эффективно.
Приведем итерационные формулы трехслойного метода Чебышева, который не уступает
предыдущему по скорости сходимости, однако не требует изменения порядка выбора
итерационных параметров. В качестве платы за удобство использования метода затраты
памяти становятся несколько большими. Формулы трехслойного метода будут
u1  (E  A)u0  f , ui 1  i 1 (E  A)ui  (1  i 1)ui 1  i 1f , i  1, 2,
где   2 /(l  L), 1  2, i 1  4 /(4  2i ),   ( L  l ) /( L  l ).
Можно показать, что погрешность ri удовлетворяет оценке
1 1 
2q i
ri 
r 0 , где q 
.
2i
11 
1 q
Трехслойный метод Чебышева можно также представить в следующем виде:
2 

2 
u1  (E  A)u0  f , ui 1  1 i (E  A)ui  i 1 ui 1  1 i f ,
 i 1
 i 1
 i 1
2
 1
, i  i (1 ),  0  1, 1 
где i  1, 2, ,  
,  i 1  2 1 i   i 1 .
lL
 1
Трехслойный метод Чебышева в настоящее время применяется значительно чаще
двухслойного.
Каноническая форма записи трехслойного итерационного метода (к которым и относится
приведенный трехслойный метод Чебышева) есть
Bui 1  i 1 (B  i 1A)ui  (1  i 1 )Bui 1  i 1i 1f ,
Bu1  (B  1A)u0  1f ,
i  1, 2, .
Если оператор B — единичный, то трехслойный итерационный метод называется явным, в
противном случае — неявным. Заметим, что каноническая форма записи двухслойного
итерационного метода имеет вид
ui 1  ui
B
 Au i  f .
i 1
Если оператор B — единичный, то двухслойный итерационный метод называется явным, в
противном случае — неявным.
Каноническая форма записи трехслойного итерационного метода получается из
двухэтапного итерационного процесса. На первом этапе (предиктор) используется метод
u  ui
B
 Aui  f ,
i1
где u — промежуточное значение. Второй этап — корректор:
ui 1  i 1u  (1  i 1 )ui 1.
В трехслойных схемах используются два итерационных параметра: τi и αi причем
при αi = 1 трехслойная схема переходит в двухслойную. Рассмотренные методы
основываются на следующих свойствах оператора A:
— самосопряженность: A  A*,
— положительная определенность: A  0, 0  l  i  L; для реализации алгоритма
необходимо знание только границ спектра оператора.
Методы Якоби, Зейделя, верхней релаксации
Представим матрицу А в виде
А = L + D + U,
(2.21)
где L и U — нижняя и верхняя треугольные матрицы с нулевыми элементами на главной
диагонали, D — диагональная матрица. Рассматриваемая СЛАУ может быть переписана в
следующем эквивалентном виде:
Lu + Du + Uu = f.
Построим два итерационных процесса
Luk + Duk+1 + Uuk = f
и
Luk+1 + Duk+1 + Uuk = f,
или, соответственно,
uk+1 = –D–1(L+U)uk + D–1f
(2.22)
и
uk+1 = –(L+D)–1Uuk + (L+D)–1f.
(2.23)
Очевидно, что эти формулы описывают итерационные процессы вида (2.16), если
положить в (2.22)
B = –D–1(L+U), F = D–1f
или
B = –(L+D)–1U, F = (L+D)–1f.
Эти итерационные процессы называются методами Якоби и Зейделя.
Представим эти процессы в компонентной записи. Метод Якоби будет иметь вид
(перенесем итерационный индекс k вверх):
u1k 1  (a12u2k  a13u3k   a1nunk  f1 ) / a11 ,
u2k 1  (a21u1k  a23u3k   a2 nunk  f 2 ) / a22 ,
…
unk 1  (an1u1k  an 2u2k   an,n1unk1  f n ) / ann .
Метод Зейделя можно представить следующим образом:
u1k 1  (a12u2k  a13u3k   a1nunk  f1 ) / a11 ,
u2k 1  (a21u1k 1  a23u3k   a2 nunk  f 2 ) / a22 ,
…
unk 1  (an1u1k 1  an 2u2k 1   an,n1unk11  f n ) / ann . .
Эти формулы легко выводятся, если учесть, что элементами матрицы D–1 являются
d ii  aii1 .
Теорема (достаточное условие сходимости метода Якоби). Итерационный метод Якоби
сходится к решению соответствующей СЛАУ, если выполнено условие диагонального
преобладания
aii 
n

j 1
( j i )
aij , i = 1,…,n.
(2.24)
Доказательство. Выполненные условия (2.24) означает, что в любой строке матрицы
перехода
a1,n1

a
a 
a
 12  13

 1n 
 0
a11
a11
a11
a11 

 a
a2,n1
a
a 
0
 23

 2n 
  21
В   a22
a22
a22
a22 




an,n1
 an1

an 2
an3



0 
 a
ann
ann
ann
 nn

сумма модулей элементов меньше единицы. В этом случае по крайней мере одна из норм
матрицы В меньше единицы. Тогда выполняется достаточное условие сходимости метода
простых итераций.
Теорема (критерий сходимости итерационного метода Якоби). Для сходимости
итерационного метода Якоби необходимо и достаточно, чтобы все корни уравнения
a11 a12
a1n
a21
a22
a2 n
0
an1 an 2
ann
по модулю не превосходили единицы.
Доказательство. Легко проверить, что в силу диагональности D имеет место
det(B  E)  det D1(L  U)  E  det(D1)  det (L  U)  D .


Собственными значениями матрицы В = –D–1(L+U) являются корни уравнения
det (L  U)  D  0 ,
которые в соответствии с критерием сходимости метода простой итерации должны быть
по модулю меньше единицы.
Аналогичную теорему можно доказать и для метода Зейделя, однако матрица в этой
теореме будет иметь другой вид:
a1n 
 a11 a12


a2n 
 a12 a22
.




ann 
 an1 an 2
Теорема (достаточное условие сходимости метода Зейделя, без доказательства). Пусть А
— вещественная, симметричная, положительно определенная матрица. В этом случае
итерационный метод Зейделя сходится.
Доказательство этой теоремы сводится к проверке того, что выполнение условий теоремы
для матрицы А = L+D+LT влечет выполнение условия сходимости итерационного метода
с матрицей перехода –(L+D)–1LT. СЛАУ с вещественной матрицей А такой, что det A  0,
может быть симметризована умножением на матрицу АТ:
(АТА) u = АТf
(симметризация Гаусса).
Развитием метода Зейделя является метод релаксации. В этом методе вводится
итерационный параметр τ, называемы параметром релаксации.
Представим метод релаксации в матричной форме
(Lu k 1  Du k 1 )  (  1)Du k  Uu k  f .
Выбирая τ можно существенно изменять скорость сходимости итерационного метода.
Выразим u k 1
uk 1  (D  L)1 ( 1)D  L uk  (D  L)1f .
В общем случае задача вычисления τопт (оптимального итерационного параметра) не
решена, однако известно, что 1   опт  2. В этом случае итерационный метод называется
методом последовательной верхней релаксации или SОR — Successive over relaxation.
Иногда встречается термин «сверхрелаксация» при 1   опт  2 . При 0    1 имеем метод
нижней релаксации.
Download