Явные методы / Адаптивные методы |
Многошаговый адаптивный метод переменного порядка (от 1-го до 5-го для жестких задач и от 2-го до 6-го для нежестких задач),основанный на использовании разделенных разностей, определяемых рекуррентно согласно формулам
(аналогично определяются ∇ixm ).Введем также коэффициенты aij, gi , зависящие от размеров текущего и предыдущих шагов и задаваемые формулами
В этом случае k-шаговые формулы прогноза и коррекции при интегрировании с переменным шагом запишутся в виде
где ∇kfm+1 – разделенная разность с использованием ḟm+1 вместо fm+1. Формула прогноза имеет порядок k, а порядок формулы коррекции на 1 больше.
На основе формул вида (*) обычно строят многошаговые методы переменного порядка и шага, при этом принимается xm+1=ẋm+1, а оценка ошибки получается как разность между прогнозом и скорректированным решением. Для адаптивного метода эти формулы являются предварительными, на их основе можно получить вектор оценок наибольшего собственного значения:
Чтобы предотвратить деление на ноль, вместо z вычисляем вектор
причем только для жестких и неустойчивых компонент, удовлетворяющих условию
где векторные коэффициенты di вычисляются по формулам
(e – n-мерный вектор с единичными компонентами).
Формула (*) построена таким образом, что она имеет порядок k и обеспечивает затухание за один шаг при решении уравнения x'= λx, λ<0.
Формулы (*)–(*) задают многошаговый адаптивный метод с переменным шагом, при этом для нежестких компонент ограничиваемся формулами (*), и дальнейшие вычисления не производим. Оценку ошибки получаем как приращение в формуле коррекции (*) для нежестких компонент или последний член в формуле (*) для жестких компонент. Приведенные формулы позволяют также легко изменять порядок метода, который определяется значением k, т.е. числом членов в формулах (*), (*). Если на предыдущем шаге было k=kold , то на очередном шаге значение k может быть от 1 до kold+1. Новое значение k определяется на этапе прогноза исходя из условия, чтобы прогноз был наиболее точным. Формулу прогноза (*) можно записать в виде
Новое значение k определяется как максимальное число, для которого выполняется условие
где норма ошибки вычисляется в соответствии с (*).