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

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

Федоренко Р.П. Введение в вычислительную физику — М.: Физ-тех, 1994. — 528 c.
ISBN 5-7417-0002-0
Скачать (прямая ссылка): vvedenievvichesleniyah1994.djvu
Предыдущая << 1 .. 146 147 148 149 150 151 < 152 > 153 154 155 156 157 158 .. 210 >> Следующая


Наибольший эффект достигается в случае, когда N разлагается на множители малой величины (2, 3, например).

Наиболее популярен алгоритм FFT при N = 2Р. В этом случае число операций сводится к CN(2p) = 2CN Iog2 N. Для оценки постоянной С приведем текст программы, реализующей, напри-
§24]

ПРИБЛИЖЕННОЕ ИНТЕГРИРОВАНИЕ УРАВНЕНИЯ ВЛАСОВА

391

мер, преобразования (25). Используем нестрогую версию языка FORTRAN:

vo = = 1

do Ix = О, M — 1 $ г>2 = 1

do 2 Iil = 0, Ni — 1 $ г>3 = 1

do З V = О, M — 1 $ /(х, ^1) = /(х, ^1) + ^t(v, k{)*v3

3 Vi = v3*v2*vy

2 V2 = v2* w

I Vv = V[*v0

Заметим, что wkv = W^knі+*i)v, а величины V1, v2, V3 в циклах по х, Jfc1, V принимают значения

V1 = VfQ= VVltivI, V2 = Wk I, V3 = (vt*v2)v = W(V^1)V.

Решение уравнения Пуассона методом Фурье. Разностное уравнение Пуассона (7) легко решается методом Фурье. Обозначим f і т = ^nP't+m^2- Сначала делаем преобразование по первому индек-

Это N быстрых преобразований (при каждом т отдельно), которые выполняются за CN2 Iog2 N операций (при N= 2Р). Затем при каждом X выполняем преобразование по индексу ц.. Получаем выражение

Это стоит еще CN2 Iog2 N операций.

В § 14 было показано, что сеточные функции и'/л+"'^* являются собственными функциями разностного оператора Лапласа. Соответствующие собственные значения суть

Из (7) получаем коэффициенты Фурье искомой функции <р: Ф*. Iі = Fy- lVAjl . После этого дважды делаем обратное преобразование и находим значения в узлах сетки:

X И-

Итак, решение (7) стоит ACN2Iog2N операций.
392

ПРИБЛИЖЕННЫЕ МЕТОДЫ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИ

[Ч. и

§ 25. Некорректные задачи и их приближенное решение

Почти все задачи, с которыми мы имеем дело, можно записать в общей форме:

R(U)=/, (1)

где и — искомая функция из некоторого функционального пространства U, / — известная «правая часть» уравнения, принадлежащая пространству F, a R — оператор (вообще говоря, нелинейный) из U в F. Обычно правая часть известна нам не точно, а с некоторой погрешностью 6, т.е. «реальной действительности»

соответствует «истинная» функция /, а решается задача с правой частью /, причем ||/ — /H^ ^ 6 (где || • — норма в пространст-

ве F). Естественно, возникает вопрос: в какой мере погрешность в / сказывается на решении, т.е. каково отличие и от и, где Ti — решение «точной» задачи

R(U)=Jl

Определение 1. Задача (1) называется поставленной корректно, если ИЗ II/ — /Ilf ^ 6 следует Il м — и\\и ^ 8 , где ? может быть сделано сколь угодно малым за счет достаточно малого 6.

Обычно считается, что физические задачи приводят к корректно поставленным математическим и только последние подлежат приближенному решению. Наоборот, задача считается поставленной некорректно, если при сколь угодно малом 6 и сколь угодно большом Д найдется функция /, такая, что при ||/— /|| < 6 оказывается ||й—и||>Д. Есть ли смысл находить решение некорректной задачи, если сколь угодно малые погрешности в правой части (а они всегда есть) приводят к большим погрешностям в решении?

Заметим, что характеристика задачи как корректной или некорректной зависит от выбора норм H-Ijf7 и || • ||f, и задача, некорректная при одном выборе норм, может оказаться корректной при другом. Однако этот формальный способ «исправления» задачи обычно не проходит, так как выбор норм не является совершенно произвольным и должен правильно отражать суть дела в содержательной постановке задачи. В дальнейшем мы поясним эти вещи на конкретном примере.

Рассмотрим классический пример (Адамара) некорректной задачи — так называемую обратную задачу теплопроводности. Ищется функция u(t, х), удовлетворяющая уравнению
§25]

НЕКОРРЕКТНЫЕ ЗАДАЧИ И ИХ ПРИБЛИЖЕННОЕ РЕШЕНИЕ

393

в прямоугольной области O^x^l, O^t^T, с начальными данными и(0, х)=/(х) и краевыми условиями u(t, 0) = u(t, I) = 0. Пусть u(t, х) — решение этой задачи. Возмутим «правую часть» (входную информацию), т.е. рассмотрим ту же задачу, но с начальными данными и(0, х) = /(*) + 6 sin (&лх), где 6 — очень малое число. Выпишем явно решение новой задачи:

u(t, х) = u(t, х) + 6 екsin (Ллх).

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

Покажем, как сделать эту задачу корректной, выбирая нормы подходящим образом. Идея почти очевидна: нужно так определить норму Il Hf, чтобы величина 6 || sin (&л-)||,. была очень большой, тем большей, чем больше к. Проще всего это сделать, определяя норму элемента / Є F через его коэффициенты Фурье. Пусть f(x) = fk sin (Ллх). Определим, например,

1/2 Il \1/2

2к,глТ

(3)

|и(-

' о

^ /

Нетрудно проверить, что И * (I^ удовлетворяет требованиям, предъявляемым к нормам.

Теперь обратная задача теплопроводности стала корректной. В самом деле, если две функции f(x) и f(x) отличаются друг от друга на величину 6(х) =/(*) — /(*) и И 6(-)11 F ^ 6, то соответствующие решения обратных задач и(Т, х) и й(Т, х) отличаются друг от друга на функцию , ,
Предыдущая << 1 .. 146 147 148 149 150 151 < 152 > 153 154 155 156 157 158 .. 210 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed