Библиографическое описание:

Рыбков М. В. Алгоритм интегрирования с переменным числом стадий для решения умеренно жестких задач // Молодой ученый. — 2015. — №11. — С. 101-107.

Введение

При численном исследовании жестких задач вида

, , ,                                                   (1)

где y и f – гладкие вещественные N-мерные вектор функции; t – независимая переменная; все большее внимание привлекают явные методы [1–2]. Это связано с тем, что при применении L-устойчивых методов возникает проблема с обращением матрицы Якоби. В случае большой размерности системы дифференциальных уравнений время декомпозиции данной матрицы фактически определяет общие вычислительные затраты. В то же время явные методы не нуждаются в вычислении матрицы Якоби и, если жесткость задачи не слишком велика, то они будут предпочтительнее. В настоящее время применяются алгоритмы переменных порядка и шага, что приводит к существенному повышению эффективности расчетов. На участках установления нет смысла использовать численные формулы высокого порядка точности. Быстродействие можно повысить за счет применения методов низкого порядка, но с большими областями устойчивости. Поэтому дальнейшее повышение эффективности достигается за счет построения алгоритмов интегрирования не только с переменными порядком и шагом, но и с переменным числом стадий.

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

Явные методы типа Рунге-Кутта

Для численного решения жестких задач в [2] предлагается применять явные методы вида

,   ,                                     (2)

где ki, 1≤i≤m – стадии метода; pmi, αij и βij – коэффициенты, определяющие свойства точности и устойчивости схемы (2). Для упрощения выкладок далее рассмотрим задачу Коши для автономной системы обыкновенных дифференциальных уравнений

,   ,   ,                                                  (3)

для решения которой применим методы вида

,   ,   ,                        (4)

где ki=hf(yn,i-1), 1≤im, yn,0=yn. Все полученные ниже результаты можно использовать для неавтономных задач, если в (2) положить

,  ,  .                                                       (5)

Условия порядка

Ниже потребуется матрица Bm с элементами bij [1–2]

,   ,

,  ,  ,                                                                  (6)

,  ,  ,

где βij – коэффициенты схемы (2) или (4). Устойчивость одношаговых методов обычно исследуется на линейном скалярном уравнении

,  ,                                                                 (7)

с комплексным λ, Re(λ)<0. Применяя вторую формулу (4) к (7), получим

, , , , .                (8)

Обозначая Cm=(cm1, …, cmm)T и Pm=(pm1, …, pmm)T, последнее соотношение (8) можно переписать в виде

,                                                                                       (9)

где элементы матрицы Bm определены соотношениями (6). Для промежуточных численных схем (4) имеем

,  , ,  ,      .        (10)

Используя обозначения βk=(βk+1,1, …, βk+1,k)T и ck=(ck1, …, ckk)T, получим, что коэффициенты βij промежуточных схем (4) и коэффициенты соответствующих многочленов устойчивости связаны соотношениями

                                                                (11)

Заметим, что из сравнения (6) и (10) следует, что bki=ci-1,k-1, то есть элементы (k+1)-го столбца матрицы Bm совпадают с коэффициентами многочлена устойчивости Qk(z). Отсюда следует, что если заданы коэффициенты многочленов устойчивости основной и промежуточной численных схем, то коэффициенты методов (4) однозначно определяются из линейных систем (9) и (11) с верхними треугольными матрицами Bi, 1≤i≤m.

Разлагая точное и приближенное решения в ряды Тейлора по степеням h, можно записать

,

                                        (12)

,

где элементарные дифференциалы вычислены на точном y(tn) и приближенном yn решениях, соответственно. Из сравнения соотношений (12) при условии yn=y(tn) видно, что численная формула (4) будет иметь первый порядок точности, если

.

Отсюда следует, что для построения m-стадийных методов первого порядка точности в линейной системе (9) следует положить cm1=1.

Для того чтобы воспользоваться соотношениями (9) и (11) требуются коэффициенты многочленов устойчивости. Функция устойчивости явного m-стадийного метода типа Рунге-Кутта представляет собой полином степени m. Через заданные коэффициенты схемы (4) можно вычислить коэффициенты этого многочлена по формуле (9).

Многочлены устойчивости

Пусть заданы два целых числа k и m, km. Рассмотрим многочлены вида

,                                                          (13)

где коэффициенты ci, 1≤ik заданы, а ci, k+1≤im − свободные. Обычно ci, 1≤ik определяются из требований аппроксимации. Поэтому для определенности ниже будем предполагать, что ci=1/i!, 1≤ik.

Обозначим экстремальные точки (13) через x1, … ,xm−1, причем x1>x2>…>xm−1. Неизвестные коэффициенты ci, k+1≤im определим из условия, чтобы многочлен (13) в экстремальных точках xi, kim−1 принимал заданные значения, то есть

, ,                                                               (14)

где F(x) есть некоторая заданная функция, Fi=F(xi). Для этого на xi, kim−1 и cj, k+1≤jm рассмотрим следующую алгебраическую систему уравнений

, , , .                         (15)

Перепишем (15) в виде, удобном для расчетов на ЭВМ. Для этого обозначим через y, z, g и r векторы с координатами

