- GNU Scientific Library
infobox software
name = GNU Scientific Library
developer =GNU Project
latest_release_version = 1.11
latest_release_date =31 March 2008
genre = Numerical library
license =GNU General Public License
website = http://www.gnu.org/software/gsl/In
computing , the GNU Scientific Library (or GSL) is asoftware library written in the C programming language for numerical calculations inapplied mathematics andscience . The GSL is part of theGNU project and is distributed under theGNU General Public License .Software which uses GSL includes Octave,
PSPP andPerl Data Language .Example
The following example program calculates the value of the
Bessel function for 5 [http://www.gnu.org/software/gsl/manual/html_node/Using-the-library.html] :The example program has to be linked to the GSL libraryupon compilation:
gcc $(gsl-config --cflags) example.c $(gsl-config --libs)The output is shown below, and should be correct to double-precision accuracy:
J0(5) = -1.775967713143382920e-01Features
The software library provides facilities for:
*Basic mathematical functions
*Complex number s
*Polynomial s
*Special functions
*Vectors and matrices
*Permutation s
*Combination s
*Sorting
*BLAS
*Linear algebra
*Eigensystem s
*Fast Fourier transform s
*Numerical integration
*Random number generation
*Quasi-random sequences
*Random number distributions
*Statistics
*Histogram s
*N-tuple s
*Monte Carlo integration
*Simulated annealing
*Ordinary differential equation s
*Interpolation
*Numerical differentiation
*Chebyshev approximation s
*Series acceleration
*DiscreteHankel transform
*Root-finding in one and multiple dimensions
*Minimization in one and multiple dimensions
*Least-squares fitting
*Nonlinear least-squares fitting
*Physical constants
*IEEE floating-point arithmetic C++ support
The GSL can be used in
C++ classes, but not using pointers to member functions, because the type of "pointer to member function" is different from "pointer to function" [ [http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.1 pointer to member function] ] . Instead, pointers to static functions have to be used. C++ wrappers for GSL are available [ [http://cholm.home.cern.ch/cholm/misc/#gslmm C++ wrappers for GSL] ] .See also
*
netlib
* "Numerical Recipes "
*list of numerical analysis software References
External links
* [http://www.gnu.org/software/gsl/ GNU Scientific Library project page]
Wikimedia Foundation. 2010.