Научная литература
booksshare.net -> Добавить материал -> Физика -> Федоренко Р.П. -> "Введение в вычислительную физику" -> 58

Введение в вычислительную физику - Федоренко Р.П.

Федоренко Р.П. Введение в вычислительную физику — М.: Физ-тех, 1994. — 528 c.
ISBN 5-7417-0002-0
Скачать (прямая ссылка): vvedenievvichesleniyah1994.djvu
Предыдущая << 1 .. 52 53 54 55 56 57 < 58 > 59 60 61 62 63 64 .. 210 >> Следующая


Vi = IcP^C1-' опт ***)'***•

Р. Я

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

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

ui+1 = и1 + t(.+J (Aui — /).

Для погрешности имеем соотношение vl+l = (Е + xi+1D)v‘; следо-І

вательно, V1 = (Е + тjD)v°. В фурье-представлении:

J=I

Vt = I zP'q-

j=і

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

І

g = min max J-J JI — ту Х|

Tj, Т. j — l

Это есть классическая задача о полиноме, наименее уклоняющемся от нуля на интервале [I, L] (нормировка: полином равен единице при X = O). Она нам уже известна (см. § 3), известно и ее решение.

Параметры tj — величины, обратные значениям корней полинома Чебышева степени і:

XJ= + cos I ’ /=1.2, ...,і.

f1-)]". >=

L

Полиномы Чебышева хорошо изучены, поэтому можно оценить среднюю эффективность одной итерации. Опуская выкладки, полу-
РЕШЕНИЕ ЭЛЛИПТИЧЕСКИХ ЗАДАЧ МЕТОДОМ СЕТОК

155

чаем следующую оценку (напомним, что r\ = L/l):

1И|<*(1-2/^л)ЧИ|, Т-Є' gfa !-2v^77r-

что существенно лучше метода простой итерации. Для числа итераций имеем г(е) « 0.5 Vrf In (1/е). При N = 100, є = IO-5 значения g «• 0.968, г(є) «s 360. Однако попытки применения метода чебы-шевского ускорения привели к парадоксальному результату: не было не только ускорения сходимости, пропала даже та медленная сходимость, которая была в методе простой итерации! Метод стал расходящимся: даже при умеренных і я» 20 -5- 30 величины и1 выходили в «машинную бесконечность». Ниже мы проведем анализ причин этого неприятного явления. Он позволил разработать алгоритмически несложную модификацию метода, работающую так, как предсказывает теория.

Анализ вычислительной устойчивости. Устойчивая форма алгоритма. Причиной неустойчивости является наличие погрешностей округления в расчетах и некоторые свойства полинома Чебышева. Посмотрим, какие последствия имеют погрешности округления. Дело в том, что в действительности итерация имеет вид

vJ'+l = (E+xJ+iD)vJ + e.j+l,

где — погрешность округления, «случайная» сеточная функция, которая имеет порядок є | |. Это есть очевидное следствие

того, что любая величина а в машинном представлении становится величиной ам = а(1 + є), ще є — «случайная» величина порядка

10~12 или IO-7 в зависимости от длины мантиссы в машинном представлении чисел.

Ради простоты предположим, что все вычисления в итерационном процессе делаются точно и только на k-іл итерации вносится погрешность:

к,

Vk = H (Е + xjZJ)v° + Е, ||е|| « 10-Р IlМА||.

j — •

После полного цикла из і итераций

І І І

уІ= П (? + x)D)vk = П (? + + П (E+xl.D)z.

J=k+1 j=i /=к+1

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

ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ

Чтобы понять, в чем тут дело, рассмотрим представление поли-'нома Чебышева в виде произведения двух «частичных» полиномов:

Ti(X) = Pk(X) Qk(X),

Pk(X) = п — xjх)’ &<*) = П (1 - xJ *)•

J=1 у=*+1

На рис. 15 изображены графики этих полиномов на интервале [/, L], содержащем спектр оператора D. Полином Pk(X) — очень малая величина в левой части спектра и очень большая в правой, причем не просто очень большая, а очень-очень большая, и

Рис. 15

в этом все дело. Полином Qk(X) — величина порядка единицы в левой части спектра и очень-очень маленькая в правой. В целом произведение Ti = Pk Qk(X) — малая величина на всем интервале [/, L].

Что же такое vk (к-е приближение в чебышевском итерационном процессе)? Это есть

= Sj ср. *)zP’ 9 + S2 СР, q)zP'4 +

где первая сумма (по Xp'4 в левой части [/, L]) очень мала, вторая же сумма (по Xp'4 в правой части [/, L]), напротив, очень велика. Таким

образом, \\ик\\ « IIvtH »IIu0II, но функция vk имеет специальный спектральный состав: последующие итерации к + 1, к+ 2, ..., г ее погасят.

Теперь оценим погрешность е. Она имеет порядок IO-pIIua || и оказывается по модулю достаточно большой. Однако погрешность округления — величина практически случайная, она более или менее равномерно распределена по всему спектру. Другими словами,

? ~ 2 ер qzP'Ч' и все коэффициенты Фурье ер — величины одного порядка.
РЕШЕНИЕ ЭЛЛИПТИЧЕСКИХ ЗАДАЧ МЕТОДОМ СЕТОК

157

Проделаем оставшиеся итерации:

І

Vі = Y[(E+T‘D)vk = Qk(D)Vk. j=k+i

В пространстве коэффициентов Фурье получаем

vi = 2 ср,яЫХР'9Wxp'9)zP’9 + 2,ср.q)p^p'q)zP'q +

I 2

+1 eP, Mxp'^zp'4 + 2, eP.^kp'4^zp-I 2

Первые два слагаемых малы, так как Qt(X)-Pt(X) = T;(Х) — малая величина на всем интервале [Z, L], четвертое слагаемое тоже мало, так как полином Qk(X) мал на правой части [/, L], а вот третье слагаемое не мало, так как полином Qt(X) я» 1 на левой части [/, L).
Предыдущая << 1 .. 52 53 54 55 56 57 < 58 > 59 60 61 62 63 64 .. 210 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed