Математика / Численные методы ОДУ
BDF2: неявная формула второго порядка для жёсткого ОДУ
BDF2 аппроксимирует производную в новом узле комбинацией двух предыдущих значений и неизвестного y следующего шага. Это неявный метод второго порядка, который применяют для жёстких задач, где явные схемы требуют слишком малого шага.
Формула
Начальные уровни y₀=1 и y₁=0,5 заданы. При h=1 дальнейшие значения равны 0,2 и 0,06. Линия между точками служит только соединением узлов.
Обозначения
- $yₙ₊₁,yₙ,yₙ₋₁$
- новое состояние и два предыдущих приближения, единица y
- $h$
- постоянный шаг сетки, единица времени
- $f(t,y)$
- правая часть дифференциального уравнения, единица y / время
- $tₙ$
- узел временной сетки, время
Условия применения
Предполагаются равноотстоящие узлы и достаточно гладкое решение; локальная ошибка аппроксимации производной имеет порядок h². Значения yₙ и yₙ₋₁ уже известны, но yₙ₊₁ входит также в правую часть, поэтому требуется решить линейное или нелинейное уравнение. Для первого шага нужен отдельный стартовый метод.
Ограничения
A-устойчивость относится к линейному тестовому уравнению при фиксированном шаге и не означает точность при любом h. Нелинейный решатель может не сойтись, а ошибка старта переносится дальше. При переменном шаге коэффициенты схемы изменяются и условия устойчивости нужно проверять для конкретной реализации.
Подробное объяснение
Формула использует трёхточечную назад направленную аппроксимацию производной в tₙ₊₁. Подстановка её в y′=f(t,y) даёт равенство BDF2. Наличие yₙ₊₁ справа делает шаг неявным: нужно решить уравнение, а не просто выполнить присваивание.
На тесте y′=λy коэффициент усиления зависит от z=hλ и удовлетворяет квадратному уравнению, потому что схема использует два прошлых уровня. Анализ корней характеризует устойчивость; точность второго порядка следует из разложения производной. Для λ<0 метод допускает шаги, которые могут быть запрещены явным Эйлером, хотя точность всё равно требует разумного h.
BDF2 хранит прошлые состояния, поэтому требует известного y₁. Его часто получают методом Рунге—Кутты или методом меньшего порядка, затем многошаговая схема продолжает расчёт. При смене h нельзя механически подставить новое число в формулу с постоянным шагом: для variable-step BDF выводят другие коэффициенты.
В промышленном решателе оценивают локальную ошибку и адаптируют шаг. Неявный алгебраический решатель прекращает работу по невязке, которую надо сделать достаточно малой относительно допуска интегрирования. Устойчивость метода и сходимость внутренней итерации — разные проверки, обе необходимы.
Сопоставляйте BDF2 с неявным Эйлером и неявной трапецией. Эйлер имеет первый порядок; трапеция — второй, но может слабо затухать очень жёсткие моды. BDF2 даёт сильное затухание, а для постоянного шага BDF2 A-устойчив: область устойчивости включает всю левую полуплоскость комплексной плоскости. Это защищает линейные затухающие моды от численного роста, но не гарантирует малую ошибку при крупном шаге.
Как пользоваться формулой
- Подготовьте известные yₙ и yₙ₋₁; если задача только началась, получите стартовый шаг отдельным методом.
- Составьте уравнение 3z−4yₙ+yₙ₋₁=2h f(tₙ₊₁,z) относительно неизвестного z.
- Решите уравнение линейным способом или итерационным решателем для нелинейной правой части и оцените невязку.
- Примите найденное z за yₙ₊₁, сдвиньте историю на один шаг и повторите расчёт.
- Проверяйте локальную ошибку, влияние стартового шага и сходимость внутреннего решателя.
Историческая справка
Обратные формулы дифференцирования развивались как многошаговые схемы для численного решения ОДУ. В 1952 году Кёртис и Хиршфельдер исследовали подходы, ставшие основой семейства backward differentiation formulas, в контексте жёстких дифференциальных задач. В 1960–1970-х Уильям Гир развивал автоматические алгоритмы интегрирования и программы, которые сделали BDF практически важными для вычислений.
BDF2 — конкретная схема второго порядка, полученная из трёхточечной разностной производной. Современные решатели дополнительно оценивают ошибку, адаптируют шаг и порядок и решают внутреннюю систему. Эти части программы не входят в короткую формулу, но необходимы, чтобы применять её надёжно к реальной задаче. Историческая связь с Гиром относится к развитию адаптивных жёстких решателей, а не к авторству каждой формулы BDF.
Историческая линия формулы
BDF-семейство не сводится к одному автору: формулы следуют из многошаговой обратной аппроксимации производной. Работы Кёртиса—Хиршфельдера 1952 года и разработка Гира в 1960–1970-х связаны с анализом жёстких ОДУ и практическими решателями; формула BDF2 здесь отнесена к этой численной традиции.
Пример
Решим y′=−y одним шагом h=1, имея y₀=1 и стартовое y₁=0,5. BDF2 даёт (3y₂−4·0,5+1)/2=−y₂, то есть 3y₂−1=−2y₂ и y₂=0,2. Точное значение y(2)=e⁻²≈0,1353; ошибка около 0,0647. Если вместо грубого старта взять точное y₁=e⁻¹≈0,3679, то y₂=(4e⁻¹−1)/5≈0,0943. Большой шаг даёт заметную ошибку даже при устойчивой схеме, поэтому устойчивость нельзя считать гарантией точности. Размерность левой части — y, делённое на время, как и у f. Невязка уравнения после подстановки найденного y₂ равна нулю в точной арифметике. В реальном расчёте внутренний решатель должен довести её до заданного допуска; нельзя смешивать эту погрешность с ошибкой временной сетки.
Частая ошибка
Не называйте метод явным: новое значение присутствует в правой части. Не начинайте двухшаговый расчёт без стартового y₁. Не применяйте постоянные коэффициенты при меняющемся шаге. Не путайте устойчивость и точность; проверяйте дискретизационную ошибку и остаток решения внутреннего нелинейного уравнения.
Практика
Задачи с решением
Неявный шаг затухания
Условие. Для уравнения y′=−y при h=1 и известных уровнях y₀=1, y₁=0,5 найдите один следующий шаг BDF2.
Решение. Подстановка даёт (3y₂−4·0,5+1)/2=−y₂. Умножая на 2, получаем 3y₂−1=−2y₂, следовательно 5y₂=1.
Ответ. Неявное уравнение имеет решение y₂=0,2.
Точное постоянное решение
Условие. Проверьте формулу при постоянном решении yₙ₋₁=yₙ=yₙ₊₁=C для правой части f=0.
Решение. Числитель равен 3C−4C+C=0, правая часть также равна нулю.
Ответ. Нулевой числитель совпадает с f=0; постоянный уровень сохраняется точно.
Дополнительные источники
- https://people.sc.fsu.edu/~jburkardt/classes/math2070_2019/notes/odes.pdf
- https://ocw.mit.edu/courses/2-086-numerical-computation-for-mechanical-engineers-spring-2013/64e7bed65373841c988a0fd98e1ae16e_MIT2_086S13_Unit4_Textbook.pdf
- https://collaborate.princeton.edu/en/publications/the-automatic-integration-of-ordinary-differential-equations/
Связанные формулы
Математика
Неявный метод Эйлера: шаг и устойчивость затухания
Неявный метод Эйлера использует производную в конце шага. Новое значение входит в обе части равенства, поэтому каждый переход требует решения уравнения, зато схема хорошо подавляет быстро затухающие компоненты.
Математика
Классический метод Рунге — Кутты четвёртого порядка
Классический RK4 вычисляет четыре наклона за шаг и объединяет их с весами 1:2:2:1. Для гладкой задачи Коши он даёт четвёртый порядок общей ошибки без явного вычисления высших производных.
Математика
Неявная трапециевидная схема Кранка — Николсон для ОДУ
Неявная трапециевидная схема усредняет производные на концах шага, включая неизвестный новый уровень. Она имеет второй порядок и A-устойчивость, но при крупном шаге затухание может сопровождаться сменой знака.