Адаптивный 4

Многошаговый адаптивный метод переменного порядка (от 1-го до 5-го для жестких задач и от 2-го до 6-го для нежестких задач),основанный на использовании разделенных разностей, определяемых рекуррентно согласно формулам

(аналогично определяются ∇ixm ).Введем также коэффициенты aij, gi , зависящие от размеров текущего и предыдущих шагов и задаваемые формулами

В этом случае k-шаговые формулы прогноза и коррекции при интегрировании с переменным шагом запишутся в виде

где ∇kfm+1 – разделенная разность с использованием m+1 вместо fm+1. Формула прогноза имеет порядок k, а порядок формулы коррекции на 1 больше.

На основе формул вида (*) обычно строят многошаговые методы переменного порядка и шага, при этом принимается xm+1=m+1, а оценка ошибки получается как разность между прогнозом и скорректированным решением. Для адаптивного метода эти формулы являются предварительными, на их основе можно получить вектор оценок наибольшего собственного значения:

Чтобы предотвратить деление на ноль, вместо z вычисляем вектор

причем только для жестких и неустойчивых компонент, удовлетворяющих условию

где μ – константа, определяемая областью устойчивости и зависящая от k. Формула интегрирования для таких компонент имеет вид

где векторные коэффициенты di вычисляются по формулам

(en-мерный вектор с единичными компонентами).

Формула (*) построена таким образом, что она имеет порядок k и обеспечивает затухание за один шаг при решении уравнения x'= λx, λ<0.

Формулы (*)–(*) задают многошаговый адаптивный метод с переменным шагом, при этом для нежестких компонент ограничиваемся формулами (*), и дальнейшие вычисления не производим. Оценку ошибки получаем как приращение в формуле коррекции (*) для нежестких компонент или последний член в формуле (*) для жестких компонент. Приведенные формулы позволяют также легко изменять порядок метода, который определяется значением k, т.е. числом членов в формулах (*), (*). Если на предыдущем шаге было k=kold , то на очередном шаге значение k может быть от 1 до kold+1. Новое значение k определяется на этапе прогноза исходя из условия, чтобы прогноз был наиболее точным. Формулу прогноза (*) можно записать в виде

Новое значение k определяется как максимальное число, для которого выполняется условие

где норма ошибки вычисляется в соответствии с (*).