GSL alternatives and similar libraries
Based on the "Scientific Computing" category.
Alternatively, view GSL alternatives based on common mentions on social networks and blogs.
-
Kratos Multiphysics
Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface. -
preCICE
A coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations. -
Units
A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements -
itpp
IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions. -
Dimwits
A compact C++ header-only library providing compile-time dimensional analysis and unit awareness
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of GSL or a related project?
Popular Comparisons
README
GSL - GNU Scientific Library
This is GSL, the GNU Scientific Library, a collection of numerical routines for scientific computing.
GSL is free software, you can redistribute it and/or modify it under the terms of the GNU General Public License.
The GNU General Public License does not permit this software to be redistributed in proprietary programs.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
About this repository
This repository contains a copy of the latest stable version of GSL, with two main additions:
- a cmake build system
- optional inclusion of the AMPL GSL bindings, to access GSL functions from AMPL; documentation for the AMPL bindings can be found at https://amplgsl.readthedocs.io/en/latest/
CMake build instructions
Build with AMPL bindings
To build the AMPL bindings:
1) Make sure that the ASL submodule is initialized (in /ampl/thirdparty/asl
).
2) Create a build directory and move there:
mkdir build
cd build
3) Initialize the build files with your desired generator, for example:
cmake .. -G"Unix Makefiles"
4) Build the resulting build files accordingly, for example:
make .
Build without AMPL bindings
If building GSL without the AMPL bindings:
1) Create a build directory and move there:
mkdir build
cd build
2) Initialize the build files with your desired generator,
defining the variable NO_AMPL_BINDINGS
`
cmake .. -G"Unix Makefiles" -DNO_AMPL_BINDINGS=1
3) Build the resulting build files accordingly, for example:
make .
Other build parameters
1) Defining GSL_DISABLE_TESTS skips the test generation, for example:
cmake .. -DGSL_DISABLE_TESTS=1
2) There is experimental support to build only a subset of the GSL library; note that this is only supported when not building the AMPL bindings. To generate only some libraries of the GSL, define BUILDLIBS when calling cmake as a comma separated list of GSL directories. An example follows:
cmake .. -DBUILDLIBS=ode-initval2,linalg -DNO_AMPL_BINDINGS=1
All the dependencies are handled automatically; please note that the tests often have additional dependencies therefore, to fully benefit from this facility, disable them. For example:
```
cmake .. -DBUILDLIBS=ode-initval2,linalg -DNO_AMPL_BINDINGS=1 -DGSL_DISABLE_TESTS=1
3) Turn off building of documentation via:
cmake .. -DDOCUMENTATION=OFF
Availability
============
The current stable version of GSL is always available from ftp.gnu.org
in the directory /pub/gnu/gsl.
A list of mirror sites can be found at http://www.gnu.org/order/ftp.html
Installation
============
GSL follows the standard GNU installation procedure. Please consult
the INSTALL file in this distribution for more detailed instructions.
For information about specific platforms and compilers see the
"Compilation Notes" section in the INSTALL file.
More information about GSL
==========================
The project homepage is http://www.gnu.org/software/gsl/
See the NEWS file for recent changes to the library.
The GSL Manual has been published and can be ordered from most
bookstores. The publication details are,
GNU Scientific Library Reference Manual - Revised Second Edition,
M. Galassi et al, ISBN 0954161734 (620 pages, paperback).
The money raised from sales of the manual helps support the
development of GSL.
A Japanese translation of the reference manual is available from the
GSL website above (thanks to Daisuke TOMINAGA).
Reporting Bugs
==============
A list of known bugs can be found in the BUGS file. Details of
compilation problems can be found in the INSTALL file.
If you find a bug which is not listed in these files please report it
to [email protected].
All bug reports should include:
The version number of GSL, and where you obtained it.
The hardware and operating system
The compiler used, including version number and compilation options
A description of the bug behaviour
A short program which reproducibly exercises the bug
It is useful if you can check whether the same problem occurs when the
library is compiled without optimization. Thank you.
Any errors or omissions in the manual can also be reported to the
same address.
Contributing to GSL
===================
If you are interested in participating in GSL development, please see
the webpage at http://www.gnu.org/software/gsl/
*Note that all licence references and agreements mentioned in the GSL README section above
are relevant to that project's source code only.