stringtranslate.com

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

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

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

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

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

Проблема

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

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

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

В этом разделе мы описываем численные методы решения IVP и отмечаем, что краевые задачи (BVP) требуют другого набора инструментов. В BVP значения или компоненты решения y определяются более чем в одной точке. По этой причине для решения БВП необходимо использовать разные методы. Например, для этого класса задач подходят метод стрельбы (и его варианты) или глобальные методы, такие как конечные разности , [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 , но и сделать решение зависящим от большего количества прошлых значений. Это дает так называемый многошаговый метод . Возможно, самым простым является метод чехарды , который является вторым порядком и (грубо говоря) опирается на два значения времени.

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

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

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

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

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

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

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

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

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

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

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

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

Анализ

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

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

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

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

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

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

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

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

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

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

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

Стабильность и жесткость

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

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

История

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

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

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

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

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

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

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

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

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

Примечания

  1. ^ Чиконе, К. (2006). Обыкновенные дифференциальные уравнения с приложениями (т. 34). Springer Science & Business Media.
  2. ^ Брэди (2006, стр. 533–655)
  3. ^ аб ЛеВек, Р.Дж. (2007). Методы конечных разностей для обыкновенных уравнений и уравнений в частных производных: стационарные и нестационарные задачи (т. 98). СИАМ.
  4. ^ Слиман Аджерид и Махбуб Баккуш (2010) Методы Галеркина. Схоларпедия, 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). Издательство Кембриджского университета.
  11. ^ Вайсштейн, Эрик В. «Гауссова квадратура». Из MathWorld — веб-ресурса Wolfram. https://mathworld.wolfram.com/GaussianQuadrature.html
  12. ^ Мясник, JC (1987). Численный анализ обыкновенных дифференциальных уравнений: Рунге-Кутта и общие линейные методы. Уайли-Интерсайенс.
  13. ^ Хохбрук (2010, стр. 209–286) . Это современный и обширный обзорный документ для экспоненциальных интеграторов.
  14. ^ Брезински, К., и Залья, MR (2013). Методы экстраполяции: теория и практика. Эльзевир.
  15. ^ Монро, JL (2002). Экстраполяция и алгоритм Булирша-Стора. Физический обзор Е, 65(6), 066116.
  16. ^ Кирпекар, С. (2003). Реализация метода экстраполяции Булирша-Стера. Департамент машиностроения Калифорнийского университета в Беркли/Калифорния.
  17. ^ Нурминский Е.А. и Бурый А.А. (2011). Метод Паркера-Сохацкого решения систем обыкновенных дифференциальных уравнений с использованием графических процессоров. Численный анализ и приложения, 4 (3), 223.
  18. ^ Хайрер Э., Любич К. и Ваннер Г. (2006). Геометрическое численное интегрирование: алгоритмы, сохраняющие структуру для обыкновенных дифференциальных уравнений (Том 31). Springer Science & Business Media.
  19. ^ Хайрер Э., Любич К. и Ваннер Г. (2003). Геометрическое численное интегрирование, проиллюстрированное методом Штермера – Верле. Акта Нумерика, 12, 399–450.
  20. ^ Нивергельт, Юрг (1964). «Параллельные методы интегрирования обыкновенных дифференциальных уравнений». Коммуникации АКМ . 7 (12): 731–733. дои : 10.1145/355588.365137 . S2CID  6361754.
  21. ^ "Parallel-in-Time.org" . Parallel-in-Time.org . Проверено 15 ноября 2023 г.
  22. ^ Хайэм, Нью-Джерси (2002). Точность и устойчивость численных алгоритмов (Том 80). СИАМ.
  23. ^ Миранкер, А. (2001). Численные методы решения жестких уравнений и задачи сингулярных возмущений: и задачи сингулярных возмущений (Том 5). Springer Science & Business Media.
  24. ^ Маркус Кунце; Тассило Куппер (2001). «Негладкие динамические системы: обзор». У Бернольда Фидлера (ред.). Эргодическая теория, анализ и эффективное моделирование динамических систем . Springer Science & Business Media. п. 431. ИСБН 978-3-540-41290-8.
  25. ^ Тао Данг (2011). «Модельное тестирование гибридных систем». В Юстине Зандер, Ине Шифердекер и Питере Дж. Мостермане (ред.). Модельно-ориентированное тестирование встраиваемых систем . ЦРК Пресс. п. 411. ИСБН 978-1-4398-1845-9.
  26. ^ Брезински, К., и Вуйтак, Л. (2012). Численный анализ: исторические события в 20 веке. Эльзевир.
  27. ^ Мясник, JC (1996). История методов Рунге-Кутты. Прикладная численная математика, 20(3), 247-260.
  28. ^ Ашер, UM, Маттей, RM, и Рассел, RD (1995). Численное решение краевых задач для обыкновенных дифференциальных уравнений. Общество промышленной и прикладной математики.

Рекомендации

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