stringtranslate.com

Методы Рунге–Кутты

Сравнение методов Рунге-Кутты для дифференциального уравнения (красный цвет — точное решение)

В численном анализе используются методы Рунге –Кутты ( англ.: / ˈ r ʊ ŋ ə ˈ k ʊ t ɑː / RUUNG-ə-KUUT-tah[1]) представляют собой семействонеявных и явныхитерационных методов, включающееметод Эйлера, используемый привременной дискретизациидля приближенных решенийодновременных нелинейных уравнений.[2]Эти методы были разработаны около 1900 года немецкими математикамиКарлом РунгеиВильгельмом Куттой.

Метод Рунге–Кутта

Уклоны, используемые классическим методом Рунге-Кутта

Наиболее известный член семейства методов Рунге–Кутты обычно называют «RK4», «классическим методом Рунге–Кутты» или просто «методом Рунге–Кутты».

Пусть задача с начальными данными задана следующим образом:

Вот неизвестная функция (скалярная или векторная) времени , которую мы хотели бы аппроксимировать; нам говорят, что , скорость, с которой изменяется, является функцией и самого себя. В начальный момент времени соответствующее значение равно . Функция и начальные условия , даны.

Теперь выберем размер шага h > 0 и определим:

для n = 0, 1, 2, 3, ..., используя [3]

( Примечание: приведенные выше уравнения имеют разные, но эквивалентные определения в разных текстах. [4] )

Здесь представлена ​​аппроксимация RK4 для , а следующее значение ( ) определяется текущим значением ( ) плюс средневзвешенное значение четырех приращений, где каждое приращение является произведением размера интервала h и предполагаемого наклона, заданного функцией f в правой части дифференциального уравнения.

При усреднении четырех наклонов больший вес придается наклонам в средней точке. Если не зависит от , так что дифференциальное уравнение эквивалентно простому интегралу, то RK4 — это правило Симпсона . [5]

Метод RK4 является методом четвертого порядка, что означает, что локальная ошибка усечения составляет порядка , тогда как общая накопленная ошибка составляет порядка .

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

Явные методы Рунге–Кутты

Семейство явных методов Рунге–Кутты является обобщением упомянутого выше метода RK4. Оно задается формулой

где [6]

( Примечание: приведенные выше уравнения могут иметь разные, но эквивалентные определения в некоторых текстах. [4] )

Чтобы указать конкретный метод, необходимо указать целое число s (количество стадий) и коэффициенты a ij (для 1 ≤ j < is ), b i (для i = 1, 2, ..., s ) и c i (для i = 2, 3, ..., s ). Матрица [ a ij ] называется матрицей Рунге–Кутты , в то время как b i и c i известны как веса и узлы . [7] Эти данные обычно располагаются в мнемоническом устройстве, известном как таблица Бутчера (в честь Джона К. Бутчера ):

Разложение в ряд Тейлора показывает , что метод Рунге–Кутты является последовательным тогда и только тогда, когда

Существуют также сопутствующие требования, если требуется, чтобы метод имел определенный порядок p , что означает, что локальная ошибка усечения равна O( h p +1 ). Они могут быть выведены из определения самой ошибки усечения. Например, двухэтапный метод имеет порядок 2, если b 1 + b 2 = 1, b 2 c 2 = 1/2 и b 2 a 21 = 1/2. [8] Обратите внимание, что популярным условием для определения коэффициентов является [8]

Однако одно это условие не является ни достаточным, ни необходимым для согласованности. [9]

В общем случае, если явный -этапный метод Рунге-Кутты имеет порядок , то можно доказать, что число этапов должно удовлетворять , а если , то . [10] Однако неизвестно, являются ли эти границы точными во всех случаях. В некоторых случаях доказано, что граница не может быть достигнута. Например, Бутчер доказал, что для , явного метода с этапами не существует . [11] Бутчер также доказал, что для , явного метода Рунге-Кутты с этапами не существует . [12] В общем случае, однако, остается открытой проблема, каково точное минимальное число этапов для явного метода Рунге-Кутты, чтобы иметь порядок . Некоторые известные значения: [13]

Доказуемая граница выше затем подразумевает, что мы не можем найти методы порядков , которые требуют меньше стадий, чем методы, которые мы уже знаем для этих порядков. Работа Бутчера также доказывает, что методы 7-го и 8-го порядка имеют минимум 9 и 11 стадий соответственно. [11] [12] Пример явного метода порядка 6 с 7 стадиями можно найти в [14] . Явные методы порядка 7 с 9 стадиями [11] и явные методы порядка 8 с 11 стадиями [15] также известны. См. [16] [17] для резюме.

