Selección de método para cuadratura numérica

12

Existen varias familias de métodos para la cuadratura numérica. Si tengo una clase específica de integrandos, ¿cómo selecciono el método ideal?

¿Cuáles son las preguntas relevantes para formular tanto sobre el integrando (por ejemplo, ¿es suave? ¿Tiene singularidades?) Como sobre el problema computacional (por ejemplo, tolerancia a errores, presupuesto computacional)?

¿Cómo descartan o promueven las respuestas a estas preguntas las diversas familias de métodos? Para simplificar, consideremos solo integrales simples o de baja dimensión.

Por ejemplo, el artículo de Wikipedia sobre QUADPACK establece que la QAGSrutina bastante general " utiliza una cuadratura adaptativa global basada en la cuadratura Gauss-Kronrod de 21 puntos dentro de cada subintervalo, con aceleración por el algoritmo épsilon de Peter Wynn ".

¿Cómo se tomó esta decisión? ¿Cómo se pueden tomar decisiones similares cuando se sabe más?

MRocklin
fuente
1
Probablemente se necesita información más específica para responder esto correctamente. No existe un criterio único para todos, la cuadratura gaussiana a menudo funciona bien para problemas muy suaves, mientras que otras cuadraturas pueden usarse en presencia de singularidades leves. Pero si eres periódico, entonces un simple trapecio podría cortarlo.
Reid.Atcheson
2
@ Reid.Atcheson, creo que estás respondiendo la pregunta ahora mismo. No estoy preguntando cuál es el mejor método, estoy preguntando qué tipo de preguntas harías y qué te dirían esas respuestas. ¿Cómo se aborda este tipo de problemas en general?
MRocklin

Respuestas:

11

En primer lugar, debe hacerse la pregunta si necesita una rutina de cuadratura completa que debería tomar un integrando como una caja negra. Si es así, no puede sino optar por una cuadratura adaptativa donde espera que la adaptabilidad atrape puntos "difíciles" en el integrando. Y esa es una de las razones por las que Piessens et al. eligió una regla de Gauss-Kronrod (este tipo de regla le permite calcular una aproximación de la integral y una estimación del error de aproximación utilizando las mismas evaluaciones de función) de orden modesto aplicado en un esquema adaptativo (con subdivisión del intervalo con el error más alto) hasta alcanzar las tolerancias requeridas. El algoritmo Wynn-epsilon permite proporcionar una aceleración de convergencia y, por lo general, ayuda en los casos en que existen singularidades de punto final.

Pero si conoce la "forma" o "tipo" de su integrando, puede adaptar su método a lo que necesita para que el costo computacional sea limitado para la precisión que necesita. Entonces, ¿qué necesitas mirar?

Integrando:

  • Suavidad: puede ser aproximado (bien) por un polinomio de una familia polinomial ortogonal (si es así, la cuadratura gaussiana funcionará bien)
  • Singularidades: ¿se puede dividir la integral en integrales con solo singularidades de punto final (si es así, la regla IMT o la cuadratura exponencial doble será buena en cada subintervalo)
  • Costo computacional para la evaluación?
  • ¿Se puede calcular el integrando? ¿O solo hay datos limitados disponibles?
  • Integrando altamente oscilatorio: busque métodos de tipo Levin.

|xc|αcα

Intervalo de integración: finito, semi-infinito o infinito. En caso de intervalos semi-infinitos o infinitos, ¿pueden reducirse a un intervalo finito mediante una transformación variable? Si no, los polinomios de Laguerre o Hermite se pueden utilizar en el enfoque de la cuadratura gaussiana.

No tengo una referencia para un diagrama de flujo real para la cuadratura en general, pero el libro QUADPACK (no las páginas de manual de Netlib, sino el libro real) tiene un diagrama de flujo para seleccionar la rutina adecuada en función de la integral que desea evaluar. El libro también describe las elecciones en algoritmos hechas por Piessens et al. para las diferentes rutinas.

Para integrales de baja dimensión, normalmente se utiliza cuadratura unidimensional anidada. En el caso especial de integrales bidimensionales (cubature), existen reglas de integración para diferentes casos de dominios de integración. R. Cools ha recopilado una gran cantidad de reglas en su Enciclopedia de fórmulas de cubature y es el autor principal del paquete Cubpack . Para integrales de alta dimensión, normalmente se recurre a los métodos de tipo Monte Carlo. Sin embargo, normalmente se necesita una gran cantidad de evaluaciones integradas para obtener una precisión razonable. Para integrales de baja dimensión, los métodos de aproximación como la cuadratura / cubicación / cuadratura anidada a menudo superan a estos métodos estocásticos.

Referencias generales interesantes:

  1. Quadpack, Piessens, Robert; de Doncker-Kapenga, Elise; Überhuber, Christoph W .; Kahaner, David (1983). QUADPACK: un paquete de subrutina para integración automática. Springer-Verlag. ISBN 978-3-540-12553-2
  2. Métodos de integración numérica: segunda edición, Ph. Davis y Ph. Rabinowitz, 2007, Dover Books on Mathematics, ISBN 978-0486453392
GertVdE
fuente
1
Buena respuesta ¿Por qué QUADPACK habría elegido el método Gauss-Kronrod de 21 puntos en particular? ¿Por qué el número mágico?
MRocklin
@MRocklin: Supongo que fue un buen equilibrio entre precisión y eficiencia: no desea exagerar su regla de cuadratura (costosa) pero tampoco quiere que sea demasiado débil (demasiadas subdivisiones en la parte adaptativa) ) Para completar: en la rutina QAG, el usuario debe especificar la regla de la cuadratura; en QAGS (con extrapolación), el valor predeterminado es la regla de 21 puntos, pero esto se puede anular mediante el uso de la rutina de llamada extendida QAGSE.
GertVdE
1
@GertVdE Muy buena respuesta de hecho. ¿Puede dar más detalles sobre el uso de Clenshaw-Curtis para capturar singularidades de intervalo medio o proporcionar referencias? No he escuchado que se use de esta manera antes, y no pude encontrar ningún detalle de una búsqueda rápida en Google. ¡Gracias!
OscarB
3
@ OscarB: perdón por el largo retraso, estaba fuera sin acceso a la red (ah, la buena vida). Ver el libro Quadpack §2.2.3.3 y más; Branders, Piessens, "Una extensión de la cuadratura de Clenshaw-Curtis", 1975, J.Comp.Appl.Math., 1, 55-65; Piessens, Branders, "La evaluación y aplicación de algunos momentos modificados", 1973, BIT, 13, 443-450; Piessens, Branders, "Cálculo de integrales oscilantes", 1975, J.Comp.Appl.Math., 1, 153-164. Si hace una búsqueda bibliográfica de "Robert Piessens" en algún lugar entre 1972 y 1980, encontrará muchos artículos interesantes.
GertVdE