root/trunk/documentation/index.html

Revision 47, 7.0 kB (checked in by lhealy, 8 months ago)

Unification of errors and warnings using a single class
'gsl-condition. Each numbered GSL conditions is a subclass of this
condition, under the name given by GSL, e.g. 'EDOM.

  • Property svn:keywords set to Id
Line 
1<!-- -*- mode: HTML; time-stamp-line-limit: -18; -*- -->
2<?xml version="1.0" encoding="iso-8859-1"?>
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5  <head>
6    <link rel="stylesheet" href="style.css" type="text/css"/>
7       <title>GSLL, the GNU Scientific Library for Lisp</title>
8  </head>
9  <body>
10    <div class="body">
11
12 <div class="header">
13  <h1>GSLL</h1>
14  <h2>GNU Scientific Library for Lisp</h2>
15 </div>
16
17 <h3>Introduction</h3>
18 <div class="content">
19      <p>The GNU Scientific Library for Lisp (GSLL) allows you to use
20      the <a href="http://www.gnu.org/software/gsl/">GNU Scientific
21      Library (GSL)</a> from Common Lisp.  This library provides a
22      full range of common mathematical operations useful to
23      scientific and engineering applications.  The design of the GSLL
24      interface is such that access to most of the GSL library is
25      possible in a Lisp-natural way; the intent is that the user not
26      be hampered by the restrictions of the C language in which GSL
27      has been written.  GSLL thus provides interactive use of GSL for
28      getting quick answers, even for someone not intending
29      to program in Lisp.
30      </p>
31      <p>Topics include:
32        roots of polynomials, special functions, vectors and matrices,
33        permutations, sorting, BLAS support, linear algebra,
34        eigensystems, fast Fourier transforms,
35        quadrature, random numbers, quasi-random sequences,
36        random distributions, statistics, histograms, N-tuples,
37        Monte Carlo integration, simulated annealing, differential
38        equations, interpolation, numerical differentiation,
39        Chebyshev approximation, series acceleration,
40        discrete Hankel transforms, root-finding, minimization
41        least-squares fitting, IEEE floating-point,
42        discrete wavelet transforms.  See documentation on status of
43        some incomplete topics.
44      <p>This code should be considered alpha and is still under
45      development, but it is largely usable
46      now, with some GSL capability not yet available.</p>
47 <p>This software is distributed under the <a
48          href="http://www.cliki.net/LLGPL">LLGPL</a>
49          and <a href="http://www.gnu.org/copyleft/fdl.html">FDL</a>.
50          See COPYING.  There is absolutely no warranty.</p>
51 </div>
52 
53 <h3>Examples</h3>
54 <div class="content">
55 <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
56 <i>dn</i> are special functions (Chapter 7):</p>
57<pre>
58(jacobian-elliptic-functions 0.2d0 0.81d0)
590.19762082367187703d0
600.9802785369736752d0
610.9840560289645665d0
621.828927267118668d-318
631.4821969375237396d-321
642.023692885365746d-320
65</pre>
66      <p>which returns the three function values in succession, along
67      with the estimated errors of each.  The functions are defined
68      only if the second argument <i>m</i> is not greater than 1,
69      so an error is signalled if this parameter is out of range: </p>
70<pre>
71(jacobian-elliptic-functions 0.61802d0 1.5d0)
72Input domain error |m| > 1.0 in elljac.c at line 46
73   [Condition of type EDOM]
74</pre>
75 </div>
76
77<h3>Requirements and Platforms</h3>
78 <div class="content">
79  <p> GSLL should work in
80      any Common Lisp implementation and platform combination
81      that has <a href="http://common-lisp.net/project/cffi/">CFFI</a>
82       with callbacks and foreign-funcall support.  You will need
83      </p>
84        <ul>
85        <li><a href="http://www.gnu.org/software/gsl/">GSL</a></li>
86        <li><a href="http://common-lisp.net/project/cffi/">CFFI</a>
87        (Note: you will need a version <i>newer</i> than the current version
88        0.9.2. Use the darcs repository, a newer tarball, or Debian
89        testing/unstable.)</li>
90        <li><a href="http://www.cliki.net/asdf">ASDF</a>
91          </ul>
92      <p>
93        In <a href="http://www.debian.org">Debian</a> unstable or testing,
94        the following should work:</p>
95      <blockquote><pre>apt-get install <a
96        href="http://packages.debian.org/lenny/libgsl0ldbl">libgsl0ldbl</a> <a href="http://packages.debian.org/lenny/cl-cffi">cl-cffi</a></pre></blockquote>
97      (asdf is automatically installed with your CL implementation).
98      Once your CL implementation is running, do
99      <code>(asdf:operate 'asdf:compile-op :gsll)</code>
100      or, if using Debian with the
101      <a href="http://packages.debian.org/common-lisp-controller">
102      common-lisp-controller</a>, install with
103        <code>clc-register-user-package</code> and then within Lisp
104      <code>(clc:clc-require :gsll)</code>.
105  <p>GSLL has been tested with <a
106 href="http://sbcl.sourceforge.net/">SBCL</a> and <a
107 href="http://clisp.cons.org/">CLISP</a> on Debian i386 and amd64.</p>
108 </div>
109
110 <h3>Downloads</h3>
111 <div class="content">
112 <p>You may browse or download as follows:</p>
113 <ul>
114 <li><a href="http://subversion.tigris.org/">Subversion</a>:
115          Repository at
116          svn://common-lisp.net/project/gsll/svn/trunk.  For
117          example,
118<pre>
119svn list svn://common-lisp.net/project/gsll/svn/trunk
120svn checkout svn://common-lisp.net/project/gsll/svn/trunk gsll
121</pre>
122 <li>Web:
123        <a href="http://trac.common-lisp.net/gsll/browser/trunk">browse</a>
124        using Trac.
125 <li>Git: Thanks to Leonardo Varuzza, who is maintaining a
126 <a href="http://www.lambdatau.com/git/gsll.git">git mirror</a>
127 of the Subversion repository.
128 </ul>
129 <p>Due to frequent changes, no tarballs are yet available.</p>
130 </div>
131 
132 <h3>Additional information</h3>
133 <ul>
134 <li>A <a href="documentation.html">documentation</a> guide is
135 available.
136 <li>The <a href="development.html">development</a> process is described
137 separately for those interested, and a <a
138 href="http://trac.common-lisp.net/gsll">Trac page</a> is used to
139 track it and for bug reports (file a "New Ticket").
140 <li>There is a <a
141 href="http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel">mailing
142 list</a> for all aspects of this project.
143 </ul>
144
145 <h3>Similar or related projects from others</h3>
146  <div class="content">
147  A partial automatically-generated interface to GSL is provided in <a
148  href="http://common-lisp.net/project/cl-gsl/">cl-gsl</a>.
149  A Matlab-like array syntax and plotting is provided by
150  <a href="http://nlisp.info/">NLISP</a> which might work well with
151  GSLL.  Other numerical mathematics software for Lisp may be found
152  <a href="http://www.cliki.net/Mathematics">on Clicki</a>.
153  </div>
154
155 <div class="footer">
156    <hr>
157    <address><a href="mailto:gsll-devel@common-lisp.net">Liam Healy</a></address>
158<!-- Created: Feb 25 2005 -->
159<!-- hhmts start -->
160    <small>
161       Time-stamp: <2008-03-27 23:08:11EDT index.html>
162       </small>
163<!-- hhmts end -->
164 </div>
165<script type="text/javascript">
166var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
167document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
168</script>
169<script type="text/javascript">
170var pageTracker = _gat._getTracker("UA-3669275-1");
171pageTracker._initData();
172pageTracker._trackPageview();
173</script>
174 </body>
175</html>
Note: See TracBrowser for help on using the browser.