22 lines
1.2 KiB
Text
22 lines
1.2 KiB
Text
|
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.
|