Примеры

Метод RK4 попадает в эту структуру. Его таблица [18]

Небольшая вариация метода «Рунге–Кутта» также принадлежит Кутте в 1901 году и называется правилом 3/8. [19] Основное преимущество этого метода в том, что почти все коэффициенты ошибок меньше, чем в популярном методе, но он требует немного больше FLOP (операций с плавающей точкой) на шаг времени. Его таблица Бутчера

Однако простейшим методом Рунге–Кутты является (прямой) метод Эйлера , заданный формулой . Это единственный последовательный явный метод Рунге–Кутты с одним этапом. Соответствующая таблица имеет вид

Методы второго порядка с двумя этапами

Примером метода второго порядка с двумя этапами является явный метод средней точки :

Соответствующая таблица:

Метод средней точки — не единственный метод Рунге–Кутты второго порядка с двумя этапами; существует семейство таких методов, параметризованных α и заданных формулой [20]

Его картина Мясника - это

В этом семействе есть метод средней точки , есть метод Хойна , [5] и есть метод Ралстона.

Использовать

В качестве примера рассмотрим двухэтапный метод Рунге-Кутты второго порядка с α = 2/3, также известный как метод Ральстона . Он задается таблицей

с соответствующими уравнениями

Этот метод используется для решения задачи начального значения

с размером шага h = 0,025, поэтому метод должен выполнить четыре шага.

Метод осуществляется следующим образом:

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

Адаптивные методы Рунге–Кутты

Адаптивные методы предназначены для получения оценки локальной ошибки усечения одного шага Рунге-Кутты. Это делается с помощью двух методов, одного с порядком и одного с порядком . Эти методы переплетены, т. е. имеют общие промежуточные шаги. Благодаря этому оценка ошибки имеет небольшие или пренебрежимо малые вычислительные затраты по сравнению с шагом с методом более высокого порядка.

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

Шаг низшего порядка определяется как

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

что равно . Таблица Бутчера для этого вида метода расширена, чтобы дать значения :

Метод Рунге –Кутты–Фельберга имеет два метода порядков 5 и 4. Его расширенная таблица Бутчера имеет вид:

Однако простейший адаптивный метод Рунге–Кутты включает в себя объединение метода Хойна , который имеет порядок 2, с методом Эйлера , который имеет порядок 1. Его расширенная таблица Бутчера имеет вид:

Другими адаптивными методами Рунге–Кутты являются метод Богацки–Шампайна (порядки 3 и 2), метод Кэша–Карпа и метод Дорманда–Принса (оба с порядками 5 и 4).

Неконфлюэнтные методы Рунге–Кутты

Метод Рунге–Кутты называется неконфлюэнтным [21], если все различны.

Методы Рунге–Кутты–Нистрема.

Методы Рунге–Кутты–Нистрёма являются специализированными методами Рунге–Кутты, оптимизированными для дифференциальных уравнений второго порядка. [22] [23] Общий метод Рунге–Кутты–Нистрёма для системы ОДУ второго порядка

с заказом связано с формой

который образует стол Мясника с формой

.

Два явных метода РКН четвертого порядка задаются следующими таблицами Бутчера:

Эти две схемы также обладают симплектическими свойствами сохранения, когда исходное уравнение выводится из консервативной классической механической системы, т.е. когда

для некоторой скалярной функции . [24]

Неявные методы Рунге-Кутты

Все методы Рунге–Кутты, упомянутые до сих пор, являются явными методами . Явные методы Рунге–Кутты, как правило, не подходят для решения жестких уравнений , поскольку их область абсолютной устойчивости мала; в частности, она ограничена. [25] Этот вопрос особенно важен при решении уравнений в частных производных .

Нестабильность явных методов Рунге–Кутты мотивирует разработку неявных методов. Неявный метод Рунге–Кутты имеет вид

где

[26]

Разница с явным методом заключается в том, что в явном методе сумма по j увеличивается только до i − 1. Это также проявляется в таблице Бутчера: матрица коэффициентов явного метода является нижней треугольной. В неявном методе сумма по j увеличивается до s , а матрица коэффициентов не является треугольной, что дает таблицу Бутчера вида [18]

Объяснение этой строки см. в разделе «Адаптивные методы Рунге-Кутты» выше.

