Submit a comment to an "Available C++ Libraries FAQ" entry
Libraries available to download (D-L)
LinAlg - C++ Linear Algebra and Optimization classlib
defines Matrix,Vector, subMatrices, and LAStreams over real domain;
contains efficient and fool-proof implementations of level 1 and 2
BLAS (element-wise operations and various multiplications),
transposition, determinant evaluation and matrix inverse.
There are operations on a single row/col/diagonal of a matrix.
Distinct features of the package are Matrix views, various Matrix
streams, and LazyMatrices. Lazy construction allows one to write
matrix expressions in a natural way while imposing no hidden
temporaries, no deep copying, and no reference counting.
LinAlg stresses Matrix streams, which provide a sequential
view/access to a matrix or its parts. LABlockStreams may
span over an arbitrary rectangular block of a matrix, including the
whole matrix, a single matrix element, and all other block sizes in
between. Matrix streams are seek-able and
subrange-able. A stream or a substream are always created in-line;
they do not allocate any heap storage, and are safe.
The package implements Singular Value Decomposition (SVD), and its
application to solving Ax=b, where matrix A
does not have to be square, and b does not have to be a
The package also implements Brent's univariate optimization and
root finding, Hooke-Jeeves multidimensional optimization of functors,
and Aitken-Lagrange interpolation.
Every feature is extensively tested in the validation code (included).
4.3, December 25, 1998
Licensing : Public Domain
Do not expect an immediate response - the contents of this form
will be added to a queue, which I process manually
about once a week. If you don't fill in
your email address correctly, you will not (obviously) get any reply at
all. Other invalid information may result in a mailed request for
Enter your comment in the areas provided below. Be sure to
include your name and email address.
Please don't bother trying to post spam or links to dodgy web sites - everything
you post here is reviewed by a human being before being released for public