Каково современное состояние приближения сильно колебательных интегралов как в одном измерении, так и в более высоких измерениях с произвольной точностью?
Каково современное состояние приближения сильно колебательных интегралов как в одном измерении, так и в более высоких измерениях с произвольной точностью?
Ответы:
Я не совсем знаком с тем, что сейчас делается для кубатур (многомерная интеграция), поэтому я ограничусь квадратурными формулами.
Существует ряд эффективных методов для квадратуры колебательных интегралов. Есть методы, подходящие для конечных колебательных интегралов, и есть методы для бесконечных колебательных интегралов.
Для бесконечных колебательных интегралов два наиболее эффективных метода - это метод Лонгмана и модифицированная двойная экспоненциальная квадратура, обусловленная Урой и Мори. (Но см. Также эти две статьи Арье Изерл.)
Метод Лонгмана основан на преобразовании колебательного интеграла в чередующийся ряд путем разделения интервала интегрирования, а затем суммирования чередующегося ряда методом преобразования последовательности. Например, при интегрировании колебательного интеграла вида
каждый превращает это в переменную сумму
Члены этой чередующейся суммы вычисляются с помощью некоторого квадратурного метода, такого как схема Ромберга или квадратура Гаусса. В оригинальном методе Лонгмана использовалось преобразование Эйлера , но современные реализации заменяют Эйлера более мощными методами ускорения сходимости, такими как преобразование Шенкса или преобразование Левина .
Метод двойной экспоненциальной квадратуры , с другой стороны, производит умную замену переменных, а затем использует правило трапеции для численной оценки преобразованного интеграла.
Для конечных осциллирующих интегралов Писсенс (один из авторов QUADPACK) и Брандерс в двух работах подробно описывают модификацию квадратуры Кленшоу-Кертиса (то есть построение полиномиального чебышевского разложения неосциллирующей части подынтегрального выражения). Метод Левина , с другой стороны, использует метод коллокации для квадратуры. (Мне сказали, что теперь есть более практичная версия старого режима ожидания, метод Филона, но у меня нет опыта работы с ним.)
Это те методы, которые я помню наизусть; Я уверен, что я забыл другие хорошие методы для колебательных интегралов. Я отредактирую этот ответ позже, если я буду помнить их.
Помимо «многомерного против одномерного» и «конечного диапазона против бесконечного диапазона», важной категоризацией для методов является «один конкретный тип осциллятора (обычно тип Фурье: , и т. Д.). или типа Бесселя: и т. д.) против более общего осциллятора ( или даже более общего осциллятора ) ".exp ( i t ) J 0 ( t ) exp ( i g ( t ) ) w ( t )
Во-первых, колебательные методы интеграции ориентированы на конкретные генераторы. Как сказал Дж.М. , наиболее известными являются метод Филона и метод Кленшоу-Кертиса (эти два тесно связаны) для интегралов с конечным диапазоном, а также методы, основанные на экстраполяции рядов, и метод двойной экспоненты Оуры и Мори для интегралов с бесконечным диапазоном.
Совсем недавно были найдены некоторые общие методы. Два примера:
Метод Левина, основанный на коллокации, для любого ( Левин 1982 ) или более поздней версии для любого осциллятора определяемого линейным ОДУ ( Левин 1996 как связанный с JM ). Mathematica использует метод Левина для интегралов, не охватываемых более специализированными правилами.w ( t )
Метод Huybrechs и Vandewalle, основанный на аналитическом продолжении по сложному пути, где подынтегральное выражение не является осциллирующим ( Huybrechs and Vandewalle 2006 ).
Нет необходимости проводить различие между методами для интегралов с конечным и бесконечным диапазоном для более общих методов, поскольку уплотняющее преобразование может быть применено к интегралу с бесконечным диапазоном, что приводит к колебательному интегралу с конечным диапазоном, который все еще может быть обработан с помощью общего метода, хотя и с другой генератор.
Метод Левина может быть расширен до нескольких измерений путем итерации по измерениям и другими способами, но, насколько мне известно, все методы, описанные в литературе, до сих пор имеют точки выборки, которые являются внешним произведением одномерных точек выборки или какой-то другой вещи. это растет экспоненциально с измерением, поэтому оно быстро выходит из-под контроля. Я не знаю о более эффективных методах для больших размеров; если бы можно было найти этот образец на разреженной сетке в больших размерах, это было бы полезно в приложениях.
Создание автоматических подпрограмм для более общих методов может быть затруднено в большинстве языков программирования (C, Python, Fortran и т. Д.), В которых вы обычно ожидаете программировать свой интеграл как функцию / подпрограмму и передавать его в подпрограмму интегратора, потому что чем больше общие методы должны знать структуру подынтегрального выражения (какие части выглядят осциллирующими, какой тип осциллятора и т. д.) и не могут рассматривать его как «черный ящик».