stringtranslate.com

Численные методы для обыкновенных дифференциальных уравнений

Иллюстрация численного интегрирования дифференциального уравнения
  Синий: метод Эйлера
  Красный: Точное решение: .
Размер шага составляет .
Та же иллюстрация для метода средней точки. Метод средней точки сходится быстрее, чем метод Эйлера, так как .

Численные методы для обыкновенных дифференциальных уравнений — это методы, используемые для нахождения численных приближений к решениям обыкновенных дифференциальных уравнений (ОДУ). Их использование также известно как « численное интегрирование », хотя этот термин может также относиться к вычислению интегралов .

Многие дифференциальные уравнения не могут быть решены точно. Однако для практических целей, например, в инженерии, часто бывает достаточно численного приближения решения. Изучаемые здесь алгоритмы можно использовать для вычисления такого приближения. Альтернативный метод — использовать методы исчисления для получения разложения решения в ряд .

Обыкновенные дифференциальные уравнения встречаются во многих научных дисциплинах, включая физику , химию , биологию и экономику . [1] Кроме того, некоторые методы в численных частных дифференциальных уравнениях преобразуют частное дифференциальное уравнение в обыкновенное дифференциальное уравнение, которое затем необходимо решить.

Проблема

Дифференциальное уравнение первого порядка — это задача начального значения (IVP) вида [2]

где — функция , а начальное условие — заданный вектор. Первый порядок означает, что в уравнении появляется только первая производная y , а высшие производные отсутствуют.

Не теряя общности для систем более высокого порядка, мы ограничимся дифференциальными уравнениями первого порядка , поскольку ОДУ более высокого порядка можно преобразовать в большую систему уравнений первого порядка, введя дополнительные переменные. Например, уравнение второго порядка y ′′ = − y можно переписать как два уравнения первого порядка: y ′ = z и z ′ = − y .

В этом разделе мы описываем численные методы для IVP и отмечаем, что краевые задачи (BVP) требуют другого набора инструментов. В BVP определяются значения или компоненты решения y в более чем одной точке. Из-за этого для решения BVP необходимо использовать разные методы. Например, метод стрельбы (и его варианты) или глобальные методы, такие как конечные разности [3] , методы Галеркина [4] или методы коллокации подходят для этого класса задач.

Теорема Пикара –Линделёфа утверждает, что существует единственное решение при условии, что f является липшицево-непрерывной функцией .

Методы

Численные методы решения задач первого порядка часто попадают в одну из двух больших категорий: [5] линейные многошаговые методы или методы Рунге–Кутты . Дальнейшее разделение может быть реализовано путем разделения методов на явные и неявные. Например, неявные линейные многошаговые методы включают методы Адамса–Моултона и методы обратного дифференцирования (BDF), тогда как неявные методы Рунге–Кутты [6] включают диагонально неявные методы Рунге–Кутты (DIRK), [7] [8] однократно диагонально неявные методы Рунге–Кутты (SDIRK), [9] и Гаусса–Радау [10] (основанные на квадратурных уравнениях Гаусса [11] ) численные методы. Явные примеры из семейства линейных многошаговых методов включают методы Адамса–Башфорта , и любой метод Рунге–Кутты с нижней диагональной таблицей Бутчера является явным . Нестрогое эмпирическое правило гласит, что жесткие дифференциальные уравнения требуют использования неявных схем, тогда как нежесткие задачи можно решить более эффективно с помощью явных схем.

Так называемые общие линейные методы (ОЛМ) являются обобщением двух вышеупомянутых больших классов методов. [12]

метод Эйлера

Из любой точки кривой можно найти приближение к близлежащей точке кривой, переместившись на небольшое расстояние вдоль линии, касательной к кривой.

Начиная с дифференциального уравнения ( 1 ), заменим производную yконечно-разностной аппроксимацией

что при перестановке дает следующую формулу

и использование ( 1 ) дает:

Эта формула обычно применяется следующим образом. Мы выбираем размер шага h и строим последовательность Мы обозначаем числовой оценкой точного решения . Мотивируя ( 3 ), мы вычисляем эти оценки по следующей рекурсивной схеме

Это метод Эйлера (или прямой метод Эйлера , в отличие от обратного метода Эйлера , который будет описан ниже). Метод назван в честь Леонарда Эйлера, который описал его в 1768 году.

Метод Эйлера является примером явного метода. Это означает, что новое значение y n +1 определяется в терминах уже известных вещей, таких как y n .

