[lisplab-cvs] r175 - trunk/doc/manual
Jørn Inge Vestgården
jivestgarden at common-lisp.net
Sat May 22 18:54:07 UTC 2010
Author: jivestgarden
Date: Sat May 22 14:54:07 2010
New Revision: 175
Log:
updated manual
Modified:
trunk/doc/manual/lisplab.texi
Modified: trunk/doc/manual/lisplab.texi
==============================================================================
--- trunk/doc/manual/lisplab.texi (original)
+++ trunk/doc/manual/lisplab.texi Sat May 22 14:54:07 2010
@@ -217,27 +217,22 @@
@chapter Tutorial
@section Starting
-Currently Lisplab only runs on SBCL and there is a small porting
-job (mainly the FFIs and a few uses of SB-EXT package) to
-get it run on other platforms. On SBCL
-make sure that @code{lisplab.asd} is in @code{asdf:*centeral-registry*}
-and that @code{*read-default-float-format*} is @code{double-float}, as is
-requrieed when compiling Slatec.
-Then type
- at example
-CL-USER> (require :lisplab)
-CL-USER> (in-package :ll)
- at end example
-The main package of Lisplab is @i{lisplab}, with nickname @i{ll}.
-The tutorial assues that you are in the @i{lisplab} package or
-use it. There is also a package @i{lisplab-user}, with nickname @i{ll-user}
-that uses @i{lisplab}.
+On SBCL, make sure that @code{asdf:*centeral-registry*} contains
+ at code{lisplab.asd} and type
+ at example
+CL-USER> (let ((*read-default-float-format* 'double-float))
+ (require :lisplab))
+CL-USER> (in-package :ll))
+ at end example
+The @code{*read-default-float-format*} is only needed when requiring
+for first time. The main package of Lisplab is @i{lisplab}, with nickname @i{ll},
+and the package @i{lisplab-user}, with nickname @i{ll-user}.
@section Matrix classes
-The matrix classes hierarchy has three lines of inheritance. The
-first is on structure, the second is on element type, and
-the third is on implementation. This hierarchy is similar
+The matrix classes hierarchy has three lines of inheritance:
+on structure, on element type and
+on implementation. This hierarchy is similar
to the stream example in Object-Oriented Programming in Common Lisp,
by Sonya E. Keene.
@@ -262,15 +257,13 @@
@end example
There are more matrix classes, but these are not exported.
-Even more matric classes can be created dynamically,
+Even more matrix classes can be created dynamically,
but these capabilities are not yet fully in use.
@xref{Structure}.
@section Matrix construction
-The constructor @code{make-matrix-instance} is not
-the primary choice to create a matrix. Its better to use a special
-constructor. Try
+There are many ways to create a matrix, such as
@example
LL-USER> (dnew 0 2 2)
#md(( 0.000 0.000 )
@@ -288,7 +281,7 @@
( 3.000 4.000 ))
@end example
Similarly, there are @code{znew}, @code{zcol}, @code{zrow}, and @code{zmat}
-for double float matrices and
+for complex double float matrices and
@code{mnew}, @code{mcol}, @code{mrow}, and @code{mmat}
for any matrices. The latter take matrix class as first argument.
@@ -308,6 +301,9 @@
(e.g., conversion from complex to real),
use @code{copy-contents} instead.
+Other matrix constructors are @code{mcreate}, @code{mcreate*},
+ at code{drange}, @code{dgrid}, @code{fmat}, @code{funmat}.
+The most fundamental constructor is @code{make-matrix-instance}.
@section Matrix element reference
Lisplab matrices are zero-based and in column major order.
@@ -442,17 +438,15 @@
as images with @code{pgmwrite} and @code{pswrite}, writing
portable graymap and postscript respectively.
-Note that the IO functions are currently in a poor state.
-
@section Matrices without store
The class @code{function-matrix} implements matrices with
functions and has no store, but where the elements are given by a function
@example
LL-USER> (funmat '(2 2) (lambda (i j)
- (if (= i j)
- 1
- 0)))
+ (if (= i j)
+ 1
+ 0)))
#<FUNCTION-MATRIX 2x2
1 0
0 1
More information about the lisplab-cvs
mailing list