Система дифференциальных уравнений, записанная в виде:
y = Ax,
является жесткой системой, если матрица A почти вырождена. В этом случае решение, возвращаемое функцией rkfixed, может сильно осциллировать или быть неустойчивым. При решении жесткой системы необходимо использовать одну из двух функций, специально разработанных для решения жестких систем дифференциальных уравнений: Stiffb и Stiffr. Они используют соответственно Bulirsch-Stoer метод и Rosenbrock метод для решения жестких систем.
Вид матрицы, возвращаемой этими функциями, совпадает с возвращаемым функцией rkfixed. Однако Stiffb и Stiffr требуют задания дополнительных аргументов, которые описаны в следующем разделе:
Вектор начальных условий размерности n, где n — порядок ОДУ или число уравнений в системе ОДУ, если решается система.
x1, x2 =
Граничные точки интервала, на котором ищется решение дифференциальных уравнений. Начальные условия, заданные в векторе y, — это значение решения в точке x1.
npoints =
Число точек (не считая начальной), в которых ищется приближенное решение. При помощи этого аргумента определяется число строк (1 + npoints) в матрице, возвращаемой функциями Stiffb или Stiffr.
D (x,y) =
n-мерный вектор, который содержит первые производные неизвестных функций.
J (x, y) =
Функция, которая возвращает матрицу размером n x (n+1). Первый столбец содержит производные D/ x. Остальные строки и столбцы представляют собой матрицу Якоби ( D/ yk) системы ОДУ. Например, если:
, то