Обратный метод Эйлера

Если вместо ( 2 ) использовать приближение

получаем обратный метод Эйлера :

Обратный метод Эйлера является неявным методом, то есть нам нужно решить уравнение, чтобы найти y n +1 . Для этого часто используют итерацию с фиксированной точкой или (некоторую модификацию) метод Ньютона–Рафсона .

Решение этого уравнения требует больше времени, чем явные методы; эту стоимость следует учитывать при выборе метода для использования. Преимущество неявных методов, таких как ( 6 ), заключается в том, что они обычно более стабильны для решения жесткого уравнения , что означает, что можно использовать больший размер шага h .

Метод экспоненциального интегратора первого порядка

Экспоненциальные интеграторы описывают большой класс интеграторов, которые в последнее время получили широкое развитие. [13] Они появились как минимум в 1960-х годах.

Вместо ( 1 ) мы предполагаем, что дифференциальное уравнение имеет вид

или он был локально линеаризован относительно фонового состояния, чтобы создать линейный член и нелинейный член .

Экспоненциальные интеграторы строятся путем умножения ( 7 ) на и точного интегрирования результата за определенный интервал времени :

Это интегральное уравнение является точным, но оно не определяет интеграл.

Экспоненциальный интегратор первого порядка можно реализовать, сохраняя постоянство на всем интервале:

Обобщения

Метод Эйлера часто недостаточно точен. Если говорить точнее, то он имеет только порядок один (понятие порядка поясняется ниже). Это заставило математиков искать методы более высокого порядка.

Одна из возможностей — использовать не только ранее вычисленное значение y n для определения y n +1 , но и сделать решение зависящим от большего количества прошлых значений. Это дает так называемый многошаговый метод . Возможно, самым простым является метод leapfrog , который является методом второго порядка и (грубо говоря) опирается на два значения времени.

Почти все практические многошаговые методы попадают в семейство линейных многошаговых методов , которые имеют вид

Другая возможность — использовать больше точек в интервале . Это приводит к семейству методов Рунге–Кутты , названных в честь Карла Рунге и Мартина Кутты . Один из их методов четвертого порядка особенно популярен.

Расширенные возможности

Хорошая реализация одного из этих методов решения ОДУ подразумевает больше, чем просто формулу шага по времени.

Часто неэффективно использовать один и тот же размер шага все время, поэтому были разработаны методы с переменным размером шага . Обычно размер шага выбирается таким образом, чтобы (локальная) ошибка на шаг была ниже некоторого уровня допуска. Это означает, что методы должны также вычислять индикатор ошибки , оценку локальной ошибки.

Расширение этой идеи заключается в динамическом выборе между различными методами разных порядков (это называется методом переменного порядка ). Методы, основанные на экстраполяции Ричардсона [14] , такие как алгоритм Булирша–Штера [15] [16], часто используются для построения различных методов разных порядков.

Другие желательные характеристики включают в себя:

Альтернативные методы

Многие методы не попадают в рамки, обсуждаемые здесь. Некоторые классы альтернативных методов:

Параллельные во времени методы

Некоторые IVP требуют интеграции с таким высоким временным разрешением и/или в течение таких длительных временных интервалов, что классические последовательные методы временного шага становятся вычислительно невыполнимыми для запуска в реальном времени (например, IVP в численном прогнозировании погоды, моделировании плазмы и молекулярной динамике). Методы параллельного выполнения во времени (PinT) были разработаны в ответ на эти проблемы с целью сокращения времени выполнения моделирования за счет использования параллельных вычислений .

Ранние методы PinT (самые ранние были предложены в 1960-х годах) [20] изначально не были замечены исследователями из-за того, что требуемые им параллельные вычислительные архитектуры еще не были широко доступны. С появлением большей вычислительной мощности интерес возобновился в начале 2000-х годов с разработкой Parareal , гибкого, простого в использовании алгоритма PinT, который подходит для решения широкого спектра IVP. Появление exascale вычислений означало, что алгоритмы PinT привлекают все большее внимание исследователей и разрабатываются таким образом, чтобы они могли использовать самые мощные суперкомпьютеры в мире . Наиболее популярные методы по состоянию на 2023 год включают Parareal, PFASST, ParaDiag и MGRIT. [21]

Анализ

Численный анализ — это не только разработка численных методов, но и их анализ. Три центральных понятия в этом анализе:

Конвергенция

