La cuadratura adaptativa es un método de integración numérica en el que la integral de una función se aproxima utilizando reglas de cuadratura estática en subintervalos adaptados refinados de la región de integración. En general, los algoritmos adaptativos son tan eficientes y efectivos como los algoritmos tradicionales para los integrandos "de buen comportamiento", pero también son efectivos para los integrandos "de mal comportamiento" para los cuales los algoritmos tradicionales pueden fallar.
La cuadratura adaptativa sigue el esquema general
1. procedimiento integrar ( f, a, b, τ )2. 3. 4. si ε > τ entonces 5. m = (a + b) / 26. Q = integrar(f, a, m, τ/2) + integrar(f, m, b, τ/2)7. fin si 8. devolver Q
Se calcula una aproximación a la integral de sobre el intervalo (línea 2), así como una estimación del error (línea 3). Si el error estimado es mayor que la tolerancia requerida (línea 4), el intervalo se subdivide (línea 5) y la cuadratura se aplica a ambas mitades por separado (línea 6). Se devuelve la estimación inicial o la suma de las mitades calculadas recursivamente (línea 7).
Los componentes importantes son la propia regla de cuadratura .
el estimador de error
y la lógica para decidir qué intervalo subdividir y cuándo terminar.
Existen varias variantes de este esquema. Las más comunes se analizarán más adelante.
Las reglas de cuadratura generalmente tienen la forma
donde los nodos y los pesos generalmente están precalculados.
En el caso más simple, se utilizan fórmulas de Newton-Cotes de grado par, donde los nodos están espaciados uniformemente en el intervalo:
Cuando se utilizan dichas reglas, los puntos en los que se ha evaluado se pueden reutilizar mediante recursión:
Se utiliza una estrategia similar con la cuadratura de Clenshaw-Curtis , donde los nodos se eligen como
O, cuando se utiliza la cuadratura de Fejér ,
También se pueden utilizar otras reglas de cuadratura, como la cuadratura gaussiana o la cuadratura de Gauss-Kronrod .
Un algoritmo puede optar por utilizar diferentes métodos de cuadratura en diferentes subintervalos, por ejemplo, utilizar un método de orden alto solo cuando el integrando es suave.
Algunos algoritmos de cuadratura generan una secuencia de resultados que deberían aproximarse al valor correcto. De lo contrario, se puede utilizar una "regla nula" que tiene la forma de la regla de cuadratura anterior, pero cuyo valor sería cero para un integrando simple (por ejemplo, si el integrando fuera un polinomio del grado apropiado).
Ver:
La cuadratura adaptativa "local" hace que el error aceptable para un intervalo dado sea proporcional a la longitud de ese intervalo. Este criterio puede ser difícil de satisfacer si los integrandos se comportan mal solo en unos pocos puntos, por ejemplo, con algunas discontinuidades de paso. Alternativamente, se podría requerir solo que la suma de los errores en cada uno de los subintervalos sea menor que el requisito del usuario. Esto sería la cuadratura adaptativa "global". La cuadratura adaptativa global puede ser más eficiente (utilizando menos evaluaciones del integrando) pero generalmente es más compleja de programar y puede requerir más espacio de trabajo para registrar información sobre el conjunto actual de intervalos.