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 QAGS
rutina 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?
fuente
Respuestas:
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:
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:
fuente