Следствием этого различия является то, что на каждом шаге необходимо решить систему алгебраических уравнений. Это значительно увеличивает вычислительные затраты. Если метод с s этапами используется для решения дифференциального уравнения с m компонентами, то система алгебраических уравнений имеет ms компонентов. Это можно противопоставить неявным линейным многошаговым методам (другое большое семейство методов для ОДУ): неявный s -шаговый линейный многошаговый метод должен решить систему алгебраических уравнений только с m компонентами, поэтому размер системы не увеличивается с увеличением числа шагов. [27]

Примеры

Простейшим примером неявного метода Рунге–Кутты является обратный метод Эйлера :

Таблица Мясника для этого проста:

Эта таблица Бутчера соответствует формулам

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

Другим примером неявного метода Рунге–Кутты является правило трапеций . Его таблица Бутчера имеет вид:

Правило трапеции — это метод коллокации (как обсуждалось в этой статье). Все методы коллокации — это неявные методы Рунге–Кутты, но не все неявные методы Рунге–Кутты являются методами коллокации. [28]

Методы Гаусса –Лежандра образуют семейство методов коллокации, основанных на квадратуре Гаусса . Метод Гаусса–Лежандра с s этапами имеет порядок 2 s (таким образом, могут быть построены методы с произвольно высоким порядком). [29] Метод с двумя этапами (и, следовательно, с порядком четыре) имеет таблицу Бутчера:

[27]

Стабильность

Преимущество неявных методов Рунге–Кутты перед явными заключается в их большей стабильности, особенно при применении к жестким уравнениям . Рассмотрим линейное тестовое уравнение . Метод Рунге–Кутты, примененный к этому уравнению, сводится к итерации , где r задается как

[30]

где e обозначает вектор единиц. Функция r называется функцией устойчивости . [31] Из формулы следует, что r является частным двух полиномов степени s, если метод имеет s этапов. Явные методы имеют строго нижнюю треугольную матрицу A , что подразумевает, что det( IzA ) = 1 и что функция устойчивости является полиномом. [32]

Численное решение линейного тестового уравнения спадает до нуля, если | r ( z ) | < 1 с z = h λ. Множество таких z называется областью абсолютной устойчивости . В частности, метод называется абсолютно устойчивым , если все z с Re( z ) < 0 находятся в области абсолютной устойчивости. Функция устойчивости явного метода Рунге–Кутты является полиномом, поэтому явные методы Рунге–Кутты никогда не могут быть A-устойчивыми. [32]

Если метод имеет порядок p , то функция устойчивости удовлетворяет условию . Таким образом, интересно изучить отношения полиномов заданных степеней, которые наилучшим образом приближают экспоненциальную функцию. Они известны как аппроксимации Паде . Аппроксимация Паде с числителем степени m и знаменателем степени n является A-устойчивой тогда и только тогда, когда mnm + 2. [33]

Метод Гаусса–Лежандра с s этапами имеет порядок 2 s , поэтому его функция устойчивости является аппроксимацией Паде с m = n = s . Отсюда следует, что метод является A-устойчивым. [34] Это показывает, что A-устойчивый метод Рунге–Кутты может иметь произвольно высокий порядок. Напротив, порядок A-устойчивых линейных многошаговых методов не может превышать двух. [35]

B-стабильность

Концепция A-устойчивости для решения дифференциальных уравнений связана с линейным автономным уравнением . Далквист предложил исследование устойчивости численных схем применительно к нелинейным системам, удовлетворяющим условию монотонности. Соответствующие концепции были определены как G-устойчивость для многошаговых методов (и связанных с ними одноногих методов) и B-устойчивость (Butcher, 1975) для методов Рунге–Кутты. Метод Рунге–Кутты, примененный к нелинейной системе , который проверяет , называется B-устойчивым , если это условие подразумевает для двух численных решений.

Пусть , и — три матрицы, определяемые с помощью Метод Рунге–Кутты называется алгебраически устойчивым [36], если матрицы и обе неотрицательно определены. Достаточным условием B-устойчивости [37] является: и неотрицательно определены.

Вывод метода Рунге–Кутты четвертого порядка

В общем случае метод порядка Рунге–Кутты можно записать так:

где:

являются приращениями, полученными путем оценки производных в -ом порядке.

Мы разрабатываем вывод [38] для метода Рунге–Кутты четвертого порядка, используя общую формулу с оценками, как объяснено выше, в начальной точке, средней точке и конечной точке любого интервала ; таким образом, мы выбираем:

и в противном случае. Начнем с определения следующих величин:

где и . Если мы определим:

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