Численный метод называется сходящимся, если численное решение приближается к точному решению при шаге h, стремящемся к 0. Точнее, мы требуем, чтобы для каждого ОДУ (1) с функцией Липшица f и каждого t *  > 0,

Все упомянутые выше методы являются конвергентными.

Последовательность и порядок

Предположим, что численный метод

Локальная (усеченная) ошибка метода — это ошибка, допущенная на одном шаге метода. То есть, это разница между результатом, полученным методом, при условии, что на предыдущих шагах не было допущено ошибок, и точным решением:

Метод считается последовательным, если

Метод имеет порядок , если

Следовательно, метод является последовательным, если его порядок больше 0. (Прямой) метод Эйлера (4) и обратный метод Эйлера (6), представленные выше, оба имеют порядок 1, поэтому они являются последовательными. Большинство методов, используемых на практике, достигают более высокого порядка. Последовательность является необходимым условием для сходимости [ требуется ссылка ] , но не достаточным; для того, чтобы метод был сходящимся, он должен быть как последовательным, так и устойчивым к нулю.

Связанное понятие — глобальная (усекательная) ошибка , ошибка, сохраняющаяся на всех этапах, необходимых для достижения фиксированного времени . Явно, глобальная ошибка в момент времени равна , где . Глобальная ошибка одношагового метода th-го порядка равна ; в частности, такой метод является сходящимся. Это утверждение не обязательно верно для многошаговых методов.

Устойчивость и жесткость

Для некоторых дифференциальных уравнений применение стандартных методов, таких как метод Эйлера, явные методы Рунге–Кутты или многошаговые методы (например, методы Адамса–Башфорта), демонстрирует нестабильность в решениях, хотя другие методы могут давать устойчивые решения. Это «сложное поведение» в уравнении (которое не обязательно само по себе является сложным) описывается как жесткость и часто вызвано наличием различных временных масштабов в базовой задаче. [23] Например, столкновение в механической системе, такой как ударный осциллятор, обычно происходит в гораздо меньших временных масштабах, чем время движения объектов; это несоответствие приводит к очень «резким поворотам» на кривых параметров состояния.

Жесткие проблемы повсеместно встречаются в химической кинетике , теории управления , механике твердого тела , прогнозировании погоды , биологии , физике плазмы и электронике . Один из способов преодоления жесткости — расширить понятие дифференциального уравнения до понятия дифференциального включения , которое допускает и моделирует негладкость. [24] [25]

История

Ниже приведена хронология некоторых важных событий в этой области. [26] [27]

Численные решения одномерных краевых задач второго порядка

Краевые задачи (BVP) обычно решаются численно путем решения приблизительно эквивалентной матричной задачи, полученной путем дискретизации исходной BVP. [28] Наиболее часто используемый метод численного решения BVP в одном измерении называется методом конечных разностей . [3] Этот метод использует линейные комбинации точечных значений для построения коэффициентов конечных разностей , которые описывают производные функции. Например, центральное разностное приближение второго порядка к первой производной определяется как:

а центральная разность второго порядка для второй производной определяется выражением:

В обеих этих формулах — это расстояние между соседними значениями x в дискретизированной области. Затем строится линейная система, которая затем может быть решена стандартными матричными методами . Например, предположим, что уравнение, которое нужно решить, имеет вид:

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

и решить полученную систему линейных уравнений. Это приведет к уравнениям типа:

На первый взгляд, эта система уравнений кажется сложной, связанной с тем, что уравнение не содержит членов, не умножаемых на переменные, но на самом деле это неверно. При i = 1 и n − 1 есть член, включающий граничные значения и и поскольку эти два значения известны, можно просто подставить их в это уравнение и в результате получить неоднородную систему линейных уравнений , которая имеет нетривиальные решения.

Смотрите также

