Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Итерационные методы решения систем линейных уравнений. Курс лекций
.pdf
6.3. Лабораторная работа
Численно решить уравнение Пуассона в прямоугольнике с использованием существующих решателей систем линейных уравнений. Список задач
приведен в прил. П.2. Решить задачу из пункта (а), построить рядом точное
решение, численное и погрешность. Решить задачу из пункта (б), тип уравнений и граничных условий в обоих пунктах совпадает, это должно упростить
постановку.
Необязательные пункты:
>
○
сравнить приближенное решение с аналитическим, построить график
погрешности, оценить порядок аппроксимации;
>
○
протестировать несколько приближенных решателей СЛАУ, сравнить
их эффективность и погрешности. Также провести сравнение с прямым
решателем;
>
○
оценить погрешность аппроксимации; определить, какую погрешность
следует требовать при расчетах с итеративными решателями;
>
○
для расчетов с прямым решателем выяснить, как растет время выполнения задачи и объем используемой памяти при увеличении размеров
сетки;
>
○
задать предобуславливатель и протестировать, на сколько улучшится
производительность итерационных алгоритмов.
51

Лекция 7. Уравнения параболического типа
7.1. Двумерное уравнение теплопроводности
Рассмотрим двумерное уравнение теплопроводности в прямоугольнике в
довольно общей постановке. На границах области используются граничные
условия разных типов: условие Дирихле слева, условие Неймана справа,
периодическое замыкание снизу/сверху.
𝑐ρ𝑢𝑡=div(κ𝛁𝑢)+𝑓(𝑥,𝑦,𝑡), 0<𝑥<𝑙𝑥,0<𝑦<𝑙𝑦,0<𝑡,
𝑢(0,𝑦,𝑡)=µ(𝑦,𝑡), κ ⋅𝑢𝑥(𝑙𝑥,𝑦,𝑡)=φ(𝑦,𝑡),
𝑢(𝑥,𝑦+𝑙𝑦,𝑡)=𝑢(𝑥,𝑦,𝑡).
В уравнении𝑐— удельная теплоемкость,ρ— плотность,κ— коэффициент
теплопроводности. Обратим внимание на наличие коэффициентаκв правом
граничном условии, производная указана с коэффициентом теплопроводностиκ, поскольку поток тепла пропорционаленκ. Введем дифференциальный
оператор
Тогда уравнение можно записать в форме
𝑢=−div(κ𝛁𝑢
, который включает также граничные условия.
)
𝑐ρ𝑢𝑡+𝑢=𝑓.
Выпишем конечно-объемную аппроксимацию для оператора
и для
неоднородности. Подобные выражения уже неоднократно встречались, с
такими же граничными условиями, к примеру
(2.8)и(2.9)
. В данной задаче
необходимо только верно учесть коэффициент κ.
Сеточный оператор обозначим как 𝐿:
(𝐿𝑢)
𝑖𝑗
=κ ⋅
[
𝑖>1
𝑢𝑖𝑗−𝑢
]
+[𝑗>1
+[𝑖=1
𝑖−1,𝑗
2
ℎ
𝑥
𝑢𝑖𝑗−𝑢
]
]
+[𝑖<𝑛
𝑖,𝑗−1
2
ℎ
𝑦
2𝑢
𝑖𝑗
2
ℎ
𝑥
𝑥
+𝑗<𝑛
+[𝑗=1
𝑢𝑖𝑗−𝑢
]
𝑢𝑖𝑗−𝑢
]
2
ℎ
𝑥
𝑢𝑖𝑗−𝑢
𝑦
ℎ
𝑖+1,𝑗
2
𝑦
+
2
ℎ
𝑦
𝑖,𝑛
𝑦
+𝑗=𝑛
𝑖,𝑗+1
+
𝑢𝑖𝑗−𝑢
𝑦
ℎ
𝑖,1
2
𝑦
.
Сеточная функция 𝐹зависит от времени:
𝐹
2κµ
(𝑡)
ℎ
𝑗
2
𝑥
+[𝑖=𝑛
=𝑓
(𝑡)
𝑖𝑗
(𝑡)+[
𝑖𝑗
𝑖=1
]
φ
(𝑡)
𝑗
ℎ
.
𝑥
]
𝑥
В обоих выражениях предполагается, что коэффициентκявляется константой, в противном случае необходимо аппроксимировать значениеκна гра-
52

