Математика / Численные методы ОДУ
Оценка ошибки пары Дормана—Принса 5(4)
Встроенная пара Дормана—Принса 5(4) из общих стадий даёт два приближения решения ОДУ. Норма их разности оценивает локальную ошибку и позволяет принять шаг или повторить расчёт с меньшим h.
Формула
При r>1 шаг не принимают; кривая показывает предложенный множитель нового шага.
Обозначения
- $t_n,h$
- текущее время и длина пробного шага, единицы времени задачи
- $y^(5),y^(4)$
- приближения на конце шага пятого и четвёртого порядка, единицы y
- $err,tol$
- норма разности приближений и допустимая абсолютная ошибка в скалярном примере, единицы y
- $E$
- норма покомпонентно масштабированной ошибки для системы, 1
Условия применения
Начальная задача y′=f(t,y) должна иметь достаточно гладкую правую часть на пробном шаге. В показанной скалярной записи err сравнивают с абсолютным допуском tol в тех же единицах y. Для системы с разными масштабами компонент вводят sᵢ=atolᵢ+rtolᵢ max(|yₙ,ᵢ|,|y⁽⁵⁾ᵢ|) и отдельно вычисляют безразмерное E=||(y⁽⁵⁾−y⁽⁴⁾)/s||. Принимают шаг при err≤tol в скалярном примере или E≤1 в масштабированной постановке.
Ограничения
Разность двух встроенных решений оценивает локальную погрешность модели шага, а не гарантирует глобальную точность. Жёсткие ОДУ, разрывы f, плохое масштабирование компонентов и машинное округление требуют другого контроля или метода. Степень 1/5 относится к данной оценке порядка 5; нельзя переносить её на произвольную встроенную пару без проверки принятого соглашения об ошибке.
Подробное объяснение
Пара Дормана—Принса 5(4) комбинирует одни и те же стадии Рунге—Кутты двумя наборами весов. Решение пятого порядка служит кандидатом на конце шага, а разность с решением четвёртого порядка оценивает ведущую локальную погрешность последнего. Это индикатор конкретного пробного шага, а не уже накопленная ошибка всей траектории.
В скалярном примере err=|y⁽⁵⁾−y⁽⁴⁾| имеет единицы решения. Его сравнивают с tol в той же шкале. Если err>tol, новое состояние не принимают. При оценке порядка h⁵ изменение длины предлагают по h_new=0,9h·(tol/err)^(1/5); коэффициент безопасности и ограничители роста защищают от слишком резкого изменения h.
В системе разные компоненты могут иметь разные единицы и масштабы. Их разности сначала делят на sᵢ=atolᵢ+rtolᵢ max(|yₙ,ᵢ|,|y⁽⁵⁾ᵢ|), затем берут норму. Полученную безразмерную величину обозначаем E, чтобы не смешивать её с абсолютным err из формулы и примера. В таком варианте условие принятия E≤1, а множитель изменения шага равен 0,9E^(−1/5).
При нулевой оценке нельзя делить на err: решатель ограничивает максимальный рост шага. Разрывы правой части, жёсткость и округления также могут нарушить модель погрешности. Пара даёт экономную оценку за счёт общих стадий, но выбор подходящих допусков и проверка точности остаются частью задачи.
Как пользоваться формулой
- В скалярной задаче задайте абсолютный допуск tol в единицах y и выберите пробный шаг h.
- Вычислите общие стадии пары и два приближения y⁽⁵⁾, y⁽⁴⁾ на конце шага без раннего округления.
- Найдите err=|y⁽⁵⁾−y⁽⁴⁾|; в системе отдельно вычислите масштабированную норму E с atol и rtol.
- При err≤tol примите скалярный шаг; иначе сохраните прежнее состояние и повторите расчёт с меньшим h.
- Используйте 0,9(tol/err)^(1/5) для изменения h, ограничивая рост; для E замените отношение на 1/E.
Историческая справка
Джон Дорман и Питер Принс опубликовали семейство встроенных формул Рунге—Кутты в 1980 году. Их подход продолжил развитие методов Рунге и Кутты начала XX века: вместо отдельного дорогостоящего расчёта ошибки две формулы разных порядков используют общие стадии. Пара 5(4) стала популярной именно потому, что объединяет хорошее основное приближение и доступный индикатор локальной ошибки для изменения шага. В первоначальной статье авторы сравнивали семейства встроенных пар по главным членам локальной погрешности и области абсолютной устойчивости, а не объявляли одну универсальную схему для всех ОДУ. В программных решателях метод получил современную форму вместе с масштабированием ошибок, коэффициентами безопасности и ограничителями изменения h. Поэтому историческое имя пары относится к коэффициентам и публикации, а конкретные правила допуска шага зависят от реализации решателя.
Историческая линия формулы
Название относится к статье J. R. Dormand и P. J. Prince 1980 года о встроенных формулах Рунге—Кутты. Сама идея адаптивного контроля шага — результат более широкой традиции численного решения ОДУ, поэтому паре не следует приписывать происхождение всего адаптивного интегрирования.
Пример
Если на шаге получены y^(5)=1,64872127 и y^(4)=1,64872000, то err=0,00000127=1,27·10⁻⁶. При допуске 10⁻⁶ шаг не принимают; множитель 0,9(10⁻⁶/1,27·10⁻⁶)^{1/5}≈0,858 уменьшает следующий шаг. Для первого шага отношение tol/err равно 1/1,27≈0,787402; его пятая степень корня около 0,953321, после множителя безопасности получается 0,857989. Во втором задании отношение 1/0,55≈1,818182 даёт 1,014308. Рост почти отсутствует, потому что запас точности небольшой. Пара 5(4) получает два значения y на одном наборе стадий: более точное пятого порядка используют как результат, а разность с четвёртым порядком — как индикатор локальной ошибки.
Частая ошибка
Не путайте необработанную разность y^(5)−y^(4) с нормированной ошибкой системы. Не принимайте шаг при err>1. Не называйте err глобальной ошибкой решения на всём интервале. Наконец, не применяйте показатель 1/5 без связи с конкретным порядком встроенной оценки и правилом контроллера.
Практика
Задачи с решением
Разность двух встроенных приближений
Условие. Найдите оценку разности 3,14159265 и 3,14159210.
Решение. |3,14159265−3,14159210|=0,00000055=5,5·10⁻⁷.
Ответ. err=5,5·10⁻⁷.
Множитель повторного шага
Условие. Найдите множитель шага при tol=10⁻⁶.
Решение. 0,9·(10⁻⁶/(5,5·10⁻⁷))^(1/5)=0,9·(1/0,55)^(1/5)≈1,014.
Ответ. Множитель ≈1,014.
Дополнительные источники
- https://doi.org/10.1016/0771-050X(80)90013-3
- https://commons.apache.org/proper/commons-math/javadocs/api-3.6.1/src-html/org/apache/commons/math3/ode/nonstiff/DormandPrince54Integrator.html
Связанные формулы
Математика
Классический метод Рунге — Кутты четвёртого порядка
Классический RK4 вычисляет четыре наклона за шаг и объединяет их с весами 1:2:2:1. Для гладкой задачи Коши он даёт четвёртый порядок общей ошибки без явного вычисления высших производных.
Математика
Адаптивный Симпсон: локальная оценка ошибки
Адаптивный метод Симпсона сравнивает одну параболическую оценку с двумя оценками на половинах. Разность даёт локальный индикатор ошибки, по которому алгоритм уточняет только те участки, где не достигнут допуск.
Математика
Остаток интерполяции Лагранжа: оценка ошибки
Остаток интерполяции Лагранжа: оценка ошибки даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.
Математика
Пятиточечный шаблон Лапласа на квадратной сетке
Пятиточечный шаблон приближает оператор Лапласа в внутреннем узле равномерной квадратной сетки. Он складывает центральные разности по двум направлениям и имеет погрешность порядка O(h²) для гладкой функции.
Математика
Степенной метод: приближение доминирующего собственного значения
Степенной метод многократно умножает стартовый вектор на матрицу, поэтому компоненту по простому собственному вектору с наибольшим модулем усиливает быстрее остальных. Нормировка сохраняет направление и предотвращает переполнение.
Математика
Круги Гершгорина: локализация собственных значений матрицы
Теорема Гершгорина заключает все собственные значения квадратной комплексной матрицы в объединение дисков: центр каждого диска — диагональный элемент строки, радиус — сумма модулей остальных элементов этой строки.
Математика
Квадратичный штраф за нарушение равенства
Квадратичный штраф заменяет равенство h(x)=0 добавкой mu h(x)^2/2 к цели. При конечном mu минимум штрафовой функции обычно остаётся немного недопустимым, поэтому метод использует последовательность растущих параметров.