AMPL Bindings for the GNU Scientific Library

The GNU Scientific Library (GSL) is a collection of routines for numerical computing. The routines have been written from scratch in C, and present a modern Applications Programming Interface (API) for C programmers, allowing wrappers to be written for very high level languages. The source code is distributed under the GNU General Public License.

The AMPLGSL library provides AMPL bindings for the GNU Scientific Library and is distributed under the same license.

This feature is freely available to all AMPL users. Simple instructions for download, installation, and use in AMPL modeling are given below. A detailed library listing provides full documentation.

Front Matter

This documentation is based on the GNU Scientific Library reference manual by

  • Mark Galassi, Los Alamos National Laboratory

  • Jim Davies, Department of Computer Science, Georgia Institute of Technology

  • James Theiler, Astrophysics and Radiation Measurements Group, Los Alamos National Laboratory

  • Brian Gough, Network Theory Limited

  • Gerard Jungman, Theoretical Astrophysics Group, Los Alamos National Laboratory

  • Patrick Alken, Department of Physics, University of Colorado at Boulder

  • Michael Booth, Department of Physics and Astronomy, The Johns Hopkins University

  • Fabrice Rossi, University of Paris-Dauphine

The current manual documents the AMPL Bindings for GNU Scientific Library (GSL), a collection of numerical routines for scientific computing. It corresponds to release 1.15 of the library.

More information about GSL can be found at the project homepage,

Copyright © 1996-2023 The GSL Team.

Copyright of modifications © 2012-2023 AMPL Optimization Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being “GNU General Public License” and “Free Software Needs Free Documentation”, the Front-Cover text being “A GNU Manual”, and with the Back-Cover Text being (a) (see below). A copy of the license is included in the section entitled “GNU Free Documentation License”.

(a) The Back-Cover Text is: “You have the freedom to copy and modify this GNU Manual.”

No Warranty

The software described in this manual has no warranty, it is provided “as is”. It is your responsibility to validate the behavior of the routines and their accuracy using the source code provided, or to purchase support and warranties from commercial redistributors. Consult the GNU General Public license for further details (see GNU General Public License).


AMPL wrappers of the GSL functions always use the highest accuracy available. A GSL function may take a mode argument that allows the accuracy of the function to be reduced in order to improve performance. Currently the mode argument is always bound to GSL_PREC_DOUBLE denoting double-precision, a relative accuracy of approximately \(2 \times 10^{-16}\).