Submit a comment to an "Available C++ Libraries FAQ" entry
Category
Libraries available to download (A-C)
AML++ - Another Matrix Library in C++ - AML++ is a matrix/numerical routines library
AML++ is a matrix library which mimics most Matlab/Octave features and functions. It offers many different matrix classes (both real and complex including generic dense and sparse matrices, upper/lower triangular, symmetric, Hermitian and band).
Features:
Library interface resembles Matlab/Octave language, which makes it a
perfect tool if you wish to translate Matlab or Octave code to C++.
Vector (row and column) classes, generic dense and sparse matrices,
special types of matrices including upper/lower triangular, symmetric,
Hermitian and band.
Index checking as well as fast indexing without index checking; indexing with colon expressions (replicating Matlab/Octave. (s:i:e) functionality) as well as with arbitrary integer vectors/matrices.
Most Matlab and Octave matrix creation & manipulation functions like
ones, zeros, randn, randn, diag, eye, fliplr, flipud, rot90, horzcat, vertcat, find, all, any and others.
Extensive sparse matrix support with fast sparse matrix manipulation
routines.
Many mapper functions (computing function of each element).
Sums and products.
Natural way of writing matrix expressions through overloaded +, - and * operators; comparison and Boolean operators.
Kronecker product.
Trace & determinant. Vector and matrix norms.
Solving linear equations, handles special types of matrices; inverting
matrices; solving sparse linear systems.
Dense and sparse LU and Cholesky decomposition, QR decomposition, SVD,
Schur decomposition, QZ decomposition.
Extensive runtime checks and exception handling. (no assert).
C++ I/O streams (handling NaN's. and Inf's and comments) for numerical
classes.
Formatted console, string and LATEX output.
A 100 page manual is provided.
Licensing : GNU copyleft
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
clarification.
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
viewing.