, , ,

, ,                                                                 (16)

через E1,…,E5 − диагональные матрицы с элементами на диагонали вида

, , ,

,                          (17)

а через A – матрицу с элементами , . Заметим, что компоненты векторов (16), матриц (17) и  зависят от чисел  и , причем

,  ,  ,  ,  ,  .

Ниже аргументы опущены для упрощения записи. С использованием введенных обозначений задачу (15) можно записать в виде

,   .                                                                       (18)

Система (18) плохо обусловлена, что приводит к определенным трудностям при использовании для ее решения метода простой итерации. Для сходимости метода Ньютона требуются хорошие начальные условия, что в данном случае есть трудновыполнимая проблема. Если в (15) положить Fi=(−1)i, kim−1, то есть поставить задачу нахождения полинома с максимальным размером интервала устойчивости, то вопрос о вычислении начального условия y0 решается достаточно просто с использованием значений экстремальных точек многочлена Чебышева, рассматриваемого на отрезке [−2m2,0], где m – есть степень (13). Их можно вычислить по формуле

,   .                                             (19)

Подставляя (19) в первую формулу (18), получим коэффициенты полинома Чебышева, для которого |Qm1(x)|≤1 при xÎ[−2m2,0]. При любом  в качестве начальных условий можно взять (19) и, как показывают расчеты, имеется хорошая сходимость. Если же Fi≠(−1)i, kim−1, то выбор начальных условий является, вообще говоря, искусством.

Опишем способ решения (18), который не нуждается в хороших начальных условиях. Для численного решения (18) используем метод установления, который заключается в том, что для стационарной задачи строится нестационарный процесс, решение которого с течением времени устанавливается к решению исходной задачи. Рассмотрим задачу

.                                                (20)

Ясно, что после определения стационарной точки (20) коэффициенты полинома устойчивости можно вычислить из первой системы (18). Заметим, что при использовании матрицы E5 все собственные числа матрицы Якоби задачи (20) имеют отрицательные вещественные части, то есть задача (20) устойчивая. Из результатов расчетов следует, что (20) является жесткой задачей. Методы решения таких задач предполагают вычисление матрицы Якоби, что в случае (20) связано с трудностями. Поэтому для ее решения используем метод второго порядка точности с численным вычислением и замораживанием матрицы Якоби [3−4].

Метод первого порядка

В [5] описан алгоритм построения многочленов с заданными свойствами на промежутке [−1, 1], который позволяет вычислить коэффициенты многочленов устойчивости, соответствующих методам первого порядка, до степени m=27. Если параметры схемы (2) и коэффициенты полинома (13) связаны соотношениями (9) при условии cm1=1, то решение (9) дает параметры m-стадийной схемы (2) первого порядка точности. При заданных βij, 2≤i≤m, 1≤j≤i−1 и cij, 2≤i≤m задача (13) имеет единственное решение в силу невырожденности матрицы Bm. При выборе βij можно руководствоваться различными соображениями. Если, например, набор формул (2) используется совместно с методом более высокого порядка точности, то и в схемах первого порядка естественно применять те же самые ki.

Получим неравенства для контроля точности и устойчивости. Схемы первого порядка предполагается использовать на участке установления, где шаг ограничен устойчивостью, а не точностью. Контроль точности в этом случае носит вспомогательный характер, и для получения соответствующего неравенства будем использовать оценку локальной ошибки. В [2] показано, что из сравнения точного решения y(tn+1) задачи (1) и приближенного решения yn+1, полученного по схеме (2), до членов h2 включительно при условии yn=y(tn) локальная ошибка схемы (2) первого порядка точности имеет вид

.                                             (21)

Учитывая (8), ее можно переписать так:

,                                                      (22)

где c2m – заданный коэффициент при x2 в (13).

Величину δn,1с помощью уже вычисленных стадий ki, 1≤i≤m можно оценить многими способами. Будем поступать следующим образом. Введем обозначения:

, ,                                      (23)

где

, .                                                  (24)

Тогда, учитывая что

,  ,                      (25)

для контроля точности вычислений и при выборе шага интегрирования можно применять соответственно неравенства

,.                                                                      (26)

Вектор k1 зависит от размера шага линейно. Поэтому с помощью первого неравенства (26) повторное вычисление решения сопровождается всего лишь одним дополнительным вычислением правой части дифференциальной задачи. В случае успешного шага второе неравенство (26) не приводит к увеличению вычислительных затрат, потому что вектор f(yn+1) не применяется в следующем шаге интегрирования. Если второе неравенство (26) используется для контроля точности вычислений, то возврат при невыполнении точности будет дорогим, причем с ростом m затраты увеличиваются. Однако предварительный контроль A'n позволяет в основном избежать повторных вычислений решения.

В случае применения численных формул (2) с переменным числом стадий при 2≤m≤M, где M – заданное целое число, можно поступать следующим образом. Введем обозначения:

,  ,                                                    (27)

где g''m1вычисляются по первой формуле (24). Оценку ошибки определим по формулам

 , .                                    (28)