нях ячеек. Также обратим внимание на наличие коэффициентаκперед
µ
𝑗
(𝑡)
в неоднородности.
Выпишем теперь схему Кранка – Николсон для уравнения. Временной
шаг обозначим как𝜏. Номер временного шага будем обозначать верхним
индексом 𝑘, нижние индексы с указанием ячейки опустим:
𝑃
𝑢
𝑘+1
−𝑢
𝑘
+(1−ν)𝐿𝑢𝑘+ν𝐿𝑢
𝑘+1
=𝐹𝑡𝑘+ν𝜏, ν ∈[0,1].
𝜏
Здесь𝑃— диагональная матрица коэффициентов
ρ
— константы, то𝑃— тоже просто константа,
𝑃=𝑐ρ
𝑐ρ
в ячейках. Если𝑐и
. При
ν =0
получается
явная схема, условие устойчивости для явной схемы с точностью до констант
(4.1)
. При
линейных уравнений на 𝑢
Если параметры𝑐,ρиκне зависят от времени, то матрицы при
𝑘
𝑢
являются постоянными, их достаточно вычислить один раз. Введем для
ν =1
получается чисто неявная схема. Приведем запись к системе
𝐸+𝜏ν𝑃91𝐿𝑢
𝑘+1
:
𝑘+1
=𝐸−𝜏(1−ν)𝑃91𝐿𝑢𝑘+𝜏𝑃91𝐹𝑡𝑘+ν𝜏.
𝑢
𝑘+1
и
них обозначения 𝐴и 𝐵:
𝐴=𝐸+𝜏ν𝑃91𝐿, 𝐵=𝐸−𝜏(1−ν)𝑃91𝐿.
После этого система уравнений
𝐴𝑢
𝑘+1
=𝐵𝑢𝑘+𝜏𝑃91𝐹𝑡𝑘+ν𝜏
решается в основном цикле программы в одну строку.
Матрица𝐴лучше обусловлена по сравнению с матрицей оператора𝐿,
поэтому для решения целесообразно использовать итерационные методы
решения СЛАУ. Кроме того, значение
является хорошим начальным приближением для
𝐴
постоянная, то можно единственный раз в начале программы найти для
𝑘
𝑢
на предыдущем временном слое
𝑘+1
𝑢
. Также, если матрица
нее предобуславливатель и использовать его в итерационном методе, тогда
расчет будет просто «летать».
7.2. Двумерное уравнение Шрёдингера
Рассмотрим нестационарное уравнение Шрёдингера в прямоугольной
области. На границах используются различные виды граничных условий:
условие Дирихле слева, условие Неймана справа, периодическое замыкание
снизу/сверху. Ограничимся рассмотрением только однородного уравнения с
53

