Autor (es) original (es) | Robert Piessens Elise deDoncker-Kapenga Christoph W. Überhuber David Kahaner |
---|---|
Versión inicial | Mayo de 1981 |
Lanzamiento final | Mayo de 1987 [1] |
Escrito en | FORTRAN 77 |
Escribe | Biblioteca |
Licencia | Dominio publico |
Sitio web | nueves |
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]
Primera letra | 2da letra | Tercera letra | Cuarta letra | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
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 quad
comando) [5] y R (la integrate
funció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
- ^ "quadpack / cambios" . Netlib . Consultado el 16 de noviembre de 2010 .
- ^ 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.
- ^ 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 .
- ^ "quadpack" . Netlib . Consultado el 13 de noviembre de 2010 .
- ^ 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 .
- ^ "scipy.integrate.quad - Guía de referencia de SciPy v0.14.0" . Consultado el 1 de julio de 2014 .
- ^ 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 .
- ^ Zwillinger, Daniel (1992). Manual de integración . AK Peters. pag. 255. ISBN 978-0-86720-293-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 .
- ^ "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 .