De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

QUADPACK es una biblioteca de FORTRAN 77 para la integración numérica de funciones unidimensionales. [2] Se incluyó en la Biblioteca Matemática Común de SLATEC y, por lo tanto, es de dominio público . [3] Los subprogramas individuales también están disponibles en netlib . [4]

La Biblioteca Científica GNU reimplementada las rutinas QUADPACK en C . SciPy proporciona una interfaz Python para parte de QUADPACK. [5] [6]

Rutinas

El enfoque principal de QUADPACK está en las rutinas de integración automática en las que el usuario ingresa el problema y una tolerancia de error absoluta o relativa y la rutina intenta realizar la integración con un error no mayor que el solicitado. Hay nueve rutinas automáticas de este tipo en QUADPACK, además de una serie de rutinas no automáticas. Todas menos una de las rutinas automáticas utilizan cuadratura adaptativa . [7]

Cada una de las rutinas adaptativas también tiene versiones con el sufijo E que tienen una lista de parámetros extendida que proporciona más información y permite más control. Se lanzaron versiones de doble precisión de todas las rutinas con el prefijo D.

Rutinas de propósito general

Las dos rutinas de propósito general más adecuadas para su uso sin un análisis adicional del integrando son QAGS para la integración en un intervalo finito y QAGI para la integración en un intervalo infinito . [7] Estas dos rutinas se utilizan en GNU Octave (el quadcomando) [5] y R (la integratefunción). [9]

QAGS
usa mundial cuadratura adaptativa basada en 21 puntos de Gauss-Kronrod cuadratura dentro de cada subintervalo, con aceleración por Peter Wynn 's algoritmo de épsilon . [7] [10]
QAGI
es la única rutina de propósito general para intervalos infinitos, y mapea el intervalo infinito en el intervalo semiabierto (0,1] usando una transformación y luego usa el mismo enfoque que QAGS, excepto con Gauss de 15 puntos en lugar de 21 puntos– Cuadratura de Kronrod. [2] Para una integral sobre toda la línea real, la transformación utilizada es: [2]
Este no es el mejor enfoque para todos los integrandos: otra transformación puede ser apropiada, o uno podría preferir romper el intervalo original y usar QAGI solo en la parte infinita. [7]

Breve descripción de las otras rutinas automáticas

QNG
integrador simple no adaptativo
QAG
integrador adaptativo simple
QAGP
similar a QAGS pero permite al usuario especificar ubicaciones de singularidades internas, discontinuidades, etc.
QAWO
integral de cos ( ωx ) f ( x ) o sin ( ωx ) f ( x ) en un intervalo finito
QAWF
Transformada de Fourier
QAWS
integral de w ( x ) f ( x ) de una a b , donde f es suave y w ( x ) = ( x - un ) α ( b - x ) β log k ( x - un ) log l ( b - x ) , con k , l = 0 o 1 y α , β > –1
QAWC
Valor principal de Cauchy de la integral de f ( x ) / ( x - c ) para c y f especificadas por el usuario [2]

Ver también

  • Lista de bibliotecas numéricas

Referencias

  1. ^ "quadpack / cambios" . Netlib . Consultado el 16 de noviembre de 2010 .
  2. ^ a b c d Piessens, Robert; de Doncker-Kapenga, Elise; Überhuber, Christoph W .; Kahaner, David (1983). QUADPACK: Un paquete de subrutinas para la integración automática . Springer-Verlag . ISBN 978-3-540-12553-2.
  3. ^ Fong, Kirby W .; Jefferson, Thomas H .; Suyehiro, Tokihiko; Walton, Lee (julio de 1993). "Guía de la Biblioteca Matemática Común SLATEC" . netlib.org . Consultado el 13 de noviembre de 2010 .
  4. ^ "quadpack" . Netlib . Consultado el 13 de noviembre de 2010 .
  5. ^ a b "QUADPACK" . Grupo de Integración numérica, ecuaciones no lineales y software (NINES), Katholieke Universiteit Leuven . Consultado el 13 de noviembre de 2010 .
  6. ^ "scipy.integrate.quad - Guía de referencia de SciPy v0.14.0" . Consultado el 1 de julio de 2014 .
  7. ^ a b c d Piessens, Robert; De Doncker, Elise; Kahaner, David (17 de abril de 1984). "Subrutina QPDOC" . QUADPACK . netlib . Consultado el 16 de noviembre de 2010 .
  8. ^ Zwillinger, Daniel (1992). Manual de integración . AK Peters. pag. 255. ISBN 978-0-86720-293-9.
  9. ^ R Development Core Team y colaboradores en todo el mundo (octubre de 2010). "integrar {stats}: Integración de funciones unidimensionales" . Documentación para el paquete 'stats' versión 2.13.0 . Consultado el 16 de noviembre de 2010 .
  10. ^ "17.4 Integración adaptativa QAGS con singularidades" . Biblioteca científica GNU - Referencia . Fundación de Software Libre . Consultado el 16 de noviembre de 2010 .

Lectura adicional

  • Favati, P .; Lotti, G .; Romani, F. (1991). "Algoritmo 691; Mejora de las rutinas de integración automática QUADPACK". Transacciones ACM en software matemático . 17 (2): 218–232. doi : 10.1145 / 108556.108580 .
  • Cools, R .; Haegemans, A. (2003). "Algoritmo 824: CUBPACK : un paquete para cubature automático; descripción del marco". Transacciones ACM en software matemático . 29 (3): 287-296. doi : 10.1145 / 838250.838253 .