Вот неизвестная функция (скалярная или векторная) времени , которую мы хотели бы аппроксимировать; нам говорят, что , скорость, с которой изменяется, является функцией и самого себя. В начальный момент времени соответствующее значение равно . Функция и начальные условия , даны.
Теперь выберем размер шага h > 0 и определим:
для n = 0, 1, 2, 3, ..., используя [3]
( Примечание: приведенные выше уравнения имеют разные, но эквивалентные определения в разных текстах. [4] )
Здесь представлена аппроксимация RK4 для , а следующее значение ( ) определяется текущим значением ( ) плюс средневзвешенное значение четырех приращений, где каждое приращение является произведением размера интервала h и предполагаемого наклона, заданного функцией f в правой части дифференциального уравнения.
- наклон в начале интервала, с использованием ( метода Эйлера );
— наклон в средней точке интервала, с использованием и ;
снова наклон в средней точке, но теперь с использованием и ;
— наклон в конце интервала с использованием и .
При усреднении четырех наклонов больший вес придается наклонам в средней точке. Если не зависит от , так что дифференциальное уравнение эквивалентно простому интегралу, то RK4 — это правило Симпсона . [5]
Во многих практических приложениях функция независима от (так называемая автономная система или система, не зависящая от времени, особенно в физике), а их приращения вообще не вычисляются и не передаются в функцию , а используется только окончательная формула для .
Явные методы Рунге–Кутты
Семейство явных методов Рунге–Кутты является обобщением упомянутого выше метода RK4. Оно задается формулой
где [6]
( Примечание: приведенные выше уравнения могут иметь разные, но эквивалентные определения в некоторых текстах. [4] )
Чтобы указать конкретный метод, необходимо указать целое число s (количество стадий) и коэффициенты a ij (для 1 ≤ j < i ≤ s ), 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]
В качестве примера рассмотрим двухэтапный метод Рунге-Кутты второго порядка с α = 2/3, также известный как метод Ральстона . Он задается таблицей
с соответствующими уравнениями
Этот метод используется для решения задачи начального значения
с размером шага h = 0,025, поэтому метод должен выполнить четыре шага.
Метод осуществляется следующим образом:
Численные решения соответствуют подчеркнутым значениям.
Адаптивные методы Рунге–Кутты
Адаптивные методы предназначены для получения оценки локальной ошибки усечения одного шага Рунге-Кутты. Это делается с помощью двух методов, одного с порядком и одного с порядком . Эти методы переплетены, т. е. имеют общие промежуточные шаги. Благодаря этому оценка ошибки имеет небольшие или пренебрежимо малые вычислительные затраты по сравнению с шагом с методом более высокого порядка.
Во время интегрирования размер шага адаптируется таким образом, чтобы предполагаемая ошибка оставалась ниже порогового значения, определенного пользователем: если ошибка слишком велика, шаг повторяется с меньшим размером шага; если ошибка намного меньше, размер шага увеличивается для экономии времени. Это приводит к (почти) оптимальному размеру шага, что экономит время вычислений. Более того, пользователю не нужно тратить время на поиск подходящего размера шага.
Шаг низшего порядка определяется как
где те же, что и для метода высшего порядка. Тогда ошибка равна
что равно . Таблица Бутчера для этого вида метода расширена, чтобы дать значения :
Метод Рунге –Кутты–Фельберга имеет два метода порядков 5 и 4. Его расширенная таблица Бутчера имеет вид:
Однако простейший адаптивный метод Рунге–Кутты включает в себя объединение метода Хойна , который имеет порядок 2, с методом Эйлера , который имеет порядок 1. Его расширенная таблица Бутчера имеет вид:
Метод Рунге–Кутты называется неконфлюэнтным [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( I − zA ) = 1 и что функция устойчивости является полиномом. [32]
Численное решение линейного тестового уравнения спадает до нуля, если | r ( z ) | < 1 с z = h λ. Множество таких z называется областью абсолютной устойчивости . В частности, метод называется абсолютно устойчивым , если все z с Re( z ) < 0 находятся в области абсолютной устойчивости. Функция устойчивости явного метода Рунге–Кутты является полиномом, поэтому явные методы Рунге–Кутты никогда не могут быть A-устойчивыми. [32]
Если метод имеет порядок p , то функция устойчивости удовлетворяет условию . Таким образом, интересно изучить отношения полиномов заданных степеней, которые наилучшим образом приближают экспоненциальную функцию. Они известны как аппроксимации Паде . Аппроксимация Паде с числителем степени m и знаменателем степени n является A-устойчивой тогда и только тогда, когда m ≤ n ≤ m + 2. [33]
Метод Гаусса–Лежандра с s этапами имеет порядок 2 s , поэтому его функция устойчивости является аппроксимацией Паде с m = n = s . Отсюда следует, что метод является A-устойчивым. [34] Это показывает, что A-устойчивый метод Рунге–Кутты может иметь произвольно высокий порядок. Напротив, порядок A-устойчивых линейных многошаговых методов не может превышать двух. [35]
B-стабильность
Концепция A-устойчивости для решения дифференциальных уравнений связана с линейным автономным уравнением . Далквист предложил исследование устойчивости численных схем применительно к нелинейным системам, удовлетворяющим условию монотонности. Соответствующие концепции были определены как G-устойчивость для многошаговых методов (и связанных с ними одноногих методов) и B-устойчивость (Butcher, 1975) для методов Рунге–Кутты. Метод Рунге–Кутты, примененный к нелинейной системе , который проверяет , называется B-устойчивым , если это условие подразумевает для двух численных решений.
Пусть , и — три матрицы, определяемые с помощью Метод Рунге–Кутты называется алгебраически устойчивым [36], если матрицы и обе неотрицательно определены. Достаточным условием B-устойчивости [37] является: и неотрицательно определены.
Вывод метода Рунге–Кутты четвертого порядка
В общем случае метод порядка Рунге–Кутты можно записать так:
где:
являются приращениями, полученными путем оценки производных в -ом порядке.
Мы разрабатываем вывод [38] для метода Рунге–Кутты четвертого порядка, используя общую формулу с оценками, как объяснено выше, в начальной точке, средней точке и конечной точке любого интервала ; таким образом, мы выбираем:
и в противном случае. Начнем с определения следующих величин:
где и . Если мы определим:
и для предыдущих соотношений можно показать, что справедливы следующие равенства :
где:
— полная производная по времени.
Если теперь выразить общую формулу, используя то, что мы только что вывели, то получим:
^ "Метод Рунге-Кутты". Dictionary.com . Получено 4 апреля 2021 г. .
^ DEVRIES, Paul L.; HASBUN, Javier E. Первый курс вычислительной физики. Второе издание. Jones and Bartlett Publishers: 2011. стр. 215.
^ Пресс и др. 2007, с. 908; Сюли и Майерс 2003, с. 328
^ 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 в качестве стадий.
^ ab Süli & Mayers 2003, с. 328
^ Пресс и др. 2007, стр. 907
^ Исерлес 1996, стр. 38
^ ab Iserles 1996, стр. 39
^
В качестве контрпримера рассмотрим любую явную 2-этапную схему Рунге-Кутты с и и выбранными случайным образом. Этот метод является последовательным и (в общем случае) сходится в первом порядке. С другой стороны, 1-этапный метод с является непоследовательным и не сходится, хотя он тривиально утверждает, что .
^ Мясник 2008, стр. 187
^ abc Butcher 1965, стр. 408
^ ab Butcher 1985
↑ Мясник 2008, стр. 187–196.
^ Мясник 1964
^ Кертис 1970, стр. 268
^ Хайрер, Норсетт и Ваннер 1993, стр. 179
^ Мясник 1996, стр. 247
^ ab Süli & Mayers 2003, стр. 352
^ Хайрер, Норсетт и Ваннер (1993, стр. 138) относятся к Кутте (1901).
^ Süli & Mayers 2003, стр. 327
^ Ламберт 1991, стр. 278
^ Дорманд, Дж. Р.; Принс, П. Дж. (октябрь 1978 г.). «Новые алгоритмы Рунге–Кутты для численного моделирования в динамической астрономии». Небесная механика . 18 (3): 223–232. Bibcode : 1978CeMec..18..223D. doi : 10.1007/BF01230162. S2CID 120974351.
^ Fehlberg, E. (октябрь 1974 г.). Классические формулы Рунге–Кутты–Нюстрёма седьмого, шестого и пятого порядка с контролем размера шага для общих дифференциальных уравнений второго порядка (Отчет) (NASA TR R-432 ред.). Marshall Space Flight Center, AL: National Aeronautics and Space Administration.
^ Цинь, Мэн-Чжао; Чжу, Вэнь-Цзе (1991-01-01). «Канонические методы Рунге-Кутты-Нистрёма (RKN) для обыкновенных дифференциальных уравнений второго порядка». Компьютеры и математика с приложениями . 22 (9): 85–95. doi :10.1016/0898-1221(91)90209-M. ISSN 0898-1221.
^ Süli & Mayers 2003, стр. 349–351.
^ Изерлес 1996, с. 41; Сули и Майерс 2003, стр. 351–352.
^ ab Süli & Mayers 2003, с. 353
^ Исерлес 1996, стр. 43–44
^ Исерлес 1996, стр. 47
^ Hairer & Wanner 1996, стр. 40–41.
^ Хайрер и Ваннер 1996, стр. 40
^ ab Iserles 1996, стр. 60
^ Исерлес 1996, стр. 62–63
^ Исерлес 1996, стр. 63
^ Этот результат принадлежит Далквисту (1963).
^ Ламберт 1991, стр. 275
^ Ламберт 1991, стр. 274
^ Лю, Лин-Сяо (август 2016 г.). "Приложение C. Вывод формул численного интегрирования" (PDF) . Численное моделирование космической плазмы (I) Lecture Notes . Институт космических наук, Национальный центральный университет . Получено 17 апреля 2022 г. .
Ссылки
Рунге, Карл Давид Толме (1895), «Über die numerische Auflösung von Differentialgleichungen», Mathematische Annalen , 46 (2), Springer : 167–178, doi : 10.1007/BF01446807, S2CID 119924854.
Кутта, Вильгельм (1901), «Beitrag zur näherungsweisen Integration Totaler Differentialgleichungen», Zeitschrift für Mathematik und Physik , 46 : 435–453.
Бутчер, Джон К. (май 1963 г.), «Коэффициенты для изучения процессов интегрирования Рунге-Кутты», Журнал Австралийского математического общества , 3 (2): 185–201, doi : 10.1017/S1446788700027932.
Бутчер, Джон К. (май 1964 г.), «О процессах Рунге-Кутты высокого порядка», Журнал Австралийского математического общества , 4 (2): 179–194, doi : 10.1017/S1446788700023387
Бутчер, Джон К. (1975), «Свойство устойчивости неявных методов Рунге-Кутты», BIT , 15 (4): 358–361, doi :10.1007/bf01931672, S2CID 120854166.
Бутчер, Джон К. (2000), «Численные методы для обыкновенных дифференциальных уравнений в 20 веке», J. Comput. Appl. Math. , 125 (1–2): 1–29, Bibcode : 2000JCoAM.125....1B, doi : 10.1016/S0377-0427(00)00455-6.
Тан, Делин; Чэнь, Чжэн (2012), «Об общей формуле метода Рунге-Кутты четвертого порядка» (PDF) , Журнал математической науки и математического образования , 7 (2): 1–10.
Справочник по дискретной математике ignou (код mcs033)
Джон К. Бутчер: «B-Series: Algebraic Analysis of Numerical Methods», Springer (SSCM, том 55), ISBN 978-3030709556 (апрель 2021 г.).
Бутчер, Дж. К. (1985), «Несуществование десятиэтапных явных методов Рунге-Кутты восьмого порядка», BIT Numerical Mathematics , 25 (3): 521–540, doi :10.1007/BF01935372.
Бутчер, Дж. К. (1965), «О достижимом порядке методов Рунге-Кутты», Математика вычислений , 19 (91): 408–417, doi :10.1090/S0025-5718-1965-0179943-X.
Кертис, AR (1970), «Процесс Рунге-Кутты восьмого порядка с одиннадцатью оценками функций на шаг», Numerische Mathematik , 16 (3): 268–277, doi :10.1007/BF02219778.
Купер, Г. Дж.; Вернер, Дж. Х. (1972), «Некоторые явные методы Рунге–Кутты высокого порядка», Журнал SIAM по численному анализу , 9 (3): 389–405, doi :10.1137/0709037.
Бутчер, Дж. К. (1996), «История методов Рунге-Кутты», Прикладная численная математика , 20 (3): 247–260, doi :10.1016/0168-9274(95)00108-5.
Реализация библиотеки компонентов Tracker в Matlab — реализует 32 встроенных алгоритма Рунге-Кутты в RungeKStep, 24 встроенных алгоритма Рунге-Кутты-Нистрёма в RungeKNystroemSStepи 4 общих алгоритма Рунге-Кутты-Нистрёма в RungeKNystroemGStep.