Тогда для контроля точности и при выборе шага интегрирования сразу для всего набора формул снова можно использоваться неравенства (26).

Теперь перейдем к получению неравенства для контроля устойчивости. Ниже будем предполагать выполненными соотношения

,  ,                                                                     (29)

где β21, β31, β32 – параметры схемы (2).

Неравенство для контроля устойчивости получим следующим образом. Запишем разность (k3k2) в форме Тейлора с остаточным членом в форме Лагранжа первого рода:

.                                                        (30)

Учитывая вид разности (k2 – k1), оценку максимального собственного числа матрицы Якоби можно определить степенным методом, т.е. для контроля устойчивости методов (2) первого порядка будем применять неравенство

,                                                                                (31)

где

,                                                                (32)

а положительные постоянные γm,1, 3≤m≤M связаны с размером области устойчивости численных схем. Неравенство (31) можно использовать на каждом шаге для выбора эффективной численной схемы.

Таким образом, задача о построении явных методов Рунге-Кутта первого порядка точности с заданной областью устойчивости сводится к решению системы линейных алгебраических уравнений (9) с невырожденной матрицей Bm, где компоненты вектора cm определяют размер и форму области устойчивости. Ниже с помощью построенных численных схем сформулируем алгоритм интегрирования, в котором допускаются расчеты, как по фиксированной схеме, так и с переменным числом стадий. Параметры методов можно хранить в виде двухмерного массива E с элементами eij вида

,  ,  ,  ,  ,  ,                     (33)

где M – максимальное число стадий в наборе методов. Величины γm,1, 3≤m≤M будем хранить в одномерном массиве.

Алгоритм с переменным числом стадий

Пусть имеется набор m-стадийных методов, длины интервалов устойчивости которых равны γm,1, 3≤mM, M ≥ 3. Ниже будем полагать, что при первом входе m=3. Алгоритм интегрирования с переменным числом стадий на основе методов первого порядка записывается следующим образом.

Шаг 1. Вычислить стадию k1 по формуле (2).

Шаг 2. Вычислить стадию k2 по формуле (2).

Шаг 3. Вычислить оценку локальной ошибки δn,1 по первой формуле (23).

Шаг 4. Вычислить значение q по формуле

                                               .                                                                           (34)

Шаг 5. Если  q<1, то h положить q·h и перейти на шаг 2 (возврат).

Шаг 6. Вычислить стадии ki, 3 ≤ im по формулам (2).

Шаг 7. Вычислить значение f(yn+1).

Шаг 8. Вычислить оценку локальной ошибки δn,1 по второй формуле (23).

Шаг 9. Перевычислить значение q по формуле (34).

Шаг 10. Если  q<1, то h присвоить q·h и перейти на шаг 2 (возврат).

Шаг 11. Вычислить приближенное решение yn+1 по схеме (2).

Шаг 12. Вычислить значение vn по формуле (32).

Шаг 13. Вычислить значение r по формуле r×vn=γm,1.

Шаг 14. Вычислить прогнозируемый шаг hn+1 по формуле

                                   .

Шаг 15. Если q×vn>γm,1 и m<M, то положить m равным (m+1).

Шаг 16. Если m>3 и q×vn<γm–1,1, то положить m равным (m–1).

Заключение

С помощью описанной схемы получены коэффициенты многочленов устойчивости до степени m=27, и построены соответствующие методы первого порядка точности. Известно, что максимальная длина интервала устойчивости m-стадийного метода типа Рунге-Кутта первого порядка точности равна 2m2. В результате на каждое вычисление правой части приходится 2m единиц длины интервала устойчивости. Это означает, что если шаг ограничен по устойчивости, то с ростом m эффективность метода возрастает. Построенный здесь алгоритм интегрирования жестких задач с переменным числом стадий на основе методов первого порядка позволяет существенно повысить эффективность расчетов на участке установления решения, где шаг ограничен по устойчивости.

Работа выполнена при финансовой поддержке РФФИ (проект 14-01-00047).

 

Литература:

1.      Хайрер Э. Решение обыкновенных дифференциальных уравнений. Жесткие и дифференциально-алгебраические задачи: монография / Э. Хайрер, Г. Ваннер. – М.: Мир, 1999. – 685 c.

2.      Новиков Е.А. Явные методы для жестких систем: монография / Е.А.Новиков. – Новосибирск: Наука, 1997. – 197 с.

3.      Новиков A.Е. L-устойчивый (2,1)-метод решения жестких неавтономных задач / А.Е. Новиков, Е.А.Новиков // Вычислительные технологии. – 2008. – №13. – С. 477−482.

4.      Новиков Е.А. Алгоритм интегрирования жестких систем на основе (m,k)-метода второго порядка точности с численным вычислением матрицы Якоби / Е.А. Новиков, Ю.А. Шитов // Красноярск: Препринт ВЦ СО АН СССР №20. – 1988. – 23 c.

5.      Новиков Е.А. Численный алгоритм построения многочленов устойчивости методов первого порядка / Е.А.Новиков, М.В. Рыбков // Вестник Бурятского государственного университета. – 2014. – № 9-2. – С. 80–85.

Обсуждение

Социальные комментарии Cackle