Введение
Дифференциальное уравнение, демонстрирующее необычную нестабильность.
В математике, жесткое уравнение – это дифференциальное уравнение, для которого определенные численные методы решения становятся численно нестабильными, если шаг интегрирования не сделать чрезвычайно малым. Сформулировать точное определение жесткости оказалось затруднительно, но основная идея заключается в том, что уравнение содержит члены, способные вызывать быстрое изменение решения. При численном интегрировании дифференциального уравнения естественно ожидать, что требуемый шаг будет относительно небольшим в областях, где решение быстро меняется, и относительно большим там, где решение сглаживается, приближаясь к прямой с почти нулевым наклоном. Однако для некоторых задач это не так. Чтобы численный метод обеспечил надежное решение дифференциальной системы, иногда требуется использовать настолько малый шаг, что это становится неприемлемым, даже в областях, где решение очень гладкое. Это явление и называется жесткостью. В некоторых случаях могут существовать две различные задачи с одним и тем же решением, при этом одна из них является жесткой, а другая – нет. Следовательно, жесткость не может быть свойством точного решения, поскольку оно одинаково для обеих задач, а должно быть свойством самой дифференциальной системы. Такие системы и называют жесткими системами.
In mathematics, a stiff equation is a differential equation for which certain numerical methods for solving the equation are numerically unstable, unless the step size is taken to be extremely small. It has proven difficult to formulate a precise definition of stiffness, but the main idea is that the equation includes some terms that can lead to rapid variation in the solution. When integrating a differential equation numerically, one would expect the requisite step size to be relatively small in a region where the solution curve displays much variation and to be relatively large where the solution curve straightens out to approach a line with slope nearly zero. For some problems this is not the case. In order for a numerical method to give a reliable solution to the differential system sometimes the step size is required to be at an unacceptably small level in a region where the solution curve is very smooth. The phenomenon is known as stiffness. In some cases there may be two different problems with the same solution, yet one is not stiff and the other is. The phenomenon cannot therefore be a property of the exact solution, since this is the same for both problems, and must be a property of the differential system itself. Such systems are thus known as stiff systems.
Характеристика жесткости
В этом разделе мы рассмотрим различные аспекты феномена жесткости. "Феномен" – вероятно, более подходящее слово, чем "свойство", поскольку последнее скорее подразумевает, что жесткость можно определить в точных математических терминах; однако оказывается, что это невозможно сделать удовлетворительным образом, даже для ограниченного класса линейных систем с постоянными коэффициентами. Мы также рассмотрим несколько качественных утверждений, которые можно (и в основном уже) сформулировать в попытке обобщить понятие жесткости, и представим наиболее удовлетворительное из них в качестве "определения" жесткости. Дж. Д. Ламберт определяет жесткость следующим образом:
Если численный метод с конечной областью абсолютной устойчивости, примененный к системе с любыми начальными условиями, вынужден использовать в определенном интервале интегрирования длину шага, чрезмерно малую по отношению к гладкости точного решения в этом интервале, то система считается жесткой в этом интервале. Существуют и другие характеристики, проявляющиеся во многих примерах жестких задач, но для каждой из них существуют контрпримеры, поэтому эти характеристики не являются хорошими определениями жесткости. Тем не менее, определения, основанные на этих характеристиках, широко используются некоторыми авторами и служат хорошими индикаторами наличия жесткости. Ламберт называет их "утверждениями", а не определениями, по вышеупомянутым причинам. Некоторые из них:
Линейная система с постоянными коэффициентами является жесткой, если все ее собственные значения имеют отрицательную действительную часть, а коэффициент жесткости велик. Жесткость возникает, когда требования к устойчивости, а не к точности, ограничивают длину шага. Жесткость возникает, когда некоторые компоненты решения затухают гораздо быстрее, чем другие.
A linear constant coefficient system is stiff if all of its eigenvalues have negative real part and the stiffness ratio is large. Stiffness occurs when stability requirements, rather than those of accuracy, constrain the step length. Stiffness occurs when some components of the solution decay much more rapidly than others.
Стабильность А
Поведение численных методов при решении жестких задач можно анализировать, применяя эти методы к тестовому уравнению при начальном условии с Решение этого уравнения имеет вид Это решение стремится к нулю при когда Если численный метод также демонстрирует такое поведение (при фиксированном шаге), то метод считается А-стабильным. Численный метод, являющийся L-стабильным (см. ниже), обладает более сильным свойством: решение стремится к нулю за один шаг при стремлении размера шага к бесконечности. А-стабильные методы не проявляют проблем с неустойчивостью, описанных в вводном примере.
Методы Рунге-Кутта
Методы Рунге–Кутта, применяемые к тестовому уравнению, принимают вид , и, по индукции, функция называется функцией устойчивости. Таким образом, условие, что при эквивалентно этому. Это мотивирует определение области абсолютной устойчивости (иногда называемой просто областью устойчивости), которая представляет собой множество. Метод A-устойчив, если область абсолютной устойчивости содержит множество , то есть левую полуплоскость.
Пример: Методы Эйлера
Рассмотрим методы Эйлера, описанные выше. Явный метод Эйлера, примененный к тестовому уравнению, имеет вид:
Следовательно, с областью абсолютной устойчивости для этого метода является, что является диском, изображенным справа. Метод Эйлера не является А-устойчивым. В мотивирующем примере значение z при шаге размера равно , что находится вне области устойчивости. Действительно, численные результаты не сходятся к нулю. Однако, при шаге размера , мы имеем , что находится непосредственно внутри области устойчивости, и численные результаты сходятся к нулю, хотя и довольно медленно.
Общая теория
Явные многоступенчатые методы никогда не могут быть A-устойчивыми, как и явные методы Рунге — Кутты. Неявные многоступенчатые методы могут быть A-устойчивыми только в том случае, если их порядок не превышает 2. Этот результат известен как второй барьер Дальквиста и ограничивает применимость линейных многоступенчатых методов для жестких уравнений. Примером A-устойчивого метода второго порядка является упомянутое выше трапециевидное правило, которое также можно рассматривать как линейный многоступенчатый метод.