Если теперь выразить общую формулу, используя то, что мы только что вывели, то получим:

и сравнивая это с рядом Тейлора примерно :

получаем систему ограничений на коэффициенты:

что при решении дает то, что указано выше.

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

Примечания

  1. ^ "Метод Рунге-Кутты". Dictionary.com . Получено 4 апреля 2021 г. .
  2. ^ DEVRIES, Paul L.; HASBUN, Javier E. Первый курс вычислительной физики. Второе издание. Jones and Bartlett Publishers: 2011. стр. 215.
  3. ^ Пресс и др. 2007, с. 908; Сюли и Майерс 2003, с. 328
  4. ^ ab Atkinson (1989, стр. 423), Hairer, Nørsett & Wanner (1993, стр. 134), Kaw & Kalu (2008, §8.4) и Stoer & Bulirsch (2002, стр. 476) не учитывают фактор h в определении стадий. Ascher & Petzold (1998, стр. 81), Butcher (2008, стр. 93) и Iserles (1996, стр. 38) используют значения y в качестве стадий.
  5. ^ ab Süli & Mayers 2003, с. 328
  6. ^ Пресс и др. 2007, стр. 907
  7. ^ Исерлес 1996, стр. 38
  8. ^ ab Iserles 1996, стр. 39
  9. ^ В качестве контрпримера рассмотрим любую явную 2-этапную схему Рунге-Кутты с и и выбранными случайным образом. Этот метод является последовательным и (в общем случае) сходится в первом порядке. С другой стороны, 1-этапный метод с является непоследовательным и не сходится, хотя он тривиально утверждает, что .
  10. ^ Мясник 2008, стр. 187
  11. ^ abc Butcher 1965, стр. 408
  12. ^ ab Butcher 1985
  13. Мясник 2008, стр. 187–196.
  14. ^ Мясник 1964
  15. ^ Кертис 1970, стр. 268
  16. ^ Хайрер, Норсетт и Ваннер 1993, стр. 179
  17. ^ Мясник 1996, стр. 247
  18. ^ ab Süli & Mayers 2003, стр. 352
  19. ^ Хайрер, Норсетт и Ваннер (1993, стр. 138) относятся к Кутте (1901).
  20. ^ Süli & Mayers 2003, стр. 327
  21. ^ Ламберт 1991, стр. 278
  22. ^ Дорманд, Дж. Р.; Принс, П. Дж. (октябрь 1978 г.). «Новые алгоритмы Рунге–Кутты для численного моделирования в динамической астрономии». Небесная механика . 18 (3): 223–232. Bibcode : 1978CeMec..18..223D. doi : 10.1007/BF01230162. S2CID  120974351.
  23. ^ Fehlberg, E. (октябрь 1974 г.). Классические формулы Рунге–Кутты–Нюстрёма седьмого, шестого и пятого порядка с контролем размера шага для общих дифференциальных уравнений второго порядка (Отчет) (NASA TR R-432 ред.). Marshall Space Flight Center, AL: National Aeronautics and Space Administration.
  24. ^ Цинь, Мэн-Чжао; Чжу, Вэнь-Цзе (1991-01-01). «Канонические методы Рунге-Кутты-Нистрёма (RKN) для обыкновенных дифференциальных уравнений второго порядка». Компьютеры и математика с приложениями . 22 (9): 85–95. doi :10.1016/0898-1221(91)90209-M. ISSN  0898-1221.
  25. ^ Süli & Mayers 2003, стр. 349–351.
  26. ^ Изерлес 1996, с. 41; Сули и Майерс 2003, стр. 351–352.
  27. ^ ab Süli & Mayers 2003, с. 353
  28. ^ Исерлес 1996, стр. 43–44
  29. ^ Исерлес 1996, стр. 47
  30. ^ Hairer & Wanner 1996, стр. 40–41.
  31. ^ Хайрер и Ваннер 1996, стр. 40
  32. ^ ab Iserles 1996, стр. 60
  33. ^ Исерлес 1996, стр. 62–63
  34. ^ Исерлес 1996, стр. 63
  35. ^ Этот результат принадлежит Далквисту (1963).
  36. ^ Ламберт 1991, стр. 275
  37. ^ Ламберт 1991, стр. 274
  38. ^ Лю, Лин-Сяо (август 2016 г.). "Приложение C. Вывод формул численного интегрирования" (PDF) . Численное моделирование космической плазмы (I) Lecture Notes . Институт космических наук, Национальный центральный университет . Получено 17 апреля 2022 г. .

Ссылки

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