Если и оценить для и , то уравнение для метода Кранка–Николсона представляет собой комбинацию прямого метода Эйлера при и обратного метода Эйлера при (однако следует отметить, что сам метод не является просто средним значением этих двух методов, поскольку обратное уравнение Эйлера имеет неявную зависимость от решения):
Обратите внимание, что это неявный метод : чтобы получить «следующее» значение во времени, необходимо решить систему алгебраических уравнений. Если уравнение в частных производных нелинейно, дискретизация также будет нелинейной, так что продвижение во времени будет включать решение системы нелинейных алгебраических уравнений, хотя линеаризации возможны. Во многих задачах, особенно линейной диффузии, алгебраическая задача является трехдиагональной и может быть эффективно решена с помощью алгоритма трехдиагональной матрицы , который дает быстрое прямое решение, в отличие от обычного для полной матрицы, в котором указывается размер матрицы.
Пример: одномерная диффузия
Метод Кранка–Николсона часто применяется к задачам диффузии . Например, для линейной диффузии,
Применяя пространственную дискретизацию конечных разностей для правой части, дискретизация Кранка–Николсона тогда имеет вид
Квазилинейное уравнение, такое как (это минималистический пример, а не общий)
приведет к нелинейной системе алгебраических уравнений, которую нельзя будет легко решить, как указано выше; однако в некоторых случаях можно линеаризовать задачу, используя старое значение для , то есть вместо . В других случаях может оказаться возможным оценить с помощью явного метода и сохранить устойчивость.
Пример: одномерная диффузия с адвекцией для устойчивого потока с несколькими соединениями каналов.
Это решение обычно используется для многих целей, когда есть проблема загрязнения в ручьях или реках в условиях постоянного потока, но информация дается только в одном измерении. Часто проблему можно упростить до одномерной проблемы и все равно получить полезную информацию.
Здесь мы моделируем концентрацию растворенного загрязняющего вещества в воде. Эта задача состоит из трех частей: известного уравнения диффузии ( выбранного как константа), адвективного компонента (который означает, что система развивается в пространстве из-за поля скорости), который мы выбираем как константу , и бокового взаимодействия между продольными каналами ( ):
где - концентрация загрязняющего вещества, а индексы и соответствуют предыдущему и следующему каналу.
Метод Кранка–Николсона (где представляет положение, а время) преобразует каждый компонент уравнения в частные производные в следующее:
Теперь для упрощения алгебры создадим следующие константы:
и подставляем ( 2 ), ( 3 ), ( 4 ), ( 5 ), ( 6 ), ( 7 ), и в ( 1 ). Затем мы помещаем новые временные термины слева ( ), а настоящие временные термины справа ( ), чтобы получить
Чтобы смоделировать первый канал, мы понимаем, что он может контактировать только со следующим каналом ( ), поэтому выражение упрощается до
Таким же образом, чтобы смоделировать последний канал, мы понимаем, что он может контактировать только с предыдущим каналом ( ), поэтому выражение упрощается до
Чтобы решить эту линейную систему уравнений, мы должны теперь увидеть, что граничные условия должны быть заданы сначала в начале каналов:
: начальное состояние канала на текущем временном шаге,
: начальное состояние для канала на следующем временном шаге,
: начальное условие для предыдущего канала к анализируемому на текущем временном шаге,
: начальное условие для следующего канала по отношению к анализируемому на текущем временном шаге.
Для последней ячейки каналов ( ) наиболее удобным условием становится адиабатическое, поэтому
Это условие выполняется тогда и только тогда, когда (независимо от нулевого значения)
Решим эту задачу (в матричной форме) для случая 3 каналов и 5 узлов (включая начальное граничное условие). Выразим это как линейную системную задачу:
где
Теперь мы должны понять, что AA и BB должны быть массивами, состоящими из четырех различных подмассивов (помните, что в этом примере рассматриваются только три канала, но он охватывает основную часть, обсуждаемую выше):
где элементы, упомянутые выше, соответствуют следующим массивам, и дополнительно 4×4, заполненные нулями. Обратите внимание, что размеры AA и BB составляют 12×12:
Вектор d здесь используется для хранения граничных условий. В этом примере это вектор 12×1:
Чтобы найти концентрацию в любой момент времени, необходимо повторить следующее уравнение:
Пример: 2D диффузия
При расширении в двух измерениях на равномерной декартовой сетке вывод аналогичен, и результаты могут привести к системе ленточно-диагональных уравнений, а не к трехдиагональным . Двумерное уравнение теплопроводности
может быть решена с помощью дискретизации Кранка-Николсона
предполагая, что используется квадратная сетка, так что . Это уравнение можно несколько упростить, переставив члены и используя число CFL
Для численной схемы Кранка–Николсона низкое число CFL не требуется для стабильности, однако оно требуется для численной точности. Теперь мы можем записать схему как
Поскольку метод Кранка–Николсона неявный , его, как правило, невозможно решить точно. Вместо этого следует использовать итерационный метод для сходимости к решению. Одним из вариантов является использование метода Ньютона для сходимости к прогнозу, но это требует вычисления якобиана . Для многомерной системы, такой как в вычислительной гидродинамике или численной теории относительности , может быть невыполнимо вычислить этот якобиан.
Альтернативой, свободной от Якобиана, является итерация с фиксированной точкой . Если — скорость системы, то предсказание Кранка–Николсона будет фиксированной точкой отображения Если итерация отображения не сходится, параметризованное отображение , с , может вести себя лучше. В развернутом виде формула обновления имеет вид
где — текущее предположение, а — предыдущий временной шаг.
Даже для многомерных систем итерация этой карты может сходиться на удивление быстро.
Важность этого для финансов заключается в том, что проблемы ценообразования опционов, выходящие за рамки стандартных предположений (например, включение изменяющихся дивидендов), не могут быть решены в закрытой форме, но могут быть решены с помощью этого метода. Однако следует отметить, что для негладких конечных условий (которые случаются для большинства финансовых инструментов) метод Кранка–Николсона неудовлетворителен, поскольку числовые колебания не затухают. Для ванильных опционов это приводит к колебаниям значения гаммы вокруг цены исполнения . Поэтому необходимы специальные шаги инициализации затухания (например, полностью неявный метод конечных разностей).
^ Тунцер Чебечи (2002). Конвективный теплообмен. Спрингер. ISBN 0-9668461-4-1.
^ Crank, J.; Nicolson, P. (1947). "Практический метод численной оценки решений уравнений с частными производными типа теплопроводности". Proc. Camb. Phil. Soc . 43 (1): 50–67. Bibcode :1947PCPS...43...50C. doi :10.1017/S0305004100023197. S2CID 16676040.
^ Томас, Дж. В. (1995). Численные уравнения в частных производных: методы конечных разностей . Тексты по прикладной математике. Том 22. Берлин, Нью-Йорк: Springer-Verlag . ISBN978-0-387-97999-1.. Пример 3.3.2 показывает, что уравнение Крэнка–Николсона безусловно устойчиво при применении к .
^ "Многомерные параболические задачи" (PDF) . Computer Science Department . RPI . Получено 29 мая 2016 г. .
^ Уилмотт, П.; Хоуисон, С.; Дьюинн, Дж. (1995). Математика финансовых производных: введение для студентов . Cambridge Univ. Press. ISBN0-521-49789-2. Математика финансовых производных инструментов Уилмотт.
Внешние ссылки
Методы численного решения уравнений в частных производных для ученых и инженеров, открытый доступ к лекциям и кодам для численного решения уравнений в частных производных
Пример применения и реализации метода Кранка–Николсона для уравнения адвекции