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.
El siguiente programa de ejemplo calcula el valor de la función de Bessel para 5:[1] 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: 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.