Дробное исчисление: численные методы для производных нецелого порядка
Когда порядок производной становится дробным числом
В классическом математическом анализе, заложенном Ньютоном и Лейбницем, мы привыкли оперировать производными только целого порядка: первая производная (скорость), вторая производная (ускорение), третья производная (рывок) и так далее. Однако еще в 1695 году маркиз де Лопиталь задал Лейбницу в письме интригующий вопрос: «А что будет, если порядок производной n сделать равным 1/2?». Лейбниц ответил, что это приведет к удивительным парадоксам, из которых однажды будут извлечены великие следствия. Так зародилась совершенно невероятная ветвь математики — дробное исчисление (Fractional Calculus).
На протяжении веков этот раздел оставался чистой математической абстракцией, лишенной физического смысла. Но в конце 20-го века произошел настоящий взрыв: выяснилось, что дифференциальные уравнения с дробными производными феноменально точно описывают сложнейшие физические процессы с эффектами «долговременной памяти» и пространственной нелокальности. Моделирование вязкоупругих материалов (полимеров), аномальной диффузии в пористых средах, электрических фрактальных цепей и даже динамики финансовых рынков оказалось невозможным без использования дробных операторов.
Операторы Римана-Лиувилля и Капуто
Определить дробную производную аналитически можно несколькими разными способами. Самым известным является определение Римана-Лиувилля, которое обобщает формулу многократного интегрирования Коши с помощью гамма-функции Эйлера (расширения факториала на вещественные числа). В этом подходе дробная производная вычисляется как обычная производная от дробного интеграла.
Однако производная Римана-Лиувилля от константы не равна нулю, что вызывает огромные трудности при постановке начальных физических условий (инженеры не понимают, как измерить «дробное начальное значение» температуры или скорости). Поэтому для решения прикладных дифференциальных уравнений чаще используется определение Капуто. Производная Капуто сначала дифференцирует функцию до ближайшего целого числа, а затем берет от нее дробный интеграл. Это позволяет использовать стандартные, понятные классические начальные условия Коши, делая уравнения физически осмысленными.
Методы Грюнвальда-Летникова и проблема вычислительной памяти
Поскольку аналитически решить дробные дифференциальные уравнения удается лишь в тривиальных случаях, возникает острая необходимость в эффективных численных методах. Самым интуитивным подходом к дискретизации является схема Грюнвальда-Летникова. Она напрямую обобщает классические конечные разности. Если первая производная вычисляется по двум точкам, вторая — по трем, то для вычисления дробной производной по Грюнвальду-Летникову требуется бесконечный биномиальный ряд.
В этом кроется главная вычислительная сложность («проклятие») дробного исчисления. Классическая производная локальна: чтобы найти скорость автомобиля прямо сейчас, нам нужно знать его положение только за последнюю миллисекунду. Дробная же производная глобальна. Это математический оператор с эффектом «затухающей памяти». Чтобы вычислить состояние дробной системы на n-ном временном шаге, компьютеру необходимо учесть всю историю состояния системы, начиная с самого первого шага t=0! Это приводит к тому, что время вычислений растет пропорционально квадрату количества шагов (O(N^2)), а требования к оперативной памяти растут линейно. Для длительного интегрирования таких систем математики вынуждены разрабатывать хитрые методы «короткой памяти» (усечения хвоста) и применять алгоритмы быстрых дискретных сверток на базе БПФ.