В этом продвинутом курсе по применению теории сложных функций в одной точке упражнения высоко колебательный интеграл
должен быть аппроксимирован для больших значений с использованием метода седловой точки в комплексной плоскости.
Из-за своей высокой колебательной природы этот интеграл очень трудно оценить, используя большинство других методов. Это два фрагмента графика подынтегрального выражения для в разных масштабах:
Асимптотическое приближение ведущего порядка
и дальнейшее (гораздо меньшее) уточнение добавляет термин
График аппроксимированных значений как функции выглядит следующим образом:
Теперь возникает мой вопрос: чтобы наглядно увидеть, насколько хорошее приближение, я хотел бы сравнить его с «реальным значением» интеграла или, точнее, с хорошим приближением к тому же интегралу с использованием независимого алгоритма. Из-за малости коррекции субаренды, я ожидаю, что это будет очень близко.
Я попытался оценить интеграл для некоторого используя другие алгоритмы, но с очень небольшим успехом: Mathematica и Matlab, использующие числовой интегратор по умолчанию, не могут произвести значащее значение (и сообщают об этом явно), mpmath, используя оба в два раза экспоненциальный Подстановка и метод Гаусса-Лежандра дают очень шумные результаты, хотя он имеет небольшую тенденцию колебаться вокруг значений, которые дает метод седловой точки, как может показать этот график:
Наконец, я попытал счастья с интегратором Монте-Карло, используя пример важности, который я реализовал, но мне также не удалось получить стабильных результатов.
Кто-нибудь имеет представление о том, как этот интеграл может быть независимо оценен для любого фиксированного значения или около того?
Ответы:
Используйте теорему Планшереля для оценки этого интеграла.
Основная идея заключается в том, что для двух функций ,е, г
где - преобразования Фурье от . Ваши функции имеют относительно небольшую поддержку в спектральной области. Здесь и должны иметь аналитическое преобразование Фурье (или ряд), как разложение Якоби-Анжера . Вы можете обрезать бесконечные ряды примерно до членов из-за суперэкспоненциального убывания функции Бесселядля, Надеюсь это поможет.F, Г е, г грехх / х → прямоугольник ( к ) соз( λ cosх ) λ | J н ( х ) | n > | х |λ | JN( х ) | n > | х |
Изменить : На самом деле, вы должны использовать здесь представления рядов Фурье вместо преобразований. Путь преобразования приводит к получению асимптотического представления, которое у вас уже есть (оказывается, это просто ). Приведенная выше теорема Планшереля также работает для рядов Фурье с областью интегрирования на последнем интеграле.πJ0( λ ) [ 0 , 2 π]
источник
Ключом к оценке колебательных интегралов является усечение интеграла в нужной точке. Для этого примера вам нужно выбрать верхний предел формы Прежде чем объяснять, почему это должно работать, сначала позвольте мне показать, что он действительно дает хорошие результаты.πN + π2
асимптотике
Нетрудно догадаться, что асимптотический ряд имеет вид Чтобы численно проверить, что достаточно построить разницу между интегральным и ведущим асимптотическим выражением.я( λ ) ∼ 2 πλ---√[ потому что( λ - π4) + с1грех( λ - π4)λ+ с2соз( λ - π4)λ2+ с3грех( λ - π4)λ3+ … ] с1= 18
В результате вы получите довольно хороший синус, который совпадает с тем, который вы получили выше.
Если вы хотите найти следующие коэффициенты, немного более сложный кусок кода, если это необходимо. Идея кода ниже состоит в том, чтобы взять несколько верхних предельных значений и «усреднить» их результаты.
Это дает следующий ответ.с2= - 9128,с3= - 751024,с4= 367532768,...
объяснение
Простой пример
Для иллюстрации я собираюсь использовать более простой пример синуса - интеграл Позвольте мне представить, что меня интересует значение , но я этого не знаю.S( х ) = ∫Икс0грех( у)YdY, S( ∞ ) = π2
Вы видите, что колеблется вокруг своего предельного значения аналогично тому, как частичные суммы чередующихся в знаковых рядах колеблются с верхним отсечением. Если вы хотите оценить такую сумму, в соответствии с методом ускорения ряда Эйлера вы должны взять Или с точки зрения синусоидальной функции, вы должны интегрировать ее до точки между максимумом и минимумом колебаний. Как ясно видно из графика, такая точка приблизительно определяется как для больших значений аргумента. В более общем смысле такой точкой является точка, гдепроисходит.S(x) SN=∑n=1N(−1)nn. S≈SN+12(−1)N+1N+1. S(x)≈∫πN+π20sinxxdx max|S′(x)|
Твоя проблема
Возвращаясь к интегралу из курса Константина и Ярослава, вы можете видеть, что он ведет себя точно так же, как синус - интеграл как функция верхнего предела. Это означает, что вам нужно только вычислить значения с . Ниже приведен график нескольких таких значений с .Ix0(λ)=2∫x00cos(λcos(x))sinc(x)dx x0=πN+π2 λ=12π
Здесь вы можете увидеть результат другого метода ускорения. Я переставляю частичные суммы следующим образом и новую последовательность которая сходится намного быстрее. Этот прием также может оказаться полезным, если вы хотите оценить интеграл с высокой точностью.S′N=12(SN+SN+1) S′N
источник
Метод Ура для синусоидальных интегралов Фурье работает здесь, см .:
Ура, Такуя и Масатаке Мори. Надежная двойная экспоненциальная формула для интегралов типа Фурье. Журнал вычислительной и прикладной математики 112.1-2 (1999): 229-241.
Я написал реализацию этого алгоритма, но никогда не включал его в работу, чтобы добиться его быстрого (скажем, кэширования узлов / весов), но, тем не менее, я получаю последовательные результаты во всем, кроме точности с плавающей точкой:
Вот код:
Вы не можете видеть разницу между квадратурой и асимптотикой, потому что они лежат друг на друге, кроме как :λ→0
источник