однородными граничными условиями.
𝜕ψ
𝑖ℏ
ψ(0,𝑦,𝑡)=0, ψ𝑥(𝑙𝑥,𝑦,𝑡)=0,
ψ(𝑥+𝑙,𝑦,𝑡)=ψ(𝑥,𝑦,𝑡).
=ψ, 0<𝑥<𝑙𝑥,0<𝑦<𝑙𝑦,0<𝑡,
𝜕𝑡
Здесь введен гамильтониан
2
=−
ℏ
∆+𝑈(𝑥,𝑦),
2𝑚
где
𝑈(𝑥,𝑦)
— потенциал. Выпишем конечно-объемную аппроксимацию для
гамильтониана, сеточный оператор обозначим как 𝐻:
𝐻ψ
(
=
)
𝑖𝑗
+[𝑗>1
ℏ
2𝑚
2
𝑖>1
[
]
ψ
𝑖𝑗
ψ
]
−ψ
ℎ
−ψ
𝑖𝑗
ℎ
𝑖,𝑗−1
2
𝑦
+[𝑗=1
𝑖−1,𝑗
2
𝑥
+𝑗<𝑛
+[𝑖<𝑛
ψ
𝑦
ψ
−ψ
𝑖𝑗
]
ℎ
ψ
−ψ
𝑖𝑗
]
𝑥
−ψ
𝑖𝑗
2
ℎ
𝑦
𝑖,𝑛
𝑦
2
𝑦
+𝑗=𝑛
2
ℎ
𝑥
𝑖,𝑗+1
𝑖+1,𝑗
+[𝑖=1
+
2ψ
𝑖𝑗
]
ψ
𝑖𝑗
−ψ
𝑦
ℎ
+
2
ℎ
𝑥
𝑖,1
2
𝑦
+𝑈𝑖𝑗.
После этого выписываем схему Кранка – Николсон:
𝑖ℏ
ψ
𝑘+1
−ψ
𝑘
=(1−ν)𝐻ψ𝑘+ν𝐻ψ
𝑘+1
, ν ∈[0,1].
𝜏
Схема будет устойчивой при преобладании неявной части
ν
1
. В кванто-
2
вой механике гамильтониан является самосопряженным оператором, при
корректной аппроксимации матрица
случае при
ν =
1
матрица перехода на новый временной слой по схеме
2
𝐻
должна быть эрмитовой. В этом
Кранка – Николсон будет унитарной. Таким образом, в численном решении
будет сохраняться величина равная суммарной вероятностиψ
𝑘+1,ψ𝑘+1
(ψ
Соберем слагаемые при ψ𝑘и ψ
Матрицы при
)=
𝑘
ψ
ψ
𝑘
,ψ
𝐸+𝑖
𝑘+1
.
𝑘+1
, получим:
1−ν)𝜏
𝜏ν
𝐻
𝑘+1
ψ
=𝐸−𝑖
ℏ
и
ψ𝑘являются постоянными. Введем для них обозна-
(
𝐻
𝑘
ψ
.
ℏ
ψ 𝑑𝑉
, т.е.
чения𝐴и𝐵. Матрицы достаточно вычислить один раз, после чего система
54

уравнений решается в основном цикле программы в одну строку:
1−ν)𝜏
𝐴ψ
𝑘+1
=𝐵ψ𝑘, 𝐴=𝐸+𝑖
𝜏ν
𝐻, 𝐵=𝐸−𝑖
ℏ
(
𝐻.
ℏ
Матрица𝐴лучше обусловлена по сравнению с матрицей оператора𝐻,
поэтому для решения целесообразно использовать итерационные методы
решения СЛАУ. Кроме того, значение
является хорошим начальным приближением для
𝐴
постоянная, то можно единственный раз в начале программы найти для
ψ𝑘на предыдущем временном слое
𝑘+1
ψ
. Также, если матрица
нее предобуславливатель, и использовать его в итерационном методе, тогда
расчет будет просто «летать».
Красивые формулы для маленьких любителей математики. Схему
Кранка – Николсон для уравнения Шрёдингера можно получить другим
оригинальным способом. Пусть мы провели пространственную дискретизацию уравнения Шрёдингера, далее считаем значения в ячейках зависящими
только от времени ψ
(𝑡). Тогда получаем систему ОДУ в матричной форме:
𝑗
𝑑ψ
𝑖ℏ
=𝐻ψ.
𝑑𝑡
Решение системы ОДУ можно представить через матричную экспоненту,
формула такая же, будто ψ и 𝐻скаляры:
𝑡
−𝑖
𝐻
ψ(𝑡)=𝑒
ℏ
ψ
,
(0)
а точная формула продвижения на один временной шаг 𝜏:
𝜏
−𝑖
ψ
Если аппроксимация гамильтониана
рица
=exp−𝑖
вой функции
𝐻
эрмитова. В этом случае матричная экспонента
𝜏
𝐻
— это унитарная матрица, а значит, и преобразование волно-
ℏ
ψ
𝑘
→ψ
𝑘+1
унитарное, как и должно быть. Разложим матричную
𝑘+1
=𝑒
𝐻
𝑘
ℏ
ψ
.
выполнена корректно, тогда мат-
𝑈 =
экспоненту в ряд Тейлора по малому параметру и получим различные аппроксимации:
ψ
𝑘+1
=𝑒
−𝑖
𝜏
𝐻
𝑘
ℏ
ψ
⇒ ψ
𝑘+1
=𝐸−𝑖
𝜏
𝐻
ψ𝑘— явная схема;
ℏ
𝜏
𝑖
𝐻
𝑘+1
ℏ
𝑒
ψ
=ψ
𝑘
⇒
𝐸+𝑖
Для данных двух схем матрица перехода
𝜏
ℏ
𝐻
ψ
𝑘+1
=ψ
𝑘
— неявная схема.
ψ
𝑘
→ ψ
𝑘+1
не является
унитарной. Из теории конформных отображений нам известно дробнорациональное отображение Кэли, которое обобщается на случай произ-
55

вольных линейных операторов:
1−𝑖
1+𝑖
𝑧
2
, 𝑒
𝑧
2
−𝑖
𝜏
𝐻
ℏ
≈𝐸+
𝑖𝜏
2ℏ
𝐻
−1
𝐸−
𝑖𝜏
𝐻.
2ℏ
𝑒
−𝑖𝑧
=
𝑧
−𝑖
2
𝑒
≈
𝑧
+𝑖
2
𝑒
Отображение Кэли для эрмитовых матриц является унитарным [2, c. 265],
как исходная матричная экспонента. Такая аппроксимация матричной экспоненты дает схему Кранка – Николсон:
𝐸+
𝑖𝜏
2ℏ
𝐻
𝑘+1
ψ
=𝐸−
𝑖𝜏
2ℏ
𝐻
𝑘
ψ
.
7.3. Лабораторная работа
Провести численное моделирование уравнения параболического типа.
Условия задач приведены в прил. П.3. В условиях встречаются три варианта
задач: задачи на уравнение теплопроводности, задачи на уравнение диффузии с распадом, задачи на уравнение Шрёдингера. При выполнении работы
следует использовать неявные схемы.
Дополнительные вопросы:
1
○
Если схема абсолютно устойчива, то каким образом следует выбрать
временной шаг 𝜏?
2
○
Сравнить время расчета при использовании прямых и итерационных
методов решения СЛАУ.
3
○
Для задач со стационарным оператором перехода найти предобуславливатель и ускорить расчет.
4
○
Оценить погрешность аппроксимации уравнения. Какую точность следует требовать при использовании итерационного решателя СЛАУ?
56

Лекция 8. Итерационный метод
с чебышёвским набором параметров
Пафн´yтий Льв´ович Чебышёв (1821 — 1894 гг.) — «величайший, наряду с
Н.И. Лобачевским, русский математик XIX века» [3, с. 216]. Чебышёв получил фундаментальные результаты в теории чисел (распределение простых
чисел) и теории вероятностей (центральная предельная теорема, закон больших чисел), построил общую теорию ортогональных многочленов, теорию
равномерных приближений функций и многие другие.
В течение 40 лет, начиная с публикации статьи «Теория механизмов, известных под названием параллелограммов» в 1854 г., ученый занимался
теорией наилучшего приближения функций. Теория приближений постепенно охватывала более широкий круг связанных с ней вопросов — теорию
ортогональных многочленов, оценки интегралов, квадратурные формулы,
интерполирование [3, с. 218], т. е. многие темы, лежащие в основе современных численных методов. Чебышёв разработал метод аппроксимации
функций полиномами и рациональными дробями, который без существенных
изменений используется в современных компьютерах [4].
Система ортогональных полиномов, носящих имя Чебышёва, появляется в
различных разделах численных методов. Новые оригинальные применения
многочленов Чебышёва были обнаружены в 1950-х гг. при решении систем
линейных уравнений. Об этом красивом математическом методе речь пойдет
в следующих параграфах.
Фамилию ученого — по его собственному указанию — следует произносить Чебыш´ов. Различные словари [5,6] и профильные академические
издания [7], последовательно использующие букву ё при передаче имен и названий, фиксируют в качестве нормы написание и произношение Чебышёв.
Не дадим в обиду букву ё, господа!
57

8.1. Многочлены Чебышёва
В данном разделе рассматриваются пространства непрерывных на отрезке функций
дующим образом:
эту норму также называют нормой Чебышёва или равномерной нормой, поскольку сходимость по этой норме эквивалентна равномерной сходимости.
В функциональном анализе также .
Многочлен Чебышёва степени 𝑛определяется по формуле
Многочлены введены Чебышёвым при исследовании полиномов, наименее
отклоняющихся от нуля на отрезке
𝑇𝑛(𝑥)будет доказано ближе к концу параграфа.
𝐶[𝑎,𝑏]
. Норма функций в пространстве
𝑓(𝑥)=max
𝑥∈[𝑎,𝑏]
∞
.
𝑓(𝑥),
𝐶[𝑎,𝑏]
вводится сле-
𝑇𝑛(𝑥)=cos(𝑛arccos𝑥). (8.1)
[−1,1]
. Это ключевое свойство полиномов
Покажем, что тригонометрическая формула
ет полиномы. Первые две функции:
𝑇0(𝑥)=1и𝑇1(𝑥)=𝑥
следующих выпишем рекуррентную формулу:
cos((𝑛+1)arccos𝑥)+cos((𝑛−1)arccos𝑥)=
=2cos(𝑛arccos𝑥)cos(arccos𝑥)=2𝑥cos(𝑛arccos𝑥
Следовательно,
𝑇
𝑛+1
⇒𝑇
(𝑥)
также является многочленом. Докажем некоторые
(𝑥)+𝑇
𝑛+1
(𝑥)=2𝑥𝑇𝑛(𝑥).
𝑛−1
свойства многочленов Чебышёва.
1
○
Многочлены Чебышёва четной степени являются четными функциями,
нечетной — нечетными:
𝑇
(−𝑥)
𝑛
=cos(𝑛arccos(−𝑥))=cos(π𝑛−𝑛arccos𝑥)=
=cos(π𝑛)⋅cos(𝑛arccos𝑥)=(−1
(8.1)
действительно определя-
. Для определения
)
𝑛
𝑇𝑛(𝑥).
)
⇒
2
○
Старший коэффициент1многочлена Чебышёва степени
𝑛−1
2
. Выпишем рекуррентную формулу:
𝑇
(𝑥)=2𝑥𝑇𝑛(𝑥)−𝑇
𝑛+1
𝑛−1
(𝑥).
𝑛1
Из формулы следует, что при увеличении𝑛коэффициент при старшей
степени 𝑥𝑛увеличивается в два раза (при 𝑛1).
1
Коэффициент при одночлене с максимальной степенью.
58
равен

3
○
Все корни
𝑥
на интервале (−1,1):
многочленов Чебышёва действительные и располагаются
𝑘
cos(𝑛arccos𝑥)=0 ⇒ 𝑛arccos𝑥=
4
○
Экстремумы
[−1,1]
знаку:
′
𝑇
𝑛
Следовательно, отклонение многочленов от нуля 𝑇𝑛(𝑥)=1.
Лемма 8.1
(2𝑘+1)π
⇒
2
2𝑘+1
π
(
⇒ 𝑥𝑘=cos
𝑥
многочленов Чебышёва располагаются на отрезке
𝑘
)
, 𝑘=0,𝑛−1.
2𝑛
, значения в экстремумах равны по модулю и чередуются по
(𝑥)=
1−𝑥
𝑛
𝑇
sin(𝑛arccos𝑥)=0 ⇒
2
𝑥
=cos𝑛arccoscos
(
)
𝑛
𝑘
π𝑘
𝑛
𝑥𝑘=cos
=(−1
𝑘
)
π𝑘
,
𝑛
, 𝑘=0,𝑛.
Рассмотрим многочлены степени𝑛с фиксированным
старшим коэффициентом равным
упорядоченный набор точек
𝑐
. Пусть существует
𝑛
𝑥𝑘на отрезке [−1,1]:
−1𝑥𝑛𝑥
в которых некоторый полином
симальные по модулю значения, т.е.
при этом знаки
член
ке
𝑄𝑛(𝑥)
[−1,1]
наименее отклоняется от нуля на отрез-
среди многочленов с коэффициентом при
𝑄
𝑛
старшей степени равным 𝑐
Доказательство. Докажем от противного. Пусть полином
ряет условиям леммы, т.е. существует упорядоченный набор точек
∈[−1,1]
, в которых
𝑄
достигает экстремумов, и при этом знаки
𝑛
дуются. Без ограничения общности можно считать, что
⋯𝑥1𝑥01,
𝑛−1
𝑄𝑛(𝑥)
𝑥
(
чередуются. Тогда много-
)
𝑘
.
𝑛
𝑄𝑛(𝑥𝑘)=(−1
принимает мак-
𝑄𝑛(𝑥𝑘)=𝑄𝑛
𝑄𝑛(𝑥)
удовлетво-
𝑥𝑘∈
𝑄𝑛(𝑥𝑘)
𝑘
𝑄𝑛
)
чере-
для 𝑘=0,𝑛.
Предположим, что существует отличный от него полином
𝑄𝑛(𝑥)
, который имеет такой же старший коэффициент, но меньше отклоняется от нуля,
т.е.
∀𝑥 𝑄𝑛(𝑥) <𝑄𝑛
полином степени 𝑛−1. Рассмотрим значения 𝑅(𝑥)в узлах𝑥
. Рассмотрим разность
𝑅(𝑥)=𝑄𝑛(𝑥)−𝑄𝑛(𝑥)
:
𝑘
, это
,
,
𝑅(𝑥𝑘)=(−1
𝑘
𝑄𝑛−𝑄𝑛(𝑥𝑘), 𝑘=0,𝑛.
)
59

При четных𝑘значение
функции
полином
𝑅(𝑥)
𝑅(𝑥)𝑛
в узлах
раз меняет знак, т.е. имеет𝑛корней. Приходим к противо-
𝑅(𝑥𝑘)>0
𝑥
чередуются. Отсюда следует, что на отрезке
𝑘
, при нечетных —
речию, поскольку 𝑅(𝑥)— это полином степени 𝑛−1.
𝑅(𝑥𝑘)<0
, т.е. значения
[−1,1]
Следствие.
Среди многочленов степени
том равным
𝑛−1
2
наименее отклоняются от нуля многочле-
𝑛1
со старшим коэффициен-
ны Чебышёва. В силу доказанных ранее свойств многочлены
𝑇𝑛(𝑥)
удовлетворяют всем условиям леммы⇒следствие
доказано.
Теорема 8.1
(теорема Чебышёва 1854 г.).
Для того чтобы некоторый многочлен
𝑃(𝑥)
степени не
выше𝑛был многочленом, наименее уклоняющимся
от функции
чтобы на отрезке
одна система из
𝑥
𝑏, в которых разность 𝑓(𝑥)−𝑃(𝑥):
𝑛+1
𝑓∈𝐶[𝑎,𝑏]
[𝑎,𝑏]
𝑛+2
точек
, необходимо и достаточно,
нашлась по крайней мере
𝑥𝑖∶𝑎𝑥0𝑥1⋯
1) поочередно принимает значения разных знаков;
2) достигает по модулю наибольшего на
[𝑎,𝑏]
значе-
ния.
Советский математик Яков Евгеньевич Ремез в 1934 г. ввел термин «чебышёвский альтернанс» (от французского alternance — чередование) для обозначения такой системы точек, а также предложил итерационный алгоритм
поиска этого самого альтернанса [8]. Алгоритм Ремеза позволяет построить
лучшую полиномиальную аппроксимацию для произвольной непрерывной
функции. Данная теорема лежит в основе теории аппроксимации [4].
8.2. Многочлены Чебышёва на отрезке [a, b]
Многочлены Чебышёва можно ввести на произвольном отрезке. Выпол-
ним линейное отображение 𝑡∈[−1,1]на отрезок 𝑥∈[𝑎,𝑏]:
𝑎+𝑏
𝑥=
2
+
𝑏−𝑎
𝑡, 𝑡=
2
Многочлены Чебышёва на отрезке [𝑎,𝑏]:
2𝑥−(𝑎+𝑏)
𝑇𝑛(𝑥)=cos𝑛arccos
𝑏−𝑎
Корни 𝑥
многочленов также линейно отображаются на отрезок:
𝑘
𝑥𝑘=
𝑎+𝑏
2
𝑏−𝑎
+
2
(2𝑘+1)π
cos
2𝑛
60
2𝑥−(𝑏+𝑎)
.
𝑏−𝑎
, 𝑥∈[𝑎,𝑏].
, 𝑘=0,𝑛−1.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
