¿Cuál es el estado del arte en la aproximación de integrales altamente oscilatorias en una dimensión y dimensiones superiores con precisión arbitraria?
¿Cuál es el estado del arte en la aproximación de integrales altamente oscilatorias en una dimensión y dimensiones superiores con precisión arbitraria?
Respuestas:
No estoy completamente familiarizado con lo que ahora se hace para las cubaturas (integración multidimensional), por lo que me limitaré a las fórmulas en cuadratura.
Existen varios métodos efectivos para la cuadratura de integrales oscilatorias. Hay métodos adecuados para integrales oscilatorias finitas, y hay métodos para integrales oscilatorias infinitas.
Para las integrales oscilatorias infinitas, dos de los métodos más efectivos utilizados son el método de Longman y la cuadratura exponencial doble modificada debido a Ooura y Mori. (Pero vea también estos dos documentos de Arieh Iserles).
El método de Longman se basa en convertir la integral oscilatoria en una serie alterna dividiendo el intervalo de integración y luego sumando la serie alterna con un método de transformación de secuencia. Por ejemplo, al integrar una integral oscilatoria de la forma
uno convierte esto en la suma alterna
Los términos de esta suma alterna se calculan con algún método de cuadratura como el esquema de Romberg o la cuadratura gaussiana. El método original de Longman utilizó la transformación de Euler , pero las implementaciones modernas reemplazan a Euler con métodos de aceleración de convergencia más potentes como la transformación de Shanks o la transformación de Levin .
El método de cuadratura exponencial doble , por otro lado, hace un cambio inteligente de variables, y luego usa la regla trapezoidal para evaluar numéricamente la integral transformada.
Para integrales oscilatorias finitas, Piessens (uno de los contribuyentes de QUADPACK) y Branders, en dos documentos , detallan una modificación de la cuadratura de Clenshaw-Curtis (es decir, la construcción de una expansión polinomial de Chebyshev de la parte no oscilatoria del integrando). El método de Levin , por otro lado, utiliza un método de colocación para la cuadratura. (Me dijeron que ahora hay una versión más práctica del antiguo modo de espera, el método de Filon, pero no tengo experiencia con él).
Estos son los métodos que recuerdo de improviso; Estoy seguro de que he olvidado otros buenos métodos para integrales oscilatorias. Editaré esta respuesta más tarde si las recuerdo.
Al principio, los métodos de integración oscilatoria se centraron en osciladores específicos. Como dijo JM , los más destacados incluyen el método de Filon y el método de Clenshaw-Curtis (estos dos están estrechamente relacionados) para integrales de rango finito, y métodos basados en extrapolación en serie y el método de doble exponencial de Ooura y Mori para integrales de rango infinito.
Más recientemente, se han encontrado algunos métodos generales. Dos ejemplos:
El método de Huybrechs y Vandewalle basado en la continuación analítica a lo largo de un camino complejo donde el integrando no es oscilatorio ( Huybrechs y Vandewalle 2006 ).
No es necesaria una distinción entre los métodos para integrales de rango finito e infinito para los métodos más generales, ya que una transformación de compactación se puede aplicar a una integral de rango infinito, lo que lleva a una integral oscilatoria de rango finito que todavía se puede abordar con el método general, aunque con Un oscilador diferente.
El método de Levin puede extenderse a múltiples dimensiones iterando sobre las dimensiones y otras formas, pero hasta donde yo sé, todos los métodos descritos en la literatura hasta ahora tienen puntos de muestra que son un producto externo de los puntos de muestra unidimensionales o alguna otra cosa. que crece exponencialmente con la dimensión, por lo que rápidamente se sale de control. No conozco métodos más eficientes para grandes dimensiones; si se pudiera encontrar esa muestra en una cuadrícula dispersa en altas dimensiones, sería útil en aplicaciones.
Crear rutinas automáticas para los métodos más generales puede ser difícil en la mayoría de los lenguajes de programación (C, Python, Fortran, etc.) en los que normalmente esperaría programar su integrando como una función / rutina y pasarlo a la rutina del integrador, porque cuanto más Los métodos generales necesitan conocer la estructura del integrando (qué partes parecen oscilatorias, qué tipo de oscilador, etc.) y no pueden tratarse como una "caja negra".