LinAlg
LinAlg is a C++ Linear Algebra and Optimization classlib. The library:
- 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.
LABlockStream s 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
thin vector.
- 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).
|
Current Version: 4.3, December 25, 1998.
License Type: Public Domain
|
Home Site:
http://pobox.com/~oleg/ftp/packages.html
Source Code Availability:
Yes
Available Binary Packages:
- Debian Package: No
- RedHat RPM Package: No
- Other Packages: No
Targeted Platforms:
gcc 2.7.2.1 Linux 2.0.33 i586; egcs-1.1.1 (optimization off, no
'-freg-struct-return' gcc flag), Linux i686; gcc 2.8.1 (optimization
off) on HP-PA, Solaris/Sparc; SGI's native compiler (optimization
off); Visual C++ 5.0 WinNT 4.0; Metrowerk's CodeWarrior C++, BeOS
Release 4.
Software/Hardware Requirements:
C++ compiler
|
Other Links:
None
Mailing Lists/USENET News Groups:
None
User Comments:
See A Screen Shot? (Not Yet)
|