GSL - GNU Scientific Library

  •        45

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

The complete range of subject areas covered by the library includes:

  • Complex Numbers
  • Roots of Polynomials
  • Special Functions
  • Vectors and Matrices
  • Permutations
  • Sorting
  • BLAS Support
  • Linear Algebra
  • Eigensystems
  • Fast Fourier Transforms
  • Quadrature
  • Random Numbers
  • Quasi-Random Sequences
  • Random Distributions
  • Statistics
  • Histograms
  • N-Tuples
  • Monte Carlo Integration
  • Simulated Annealing
  • Differential Equations
  • Interpolation
  • Numerical Differentiation
  • Chebyshev Approximation
  • Series Acceleration
  • Discrete Hankel Transforms
  • Root-Finding
  • Minimization
  • Least-Squares Fitting
  • Physical Constants
  • IEEE Floating-Point
  • Discrete Wavelet Transforms
  • Basis splines
  • Running Statistics
  • Sparse Matrices and Linear Algebra



Related Projects

Colt - Scientific and Technical Computing in Java

Colt distribution consists of several free Java libraries bundled under one single uniform umbrella. Namely the Colt library, the Jet library, the CoreJava library, and the Concurrent library. It provides support for resizable arrays, dense, sparse matrices, histogramming functionality, Random Number Generators etc.

SciPy - software for Mathematics, Science, and Engineering

SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization.

ruby-gsl: Ruby wrapper for GSL

ruby-gsl is a port of the GNU Scientific Library (GSL) to the Ruby programming language. The GNU Scientific Library is a collection of routines for numerical computing. Ruby is an interpreted scripting language for quick and easy object-oriented programm

GNU Scientific Library in Ch

The Ch GSL package is a Ch binding to the GNU Scientific C Library. Ch GSL enables all functions in the GNU Scientific C Library to run in Ch interpretively without compilation. It is ideal for programmers requiring algorithms available from GSL.

Commons Math: The Apache Commons Mathematics Library

Commons Math is a library of lightweight, self-contained mathematics and statistics components addressing the most common problems not available in the Java programming language. it has support for Linear Algebra, Probability Distributions, Numerical Algebra, Statistics, Transform methods, Least Square etc.

Object-oriented Scientific Computing Lib

An object-oriented library for scientific computing in C++.

Meta Numerics

The Meta.Numerics math and statistics library supports scientific computing on the .NET platform. It offers an object-oriented API for matrix algebra, advanced functions of real and complex numbers, signal processing, and data analysis.

NumPy - fundamental package for scientific computing with Python

NumPy is the fundamental package needed for scientific computing with Python. Numerical Python adds a fast and sophisticated N-dimensional array facility to the Python language. NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases. aims to provide a fully managed implementation of core MATLAB(R) functions, designed to be used from C# and other .NET languages and compatible with IronPython. It provides an API matching the MATLAB(R) API, to ease the transition from analysis to implementation.


DynaPrecision is a generic/template library written in C# implementing the basic algorithms and data structures in a Graduate Numerical Method or Analysis course.


A scientific library written in managed code. It supports advanced mathematics (algebra system, sequences, statistics, combinatorics...), data structures, sort algorithms...

Open Mathematics

Open Mathematics will be a collection of data structures and algorithms written in C# that enables arbitrary precision numerical analysis.

QVision: Computer Vision Library for Qt

Computer vision and image processing library for Qt.

herbie - Synthesis for floating-point expressions

Herbie synthesizes floating-point programs from real-number programs, automatically handling simple numerical instabilities. Visit our website for tutorials, documentation, and an online demo.Herbie can improve the accuracy of many real-world programs, and is used by scientists in many disciplines. It has lead to two patches (for complex square roots and trigonometric functions), in math.js an open-source mathematics library. Herbie has semi-regular releases twice a year, maintains backwards compatibility, and uses standardized formats.

mathjs - An extensive math library for JavaScript and Node.js

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.

Stdlib - Standard library for JavaScript and Node.js.

Stdlib is a standard library for JavaScript and Node.js, with an emphasis on numeric computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.

Math.NET Numerics

Math.NET Numerics is an open source numerical library for the .NET Framework and Mono.


An extensive, light-weight Java library for mathematical and symbolic calculations. Features include an abstract, extensible Expression framework, arbitrary-precision calculations, algebraic expressions, calculus, and a number of discrete math packages.

Sharp3D.Math Math Library

Sharp3D.Math contains fundemental classes to dealing with numerics on the .NET platform. It contains various mathematical structures such as vectors, matrices, complex numbers and contains methods for numerical integration, random numbers generation and other object-oriented n...