[lisplab-cvs] r58 - doc/manual

Jørn Inge Vestgården jivestgarden at common-lisp.net
Sat Jul 11 09:33:39 UTC 2009


Author: jivestgarden
Date: Sat Jul 11 05:33:38 2009
New Revision: 58

Log:
backup

Modified:
   doc/manual/lisplab.texi

Modified: doc/manual/lisplab.texi
==============================================================================
--- doc/manual/lisplab.texi	(original)
+++ doc/manual/lisplab.texi	Sat Jul 11 05:33:38 2009
@@ -66,18 +66,18 @@
 @section Dependencies 
 Lisplab has been developed with SBCL, SLIME and ASDF on Linux,
 and there are yet unnecessary bindings to these platforms.
- at enumerate
+ at itemize
 @item Some of the optimized lisp code uses the 
 SBCL macro @code{truly-the}. This must be dealt with. 
 @item The FFTW FFI is only for SBCL.
 @item The Matlisp FFI should be portable to other lisps and 
 Windows, but it has not been tested.
 @item The @code{*READ-DEFAULT-FLOAT-FORMAT*} must be @code{double-float}.
- at end enumerate
+ at end itemize
 
 In order to enjoy the full power of Lisplab you 
 must install some foreign libraries. These are
- at enumerate
+ at itemize
 @item 
 BLAS -- Basic Linear Algebra Subprograms. Preferably the Atlas build.
 
@@ -87,7 +87,7 @@
 @item 
 FFTW -- The fastest Fast Fourier Transform available. 
 
- at end enumerate
+ at end itemize
 
 @section Installing
 Lisplab is ASDF installable, but before you come so far you need to 
@@ -103,7 +103,7 @@
 installation file, in  @code{start.lisp}, or 
 probably the easiest: directly in @code{lisplab.asd}.
 
-ASDF sub-systems
+ASDF sub-systems:
 @itemize
 @item @emph{Lisplab} --
 the full Lisplab installation. 
@@ -124,23 +124,43 @@
 If you have problems loading, first look at @code{start.lisp} 
 and see if you can hack it. Then look at @code{lisplab.asd}.
 
+To install Blas, Lapack, and FFTW, if you are lazy, and lucky 
+enough to administer a Debian or Ubuntu machine,
+you typically do
+ at example 
+# aptitude install libatlas3gf-base
+# aptitude install libfftw3-3
+ at end example 
 
 @section Naming conventions
+ at itemize
+ at item
 The matrix classes and constructors follow the naming convention
 from BLAS where you give names based on element type and 
 matrix structure. 
-
 The most used types are @i{f - float}, @i{d - double}, 
 @i{c - complex float}, @i{z - complex double float}, 
 while for matrix structure @i{ge - general},  @i{di - diagonal}, 
 and many more. So @i{matrix-dge} is a general matrix 
 with double float elements, while @i{matrix-zge} is a 
 general matrix with complex double float elements.
-
+ at item
+The generic functions of the basic algebra start with period:
+ at code{.+}, @code{.-}, @code{.*}, @code{./}, @code{.^}, @code{.sin}
+ at code{.cos}, @code{.tan}, @code{.besj}, @code{.realpart}, etc.
+These functions work on numbers as the non-dotted Common Lisp functions
+and work element-vise on matrices. 
+ at item 
+Linear algebra functions tend to start with @i{m}:
+ at code{m*}, @code{minv}, @code{mmax}, @code{mtp}, etc., 
+but this conventions is followed only to low degree.
+ at item 
+The naming convention of files follow the layered structure of 
+Lisplab, with level0 to level3.
+ at item 
 @xref{Structure}, for more about the naming conventions
-of matrix structure. There you also see the naming conventions for 
-files, with level0 to level3.
-
+of matrix classes.
+ at end itemize
 
 @section Status - past and future
 The purpose of Lisplab 
@@ -172,12 +192,14 @@
 such as
 @itemize
 @item Parallel computation, e.g. using MPI. 
- at item More native linear algebra routines, e.g. with eigenvalues. 
+ at item More native linear algebra routines, e.g. eigenvalue computation. 
 @item New non-matrix algebra items, e.g. quaternions, polynomes or 
 arbitrary precision floats. 
 @item Symbolic manipulation. Could make something like 
 @i{ginac} in @code{c++}.
- at item Other Common Lisp libraries, e.g. image processing libraries. 
+ at item New matrix optimization for new usage, e.g. integer matrices for 
+image processing or cryptography. 
+ at item Interface to new foreign libraries, e.g. GSL.
 @end itemize
 
 Please contact if you want to contribute.
@@ -244,7 +266,7 @@
 Note that with these three lines of inheritance there 
 are potentially incredibly many potential class. Let's
 say we have 10 structures, 10 types and 4 implementations, giving
-400 classes. Not all of these are useful and not all are created 
+400 classes. Not all of these are useful and only few are created 
 by default. To add new classes in a structured way, 
 @xref{Structure}.
 
@@ -314,10 +336,14 @@
 LL> (vref (dmat (1 2) (3 4)) 1)
 3.0
 @end example
-whcih is also settable. Note that the matrices are column major order. 
+which is also settable. Note that the matrices are column major order. 
 
 @section Matrix manipulation
 
+ at section Linear algebra
+
+ at section Matrix IO
+
 @section Matrices without store
 
 @section Ordinary functions




More information about the lisplab-cvs mailing list