Next: Package FL.ALGEBRA, Previous: Package FL.MULTIPROCESSING, Up: Reference manual
This package provides a Common Lisp version of full matrices with elements being numbers of a given type. Those classes are automatically generated when needed. It provides also part of the BLAS and LAPACK operations for those matrices. The corresponding methods are automatically compiled for the given matrix classes. The interface is very similar to the library Matlisp (Matlisp), which provides a CLOS interface to the Fortran BLAS and LAPACK routines.
Maximum number of columns and/or rows to print. NIL: no elements, T: all elements.
Maximum number of columns and/or rows to print. Set this to NIL to print no cells (same as *PRINT-ARRAY* set to NIL). Set this to T to print all cells of the tensor.
Describes an ordered submatrix of a matrix. Only a restricted set of operations is allowed for these matrices and element access is slow. They are indexed with ordinary integers.
Superclasses: <MATRIX>
Direct slots:
- MATRIX: The "supermatrix".
- ROW-KEYS: The row indices of the submatrix.
- COL-KEYS: The column indices of the submatrix.
A CCS (compressed column storage) matrix. This is an abstract class which is made concrete by mixing it with a store-vector.
Superclasses: <MATRIX>
Direct slots:
- PATTERN: CCS pattern.
A CCS (compressed column storage) pattern. Note: if you use integer vectors for
column-startsandrow-indicesthey do not have to be copied for a call to the alien sparse solvers.Direct slots:
- NROWS: Number of rows in the pattern.
- NCOLS: Number of columns in the pattern.
- COLUMN-STARTS: Vector with start indices of columns.
- ROW-INDICES: Vector with row indices.
This routine computes the determinant using a given LR decomposition.
Usage: (dotensor (entry tensor :depth 1) ...) (dotensor ((index1 ... . entry) tensor :depth 1) ...) (dotensor ((index1 ...) tensor :depth 1) ...)
Loops on indices and entries of a vector. Examples:
(dovec ((key) vec) ...) (dovec (entry vec) ...) (dovec ((key entry) vec) ...)
If
MATLISPis available, and the argument func is a generic function in this package, this function is extended to be applicable to matrices in FL.MATLISP. This is done by defining a method forno-applicable-methodwhich converts the arguments, calls func and reconverts the returned values. IfMATLISPis not available, NIL is returned.
Direct slots:
- DIMENSIONS: The dimensions of the tensor.
- OFFSET0: An initial offset into the store-vector which defaults to 0.
- OFFSETS: The offsets for the different dimensions. This is internal information computed at tensor construction time.
Dispatches on the optional job argument (member :nn :tn :nt :tt) and calls the corresponding generic function, e.g. GEMM-NN!.
General matrix-matrix multiplication: Z <- alpha * X * Y + beta * Z
General matrix-matrix multiplication: Z <- alpha * X * Y' + beta * Z
General matrix-matrix multiplication: Z <- alpha * X' * Y + beta * Z
General matrix-matrix multiplication: Z <- alpha * X' * Y' + beta * Z
Computes the PLU decomposition of X (overwriting X). Returns X and as a second value the permuations vector.
Solves the given PLU decomposition for the rhs b while overwriting b.
Joins X and Y horizontally or vertically depending on the value of orientation.
Generates the matrix for a 1-dimensional Laplace problem discretized with the 3-point stencil on a structured mesh.
Adds increment to result which should be a symbol. If its value is nil then result is set to increment.
Generates a real matrix as specified by its arguments. If two arguments are provided, they should be numbers which are interpreted as rows and columns. If only one argument is provided, it should be either a number meaning the rows and columns of a square matrix or a nested list or vector structure defining the contents matrix.
Generates an instance of a tensor with DOUBLE-FLOAT entries and the given dimensions.
Extract a submatrix of size nrows times ncols out of x starting from position from-row/from-col.
Extract matrix Y out of matrix X from the position given by ROW-OFFSET and COL-OFFSET.
Inject matrix X in matrix Y at the position given by ROW-OFFSET and COL-OFFSET.
We allow multiple vectors, for solving linear problems in parallel.
Returns T if each entry of x is smaller or equal than threshold.
Defines the programmatic class
standard-matrixfor element type type as extensions of the programmatic classstore-vector.
Superclasses: <MATRIX>
Direct slots:
- NROWS: Number of rows in the matrix
- NCOLS: Number of columns in the matrix
This mixin yields vector behaviour for a class containing a store. The store is a unifom array with elements of a certain type which can be determined by the funtion
element-type. It often is but does not have to be equal to the type of scalars for this vector which can be obtained by calling the functionscalar-type.Superclasses: <VECTOR>
Direct slots:
- STORE: The vector entries.
Returns a freshly created copy of the i-th carthesian unit vector in dimension dim.