HELP POPMATLAB Aaron Sloman January 2005
Based on work by David Young
LIB POPMATLAB
Pop11 Matrix/Array Linear Algebra Library
-----------------------------------------
CONTENTS
-- Introduction
-- Array creation utilities
-- LIB * ARRPACK
-- LIB * LAPACK
-- LIB * LAPOP
-- External language interface
-- NOTE:
-- Introduction
This is a 'virtual' package which makes visible a subset of the
facilities included in the popvision package, providing general purpose
mathematical tools that are not restricted to being used for vision,
including the well known BLAS and LAPACK toolkits, which are here
made available from pop11.
(At some later stage, the relevant portions of the Popvision library may
be extracted to form a separate package located here.)
To make the facilities available do
uses popmatlab
This will make the following available:
-- Array creation utilities
Facilities for creating a variety of types of arrays: of integers,
bytes, single floats, double floats, single complex numbers, double
complex numbers.
* newintarray creates packed integer arrays.
* newdfloatarray creates double-precision packed floating-point arrays.
* newrfloatarray creates packed floating-point arrays with precision
depending on popdprecision.
* newcfloatarray creates complex single-precision packed
floating-point arrays with alternating real and imaginary parts.
* newzfloatarray creates complex double-precision packed floating-point
arrays with alternating real and imaginary parts.
-- LIB * ARRPACK
This provides procedures for arithmetic and logical operations on
real and complex arrays, using external procedures for efficiency.
This includes facilities for manipulating 1-D and 2-D arrays,
treating them as matrices to which matrix operations can be applied.
A whole array or a subset of its elements may be processed in a
single procedure call.
To make it available do
uses arrpack
For further details see HELP * ARRPACK
-- LIB * LAPACK
provides an interface between Pop-11 and the Lapack and BLAS
libraries of routines for linear algebra (matrix operations). Lapack
and BLAS together provide a suite of high-quality routines for
linear algebra. For more details, see their web sites:
http://www.netlib.org/lapack/ http://www.netlib.org/blas/
LIB LAPACK offers a straightforward way to call many of these
routines from Pop-11. It offers:
* loading of the external procedures;
* simplified calling sequences;
* argument consistency checking;
* translation from Pop-11 arrays and array regions to external
representations;
* efficient management of workspace arguments.
To make it available do
uses lapack
For further details, including problems of checking that the
BLAS and LAPACK libraries are available and accessible, see
HELP * LAPACK
-- LIB * LAPOP
This provides a set of procedures for linear algebra, based on BLAS
and LAPACK. The library provides a set of procedures for performing
some of the standard operations of linear algebra. It does not
attempt to cover all possible operations on arrays, but rather those
specific to their use as representations of matrices: matrix
multiplication; exact and least-squares solution of linear
equations; eigenvalues and eigenvectors; singular value
decomposition. Both real and complex calculations are supported.
The calling sequences and conventions are as simple as possible, and
the library is flexible with respect to the types of data arrays.
However, it may be used in a way that maximises efficiency - for
example, garbage generation may be kept low if that is important.
To make it available do
uses lapop
For further details, including examples, see HELP * LAPOP
NOTE:
* lapack gives a direct interface to the Lapack linear algebra package,
which has very wide scope.
* lapop gives a simpler, higher-level interface to some common linear
algebra functions, including matrix multiplication, linear equations,
least-squares problems, eigenvalue and singular value decompositions.
-- External language interface
* excall allows external functions to be passed the addresses of
arbitrary elements of vectors.
To make it available do
uses excall
See also HELP * EXCALL
-- NOTE:
If you don't have blas and lapack on your machine, and wish to use the
new mathematical libraries, you can fetch and install the following
from:
http://ftp.pld.org.pl/dists/ac/ready/
--- $usepop/pop/packages/popmatlab/help/popmatlab
--- Copyright University of Sussex 2005. All rights reserved.