This project has not been touched since 2004. The
code will probably not work any more due to changes in Guile, GSL
and/or any of the other dependencies.
Introduction
Guile-numerics provides Guile bindings for the GNU Scientific
Library (GSL), libsndfile, FFTW and LAPACK. Most bindings are
automatically generated from the include files of the libraries. This
ensures the bindings are up-to-date. The bindings includes support
for the following:
- complex numbers in GSL context
- vector and matrix functions
- GSL BLAS
- linear algebra
- random number generators
- statistics
- fast fourier transforms
- random distributions
- special functions
- monte carlo integration
- quasi random sequences
- permutations, combinations and sorting
- function integration
- function differentiation
- function minimization
- polynomial root finding
- chebyshev approximations
- function fitting
- reading and writing sound files
- fast fourier transforms through FFTW
- dgesv, zgesv, dgels, zgels functions from LAPACK
The test scripts for GSL have been taken from the examples in the
GSL reference manual. They both show that the bindings work and serve
as examples of how to properly call the functions within Guile.
Dependencies
- Guile is
an implementation of the Scheme programming language.
Guile-numerics requires version 1.6 but may also work with
version 1.4.
- The GNU Scientific
Library (GSL) is a numerical library written in ANSI C.
Guile-numerics has been used with version 1.2 and higher.
-
Libsndfile is a C library for reading and writing files
containing sampled sound. Guile-numerics provides support for
version 1.0 and higher.
- FFTW is a C library for
computing the Discrete Fourier Transform (DFT) in one or more
dimensions, of both real and complex data, and of arbitrary
input size. Guile-numerics provides binding to version 3.0 and
later.
- SWIG is a software
development tool that connects programs written in C and C++
with a variety of high-level programming languages.
Guile-numerics requires at least version 1.3.14.
- You also need automake version 1.6 or higher and autoconf
version 2.50 or higher.
Project links