Математика / Численные методы ОДУ

Оценка ошибки пары Дормана—Принса 5(4)

Встроенная пара Дормана—Принса 5(4) из общих стадий даёт два приближения решения ОДУ. Норма их разности оценивает локальную ошибку и позволяет принять шаг или повторить расчёт с меньшим h.

Опубликовано: Обновлено:

Формула

$$err=\left\|y_{n+1}^{(5)}-y_{n+1}^{(4)}\right\|$$
Схема Регулятор шага пары 5(4)
Регулятор шага пары 5(4)Регулятор шага пары 5(4)0,9 · r^(−1/5)0.50.750.8750.8251.250.91.6250.97521.05r=err/tolh_new/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: решатель ограничивает максимальный рост шага. Разрывы правой части, жёсткость и округления также могут нарушить модель погрешности. Пара даёт экономную оценку за счёт общих стадий, но выбор подходящих допусков и проверка точности остаются частью задачи.

Как пользоваться формулой

  1. В скалярной задаче задайте абсолютный допуск tol в единицах y и выберите пробный шаг h.
  2. Вычислите общие стадии пары и два приближения y⁽⁵⁾, y⁽⁴⁾ на конце шага без раннего округления.
  3. Найдите err=|y⁽⁵⁾−y⁽⁴⁾|; в системе отдельно вычислите масштабированную норму E с atol и rtol.
  4. При err≤tol примите скалярный шаг; иначе сохраните прежнее состояние и повторите расчёт с меньшим h.
  5. Используйте 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

Связанные формулы

Математика

Классический метод Рунге — Кутты четвёртого порядка

$\begin{aligned}k_1&=f(t_n,y_n),&k_2&=f(t_n+h/2,y_n+hk_1/2),\\k_3&=f(t_n+h/2,y_n+hk_2/2),&k_4&=f(t_n+h,y_n+hk_3),\\y_{n+1}&=y_n+\frac h6(k_1+2k_2+2k_3+k_4).\end{aligned}$

Классический RK4 вычисляет четыре наклона за шаг и объединяет их с весами 1:2:2:1. Для гладкой задачи Коши он даёт четвёртый порядок общей ошибки без явного вычисления высших производных.

Математика

Адаптивный Симпсон: локальная оценка ошибки

$S_1=S(a,b),\ S_2=S(a,m)+S(m,b),\quad \varepsilon_{\mathrm{est}}=\frac{|S_2-S_1|}{15},\quad I\approx S_2+\frac{S_2-S_1}{15}$

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

Математика

Остаток интерполяции Лагранжа: оценка ошибки

$R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{j=0}^{n}(x-x_j)$

Остаток интерполяции Лагранжа: оценка ошибки даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.

Математика

Пятиточечный шаблон Лапласа на квадратной сетке

$\Delta_hu_{i,j}=\frac{u_{i+1,j}+u_{i-1,j}+u_{i,j+1}+u_{i,j-1}-4u_{i,j}}{h^2}$

Пятиточечный шаблон приближает оператор Лапласа в внутреннем узле равномерной квадратной сетки. Он складывает центральные разности по двум направлениям и имеет погрешность порядка O(h²) для гладкой функции.

Математика

Степенной метод: приближение доминирующего собственного значения

$x_{k+1}=\frac{Ax_k}{\|Ax_k\|},\quad\lambda_k=\frac{x_k^TAx_k}{x_k^Tx_k}$

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

Математика

Круги Гершгорина: локализация собственных значений матрицы

$|\lambda-a_{ii}|\le\sum_{j\ne i}|a_{ij}|$

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

Математика

Квадратичный штраф за нарушение равенства

$\Phi_\mu(x)=f(x)+\frac{\mu}{2}h(x)^2$

Квадратичный штраф заменяет равенство h(x)=0 добавкой mu h(x)^2/2 к цели. При конечном mu минимум штрафовой функции обычно остаётся немного недопустимым, поэтому метод использует последовательность растущих параметров.