22 lines
1.2 KiB
Plaintext
22 lines
1.2 KiB
Plaintext
This C++ library is intended for scientists and engineers who need to
|
|
manipulate a variety of types of matrices using standard matrix operations.
|
|
Emphasis is on the kind of operations needed in statistical calculations such
|
|
as least squares, linear equation solve and eigenvalues.
|
|
|
|
It supports matrix types: Matrix (rectangular matrix); UpperTriangularMatrix;
|
|
LowerTriangularMatrix; DiagonalMatrix; SymmetricMatrix; BandMatrix;
|
|
UpperBandMatrix; LowerBandMatrix; SymmetricBandMatrix; IdentityMatrix;
|
|
RowVector; ColumnVector.
|
|
|
|
The library includes the operations *, +, -, *=, +=, -=, Kronecker product,
|
|
Schur product, concatenation, inverse, transpose, conversion between types,
|
|
submatrix, determinant, Cholesky decomposition, QR triangularisation, singular
|
|
value decomposition, eigenvalues of a symmetric matrix, sorting, fast Fourier
|
|
and trig. transforms, printing and an interface with Numerical Recipes in C.
|
|
|
|
It is intended for matrices in the range 10 x 10 to the maximum size your
|
|
machine will accommodate in a single array. The package works for very small
|
|
matrices but becomes rather inefficient. A lazy evaluation approach to
|
|
evaluating matrix expressions is used to improve efficiency and reduce use of
|
|
temporary storage.
|