GNU Scientific Library (GSL) es una biblioteca escrita en C, destinada a cálculos numéricos en matemáticas y ciencia, distribuida bajo la licencia GNU GPL.
GNU Scientific Library | ||
---|---|---|
Información general | ||
Tipo de programa | Biblioteca numérica | |
Desarrollador | proyecto GNU | |
Lanzamiento inicial | 1996 | |
Licencia | GNU GPL | |
Información técnica | ||
Programado en | C | |
Versiones | ||
Última versión estable | 2.8 ( 25 de mayo de 2024) | |
Enlaces | ||
Sitio web oficial
Repositorio de código
| ||
Incorpora, entre otras, rutinas para el manejo de números complejos, funciones elementales y funciones especiales, combinatoria, álgebra lineal, integración y derivación numéricas, transformada rápida de Fourier, transformada wavelet discreta, generación de números aleatorios y estadística.
El siguiente programa de ejemplo calcula el valor de la función de Bessel para 5:[1]
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
int main(void)
{
double x = 5.0;
double y = gsl_sf_bessel_J0(x);
printf("J0(%g) = %.18e\n", x, y);
return 0;
}
El programa de ejemplo debe ser enlazado a la biblioteca GSL durante la compilación:
gcc $(gsl-config --cflags) example.c $(gsl-config --libs)
Aquí se muestra la salida, que debería ser correcta en precisión doble:
J0(5) = -1.775967713143382920e-01
La biblioteca proporciona herramientas para:
La GSL se puede usar en las clases de C++, pero sin usar punteros a "funciones miembro" o métodos, porque el tipo de los punteros a métodos es diferente del de puntero a función.[2] En su lugar deben usarse punteros a funciones estáticas. Están disponibles los encapsulados de C++ para la GSL,[3] aunque hay muchos que no han sido mantenidos regularmente.