The best free cross-platform library for a higher level Matrix, Vector and especially. SparseMatrix Operations?

Our platforms:

  • Windows, Linux, Mac OSX.

Free:

  • LGPL compatible

Support for high-level operations:

  • Eigensystems, SVD, QR, LU, reverse, pseudo-reverse (so-called Moore-Penrose reverse), ...

It supports many types of matrices, as well as good performing small matrices, for example. 3x3:

  • Rare, symmetric, ... (as well as operations on them !, for example, pseudoInverse ())

And of course it should be

  • EFFECTIVE
  • active development in recent months

It would be nice to link LAPACK, MKL, ATLAS, etc. again.

, , - Armadillo, . Eigen3 , - ( ).

:

  • newmat11, boost:: uBlas, gsl, IT ++
+3
3

! , boost:: ublas, C = A * B C = prod (A, B), ublas, , ublas.

+4

Eigen3 , . , Cholesky .

0

NewMat11 - , (Eigensystems, SVD, QR, LU, ). :

Matrix M(numRows,numCols);
M << array;

:

M.element(i,j);

:

M.t();

:

M.i();

*:

M*M

, : SVD, QR, LU ..

(Moore-Penrose) , , :

if row> col, then the pseudo-inverse (least squares solution) can be calculated as: M_PseudoInv = (M T M) -1 M T

if the string is <col, then the pseudo-inverse (the solution of the smallest norm) can be calculated as: M_PseudoInv = M T (MM T ) -1

0
source

Source: https://habr.com/ru/post/1767521/


All Articles