Skip to content
Snippets Groups Projects
index.html 6.66 KiB
Newer Older
<!-- -*- mode: HTML; time-stamp-line-limit: -18; -*- -->
<?xml version="1.0" encoding="iso-8859-1"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link rel="stylesheet" href="style.css" type="text/css"/>
       <title>GSLL, the GNU Scientific Library for Lisp</title>
  </head>
  <body>
    <div class="body">

 <div class="header">
  <h1>GSLL</h1>
  <h2>GNU Scientific Library for Lisp</h2>
 </div>

 <h3>Introduction</h3>
 <div class="content">
      <p>The GNU Scientific Library for Lisp (GSLL) allows you to use
      the <a href="http://www.gnu.org/software/gsl/">GNU Scientific
      Library (GSL)</a> from Common Lisp.  This library provides a
      full range of common mathematical operations useful to
      scientific and engineering applications.  The design of the GSLL
      interface is such that access to most of the GSL library is
      possible in a Lisp-natural way; the intent is that the user not
      be hampered by the restrictions of the C language in which GSL
      has been written.  GSLL thus provides interactive use of GSL for
      getting quick answers, even for someone not intending
      to program in Lisp.
      </p>
      <p>Topics include: roots of polynomials, special functions,
 	vectors and matrices, permutations, sorting, BLAS (basic
 	linear algebra subprograms), 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, IEEE floating-point, discrete wavelet
 	transforms.  See documentation on status of some incomplete
 	topics.
      <p>This code should be considered alpha and is still under
      development, but it is largely usable
liam's avatar
liam committed
      now, with some GSL capability not yet available.</p>
 <p>This software is distributed under the <a
	  href="http://www.cliki.net/LLGPL">LLGPL</a>
	  and <a href="http://www.gnu.org/copyleft/fdl.html">FDL</a>.
	  See COPYING.  There is absolutely no warranty.</p> 
 </div>
 
 <h3>Examples</h3>
 <div class="content">
 <p>The <a href="http://www.gnu.org/software/gsl/manual/html_node/Elliptic-Functions-_0028Jacobi_0029.html">Jacobian elliptic functions</a> <i>sn</i>, <i>cn</i>, and
 <i>dn</i> are special functions (Chapter 7):</p> 
<pre>
(jacobian-elliptic-functions 0.2d0 0.81d0)
0.19762082367187703d0
0.9802785369736752d0
0.9840560289645665d0
1.828927267118668d-318
1.4821969375237396d-321
2.023692885365746d-320
</pre>
      <p>which returns the three function values in succession, along
      with the estimated errors of each.  The functions are defined
      only if the second argument <i>m</i> is not greater than 1,
      so an error is signalled if this parameter is out of range: </p>
<pre>
(jacobian-elliptic-functions 0.61802d0 1.5d0)
Input domain error |m| > 1.0 in elljac.c at line 46
   [Condition of type INPUT-DOMAIN]
</pre>
 </div>

<h3>Requirements and Platforms</h3>
 <div class="content">
  <p> GSLL should work in any Common Lisp implementation and platform combination
      for which the following are supported:
      </p>
        <ul>
        <li><a href="http://www.gnu.org/software/gsl/">GSL</a></li>
        <li><a href="http://common-lisp.net/project/cffi/">CFFI</a>
Liam Healy's avatar
Liam Healy committed
	  (Version 0.10.0 or newer,
	  or <a href="http://packages.debian.org/lenny/cl-cffi">the
	  version in Debian/lenny</a>)
	  Only platforms and implementations which have callbacks and
	  foreign-funcall support will work.
Liam Healy's avatar
Liam Healy committed
	</li>
	<li><a href="http://www.cliki.net/trivial-garbage">trivial-garbage</a>
Liam Healy's avatar
Liam Healy committed
        <li><a href="http://common-lisp.net/project/cl-utilities/">cl-utilities</a>
	  </li>
        <li><a href="http://www.cliki.net/asdf">ASDF</a></li>
Liam Healy's avatar
Liam Healy committed
        In <a href="http://www.debian.org">Debian</a> Lenny (5.0) or newer,
        the following should work:</p>
<blockquote><pre>
aptitude install <a href="http://packages.debian.org/lenny/libgsl0ldbl">libgsl0ldbl</a> <a href="http://packages.debian.org/lenny/cl-cffi">cl-cffi</a>
</pre></blockquote>
        and you will need to manually download and install
        trivial-garbage; ASDF is automatically installed with your CL
        implementation.  Once your CL implementation is running, do
      <code>(asdf:operate 'asdf:compile-op :gsll)</code> 
      or, if using Debian with the
      <a href="http://packages.debian.org/common-lisp-controller">
      common-lisp-controller</a>, install with
        <code>clc-register-user-package</code> and then within Lisp
      <code>(clc:clc-require :gsll)</code>.
  <p>GSLL has been tested with <a
 href="http://sbcl.sourceforge.net/">SBCL</a> on Debian amd64.</p>
 </div>

 <h3>Downloads</h3>
 <div class="content">
 <p>See <a href="http://repo.or.cz/w/gsll.git">the official
 repository</a> to browse or download.  To clone:
<pre>
git clone git://repo.or.cz/gsll.git
</pre>
To retrieve a compressed tarball, click one of the "snapshot" links on
the repository web page.
 </p>
lhealy's avatar
lhealy committed
 <ul>
lhealy's avatar
lhealy committed
 </ul>
liam's avatar
liam committed
 <h3>Additional information</h3>
 <ul>
 <li>A <a href="documentation.html">documentation</a> guide is
 available.
 <li>The <a href="development.html">development</a> process is described
 separately for those interested.
 <li>There is a <a
 href="http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel">mailing
 list</a> for all aspects of this project.
 </ul>
 <h3>Similar or related projects from others</h3>
  <div class="content">
lhealy's avatar
lhealy committed
  A Matlab-like array syntax and plotting is provided by
  <a href="http://nlisp.info/">NLISP</a> which might work well with
liam's avatar
liam committed
  GSLL.  Other numerical mathematics software for Lisp may be found 
  <a href="http://www.cliki.net/Mathematics">on Clicki</a>. 
Liam Healy's avatar
Liam Healy committed
  A partial interface to GSL is provided in <a
  href="http://common-lisp.net/project/cl-gsl/">cl-gsl</a>.
lhealy's avatar
lhealy committed
    <address><a href="mailto:gsll-devel@common-lisp.net">Liam Healy</a></address>
<!-- Created: Feb 25 2005 -->
<!-- hhmts start -->
    <small>
       Time-stamp: <2008-12-27 14:33:37EST index.html>
       </small>
<!-- hhmts end -->
 </div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3669275-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
 </body>
</html>