Примечания

  1. ^ Чиконе, К. (2006). Обыкновенные дифференциальные уравнения с приложениями (т. 34). Springer Science & Business Media.
  2. ^ Брэди (2006, стр. 533–655)
  3. ^ ab LeVeque, RJ (2007). Методы конечных разностей для обыкновенных и частных дифференциальных уравнений: стационарные и зависящие от времени задачи (т. 98). SIAM.
  4. ^ Слиман Аджерид и Махбуб Бакуч (2010) Методы Галеркина. Scholarpedia, 5(10):10056.
  5. ^ Гриффитс, ДФ и Хайэм, Д.Дж. (2010). Численные методы для обыкновенных дифференциальных уравнений: задачи начального значения. Springer Science & Business Media.
  6. ^ Хайрер, Норсетт и Ваннер (1993, стр. 204–215)
  7. ^ Александер, Р. (1977). Диагонально неявные методы Рунге–Кутты для жестких ОДУ. Журнал SIAM по численному анализу, 14(6), 1006–1021.
  8. ^ Кэш, Дж. Р. (1979). Диагонально неявные формулы Рунге-Кутты с оценками погрешности. Журнал прикладной математики IMA, 24(3), 293-301.
  9. ^ Феррацина, Л. и Спайкер, МН (2008). Сильная устойчивость однодиагонально-неявных методов Рунге–Кутты. Прикладная численная математика, 58(11), 1675–1686.
  10. ^ Эверхарт, Э. (1985). Эффективный интегратор, использующий интервалы Гаусса-Радо. В сборнике Международного астрономического союза (т. 83, стр. 185–202). Cambridge University Press.
  11. ^ Weisstein, Eric W. «Квадратура Гаусса». Из MathWorld — веб-ресурса Wolfram. https://mathworld.wolfram.com/GaussianQuadrature.html
  12. ^ Бутчер, Дж. К. (1987). Численный анализ обыкновенных дифференциальных уравнений: метод Рунге-Кутты и общие линейные методы. Wiley-Interscience.
  13. ^ Хохбрук (2010, стр. 209–286) Это современная и обширная обзорная статья для экспоненциальных интеграторов.
  14. ^ Брезински, К. и Залья, М. Р. (2013). Методы экстраполяции: теория и практика. Elsevier.
  15. ^ Монро, Дж. Л. (2002). Экстраполяция и алгоритм Булирша-Штера. Physical Review E, 65(6), 066116.
  16. ^ Кирпекар, С. (2003). Реализация метода экстраполяции Булирша-Штоера. Кафедра машиностроения, Калифорнийский университет в Беркли/Калифорния.
  17. ^ Нурминский, Е.А., и Бурый, А.А. (2011). Метод Паркера-Сохацкого для решения систем обыкновенных дифференциальных уравнений с использованием графических процессоров. Численный анализ и приложения, 4(3), 223.
  18. ^ Хайрер, Э., Любич, К. и Ваннер, Г. (2006). Геометрическое численное интегрирование: алгоритмы сохранения структуры для обыкновенных дифференциальных уравнений (т. 31). Springer Science & Business Media.
  19. ^ Хайрер, Э., Любич, К. и Ваннер, Г. (2003). Геометрическое численное интегрирование, проиллюстрированное методом Штёрмера–Верле. Acta Numerica, 12, 399–450.
  20. ^ Нивергельт, Юрг (1964). «Параллельные методы интегрирования обыкновенных дифференциальных уравнений». Сообщения ACM . 7 (12): 731–733. doi : 10.1145/355588.365137 . S2CID  6361754.
  21. ^ "Parallel-in-Time.org". Parallel-in-Time.org . Получено 15 ноября 2023 г. .
  22. ^ Хайэм, Нью-Джерси (2002). Точность и устойчивость численных алгоритмов (т. 80). SIAM.
  23. ^ Миранкер, А. (2001). Численные методы для жестких уравнений и задач сингулярного возмущения: и задачи сингулярного возмущения (т. 5). Springer Science & Business Media.
  24. ^ Маркус Кунце; Тассило Куппер (2001). "Негладкие динамические системы: обзор". В Бернольде Фидлере (ред.). Эргодическая теория, анализ и эффективное моделирование динамических систем . Springer Science & Business Media. стр. 431. ISBN 978-3-540-41290-8.
  25. ^ Тао Данг (2011). "Тестирование гибридных систем на основе моделей". В Justyna Zander, Ina Schieferdecker и Pieter J. Mosterman (ред.). Тестирование встроенных систем на основе моделей . CRC Press. стр. 411. ISBN 978-1-4398-1845-9.
  26. ^ Брезински, К. и Вюйтак, Л. (2012). Численный анализ: Исторические разработки в 20 веке. Elsevier.
  27. ^ Бутчер, Дж. К. (1996). История методов Рунге-Кутты. Прикладная численная математика, 20(3), 247-260.
  28. ^ Ascher, UM, Mattheij, RM, & Russell, RD (1995). Численное решение краевых задач для обыкновенных дифференциальных уравнений. Общество промышленной и прикладной математики.

Ссылки

Внешние ссылки