GNU Scientific Library
# GNU Scientific Library

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.

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.

## Ejemplo

El siguiente programa de ejemplo calcula el valor de la función de Bessel para 5:

El programa de ejemplo debe ser enlazado a la biblioteca GSL durante la compilación:

Aquí se muestra la salida, que debería ser correcta en precisión doble:

## Características

La biblioteca proporciona herramientas para:

* Funciones matemáticas básicas
* Números complejos
* Polinomios
* Funciones especiales
* Vectores y matrices
* Permutaciones
* Combinaciones
* Multiset
* Ordenación
* BLAS
* Álgebra lineal
* Eigenvectores
* Transformada rápida de Fourier
* Integración numérica
* Generación aleatoria de números
* Secuencias Quasi-aleatorias
* Distribuciones de números aleatorios
* Estadísticas
* Histogramas
* N-tuplas
* Integración de Monte Carlo
* Simulated annealing
* Ecuaciones diferenciales ordinarias
* Interpolación
* Derivación numérica
* Aproximaciones de Chebyshev
* Aceleración de Series
* Transformada discreta de Hankel
* Búsqueda de raíces en una y varias dimensiones
* Minimización en una y varias dimensiones
* Medida de mínimos cuadrados
* Medida de mínimos cuadrados no lineales
* Constantes Físicas
* Aritmética de punto flotante IEEE

### Soporte para C++

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. En su lugar deben usarse punteros a funciones estáticas. Están disponibles los encapsulados de C++ para la GSL, aunque hay muchos que no han sido mantenidos regularmente.

