[lisplab-cvs] r97 - doc/www
Jørn Inge Vestgården
jivestgarden at common-lisp.net
Sun Sep 27 17:08:56 UTC 2009
Author: jivestgarden
Date: Sun Sep 27 13:08:55 2009
New Revision: 97
Log:
Updated web page
Modified:
doc/www/index.html
Modified: doc/www/index.html
==============================================================================
--- doc/www/index.html (original)
+++ doc/www/index.html Sun Sep 27 13:08:55 2009
@@ -1,103 +1,210 @@
-<?xml version="1.0"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <title>LISPLAB project</title>
- <link rel="stylesheet" type="text/css" href="style.css"/>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
+<style type="text/css" media="all">
+body {
+ margin: 1em;
+ padding: 0px;
+ color: black;
+ background-color: white;
+ font: normal 100% sans-serif;
+}
+h1 {
+ font: bold 200% sans-serif;
+ color: green;
+}
+h2 {
+ font: bold 168% sans-serif;
+ color: blue;
+}
+h3 {
+ font: bold 141% sans-serif;
+ color: blue;
+}
+div#content {
+ padding: 2em 3em;
+}
+table {
+ border-top: 1px solid gray;
+ border-bottom: 1px solid gray;
+}
+
+th {
+ padding: .25em 2em;
+ border-bottom: 1px solid silver;
+}
+td {
+ padding: 0em 2em;
+}
+
+</style>
+
+<title>LISPLAB project</title>
+
</head>
<body>
- <div class="header">
- <h1>Lisplab</h1>
- <h2>A mathematics library for Common Lisp</h2>
- </div>
- <hr>
- <h3>Introduction</h3>
- <p>
- Lisplab is a mathematics library in Common Lisp
- released under the GNU General Public License (GPL).
- Lisplab is based on code from <a href=http://matlisp.sourceforge.net>Matlisp</a>,
- but has now moved quite far from the original code mass.
- <p>
- The main purpose of Lisplab is to provide a framwork for
- mathematical computations. This means that it should be easy
- to create and manipulate mathematical objects and have
- a consistent naming of methods and classes.
- Lisplab is heavily based on CLOS.
- </p>
- Lisplab contains
- <ul>
- <li>Interfaces to BLAS and LAPACK.
- <li>Interface to FFTW.
- <li>Numerical integration from QUADPACK and F2CL.
- <li>Special functions from SLATEC and F2CL.
- <li>Routines for linear algebra,
+ <div class="header">
+ <h1>Lisplab</h1>
+ <h2>A mathematics library for Common Lisp</h2>
+ </div>
+ <p>
+ Lisplab is a mathematics library in Common Lisp
+ released under the GNU General Public License (GPL).
+ Lisplab is based on code from <a href=http://matlisp.sourceforge.net>Matlisp</a>,
+ but has now moved quite far from the original code mass.
+ <p>
+ The main purpose of Lisplab is to provide a framwork
+ for mathematical computations. This means that it should be easy
+ to create and manipulate mathematical objects and that naming
+ of classes and functions should be consistent and clear.
+ Lisplab is heavily based on CLOS.
+ </p>
+ Lisplab contains
+ <ul>
+ <li>Interfaces to BLAS and LAPACK.</li>
+ <li>Interface to FFTW.</li>
+ <li>Numerical integration from QUADPACK and F2CL.</li>
+ <li>Special functions from SLATEC and F2CL.</li>
+ <li>Routines for linear algebra,
postscript output, PGM output,
- Fast Fourier Transform (in Common Lisp), infix math, etc.
- </ul>
- </p>
- <p>
- The part of Lisplab which is most mature is the matrix and linear algebra,
- and these should provide a good basis for matrix based modelling.
- </p>
-
- <h3>Documentation</h3>
- <p>
- The manual is in
- <a href="http://common-lisp.net/project/lisplab/manual/index.html">
- html</a>
- and in
- <a href="http://common-lisp.net/project/lisplab/manual/lisplab.pdf">
- pdf</a>.
- There is also
- <a href="http://common-lisp.net/project/lisplab/tinaa/index.html">
- module documentation</a>, made with
- <a href="http://common-lisp.net/project/tinaa/">Tinaa</a>.
- </p>
-
- <h3>Mailing Lists</h3>
- <p>
- <ul>
- <li>
- <a
- href="http://www.common-lisp.net/mailman/listinfo/lisplab-devel">
- lisplab-devel</a><br/>for developers</li>
- <li>
- <a
- href="http://www.common-lisp.net/mailman/listinfo/lisplab-cvs">
- lisplab-cvs</a><br/>CVS log feed.</li>
- <li>
- <a
- href="http://www.common-lisp.net/mailman/listinfo/lisplab-announce">
- lisplab-announce</a><br/>for announcements.</li>
-
- </ul>
- </p>
-
- <h3>Download</h3>
- <p>
- This project has no stable releases. For latest unstable
- code please checkout from Subversion.
- </p>
-
- <h3>Subversion</h3>
- <p>
- You can get the latest version of the source code from subversion
- <pre>
- svn checkout svn://common-lisp.net/project/lisplab/svn lisplab</pre>
- or browse it
- <a href="http://common-lisp.net/websvn/listing.php?repname=lisplab&path=%2F&sc=0">
- here</a>.
- </p>
- <br>
- <hr>
- <div class="footer">
- <a href="mailto:jivestgarden at gmail.com">Jørn Inge Vestgården</a>, 28. Feb. 2008.
- </div>
- <div class="check">
- <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
- </div>
+ Fast Fourier Transform (native Common Lisp), infix math, etc.</li>
+ </ul>
+ </p>
+ <p>
+ The part of Lisplab which is most mature is the matrix and linear algebra,
+ and these should provide a good basis for matrix based modelling.
+ </p>
+
+ <h3>Installing</h3>
+ <p>
+ Lisplab is installed by <a href="http://common-lisp.net/project/asdf/">asdf</a>.
+ The external libraries, BLAS, LAPACK, and FFTW must be installed separately.
+ They make Lisplab more powerful, but it also makes sense to run it
+ without external libraries.
+ Lisplab does not depend on any other Common Lisp projects, but will only
+ compile out-of-the-box for <a href="http://www.sbcl.org/">SBCL</a> and
+ for other Lisps you must expect some hacking.
+ </p>
+ <p>
+ See
+ <a href="http://common-lisp.net/project/lisplab/manual/index.html">
+ manual</a> for details.
+ </p>
+
+ <h3>Getting started</h3>
+ On SBCL, make sure that <verb>asdf:*central-registry*</verb>
+ contains <verb>lisplab.asd</verb>. Then you install it by
+ <pre> > (require :lisplab)</pre> and use it by
+ <pre> > (use-package :ll-user)</pre>
+ When started, you can do
+ <pre> LL-USER> (.^ (dmat (1 2) (3 4)) 2)
+ #<MATRIX-DGE 2x2
+ 1.0 4.0
+ 9.0 16.0
+ {B7E3E71}></pre>Common operations are
+ <pre> .+ .- .* ./ .^
+ .expt .sqrt .log
+ .sin .cos .tan .asin .acos .atan
+ .sinh .cosh .tanh .asinh .acosh .atanh
+ .besj .besy .besi .besk .besh
+ .gamma .erf .erfc
+ mref vref
+ size dim rows cols rank
+ mmap
+ make-matrix-instance
+ dnew dmat dcol drow
+ znew zmat zcol zrow
+ mnew mmat mcol mrow
+ mmax mmin circ-shift pad-shift
+ m* m/ minv mtp mct
+ eivenvalues eigenvectors
+ dlmread dlmwrite pswrite pgmwrite
+ export-list import-list
+ fftw1 ifftw1
+ fftw2 ifftw2
+ fft-shift ifft-shift
+ rk4 euler
+ w/infix</pre>
+
+ <h3>Performance</h3>
+ <p>
+ Performance should be quite good (at least on SBCL) since Lisplab's main
+ usage has been to solve partial differential equations in physics.
+ </p>
+ <p>
+ The graph below compares matrix inversion scalability between
+ the Lapack FFI, and two native implementations: one typed and one untyped.
+ All graphs scale as O(n<sup>3</sup>),
+ but we see that the untyped version is hopelessly slow, while the typed
+ version is a factor 10 slower than Lapack, which is rather good, and means
+ that it is usable for high performance computing.
+ </p>
+ <img width="500" src="compare-matrix-inversion.jpg "/></img>
+
+ <hr></hr>
+ <h3>Documentation</h3>
+ <p>
+ The manual is in
+ <a href="http://common-lisp.net/project/lisplab/manual/index.html">
+ html</a>
+ and in
+ <a href="http://common-lisp.net/project/lisplab/manual/lisplab.pdf">
+ pdf</a>.
+ </p>
+ <p>
+ <a href="http://common-lisp.net/project/lisplab/tinaa/index.html">
+ Module documentation</a> is generated with
+ <a href="http://common-lisp.net/project/tinaa/">Tinaa</a>.
+ </p>
+
+
+ <h3>Download</h3>
+ <p>
+ Tarballs are <a href="http://common-lisp.net/project/lisplab/download/">here</a>.
+ </p>
+
+ <h3>Subversion</h3>
+ <p>
+ You can
+ <a href="http://common-lisp.net/websvn/listing.php?repname=lisplab&path=%2F&sc=0">
+ browse the svn repository</a> or check out the latest development
+ tree from anonymous svn,
+ <pre>
+ % svn checkout svn://common-lisp.net/project/lisplab/svn lisplab</pre>
+ </p>
+
+ <h3>Mailing Lists</h3>
+ <p>
+ <ul>
+ <li>
+ <a href="http://www.common-lisp.net/mailman/listinfo/lisplab-devel">
+ lisplab-devel</a><br/>for developers</li>
+ <li>
+ <a href="http://www.common-lisp.net/mailman/listinfo/lisplab-cvs">
+ lisplab-cvs</a><br/>CVS log feed.</li>
+ <li>
+ <a href="http://www.common-lisp.net/mailman/listinfo/lisplab-announce">
+ lisplab-announce</a><br/>for announcements.</li>
+ </ul>
+ </p>
+
+ <hr></hr>
+ <h3>Links</h3>
+ Other mathematics resources for Common Lisp
+ <ul>
+ <li><a href="http://matlisp.sourceforge.net/">Matlisp</a></il>
+ <li><a href="http://www.femlisp.org/">Femlisp</a></il>
+ <li><a href="http://www.nlisp.info/">NLISP</a></il>
+ </ul>
+
+ <hr></hr>
+ <div class="footer">
+ <a href="mailto:jivestgarden at gmail.com">Jørn Inge Vestgården</a>, Sep. 2009.
+ </div>
+ <div class="check">
+ <a href="http://validator.w3.org/check/referer">Valid XHTML 1.0 Strict</a>
+ </div>
</body>
</html>
More information about the lisplab-cvs
mailing list