XLISP-STAT includes support for multidimensional arrays patterned
after the Common Lisp standard described in detail in Steele
[15]. The functions supported are listed in Section
of the appendix.
In addition to the standard Common Lisp array functions XLISP-STAT also includes a number of linear algebra functions such as inverse, solve, transpose, chol-decomp, lu-decomp and sv-decomp. These functions are listed in the appendix as well.
An array is printed using the standard Common Lisp format. For example, a 2 by 3 matrix with rows (1 2 3) and (4 5 6) is printed as
#2A((1 2 3)(4 5 6))The prefix
#2A
indicates that this is a two-dimensional array.
This form is not particularly readable, but it has the advantage that
it can be pasted into expressions and will be read as an array by the
XLISP reader.> (print-matrix '#2a((1 2 3)(4 5 6))) #2a( (1 2 3) (4 5 6) ) NIL >
The select function can be used to extract elements or subarrays from an array. If A is a two dimensional array then the expression
(select a 0 1)will return element 1 of row 0 of A. The expression
(select a (list 0 1) (list 0 1))returns the upper left hand corner of A.