21

Greetings, googling for that subject brings, e.g., MTL, exmat, LAPACK and also here. I also seem to remember that Microsoft Research released one, but can't put my hands on it. I look for advice from someone who actually used (or developed...) one of those, hoping to achieve a Matlab experience inside C++ (as much as possible). Thanks in advance, Robi

Community
  • 1
  • 1
robi-y
  • 1,687
  • 16
  • 25
  • http://gandalf-library.sourceforge.net/ – rwong Jul 29 '10 at 05:13
  • I found this one: http://vxl.sourceforge.net/ (and from this link http://research.microsoft.com/en-us/um/people/awf/vxl/book/book_toc.html#SEC_Contents maybe it is the one you remembered as released by Microsoft Research). – Alessandro Jacopson Jun 15 '11 at 12:17

8 Answers8

15

Have a look at Armadillo, the docs have a syntax conversion table for Matlab users and there are benchmarks against other C++ matrix libraries in the website. I find it very user friendly.

Matti Pastell
  • 9,135
  • 3
  • 37
  • 44
8

I use both Eigen and Matlab and like both of them a lot. Eigen supports SIMD and lazy evaluations for extra performance. But users don't need to bother with internals. Eigen's interface is very simple and intuitive. Going from Matlab to Eigen should be relatively straightforward, which I can't say about uBLAS or LAPACK.

EDIT: Here is Eigen Quick Reference for Matlab Users

user401947
  • 850
  • 10
  • 18
6

boost has a math library capable of matrix algebra - uBLAS.

Igor Zevaka
  • 74,528
  • 26
  • 112
  • 128
1

There are two new Linear Algebra Libs in the Boost ecosystem namely NT2 and Boost LA AFAIK there is work underway (even halfway done?) to make them compatible with Boost uBlas.

Fabio Fracassi
  • 3,791
  • 1
  • 18
  • 17
1

NIST has the TNT (template numerical toolkit). Very lightweight and simple.

Jason S
  • 184,598
  • 164
  • 608
  • 970
1

A semi-serious answer (straight from Stroustrup): http://www.stroustrup.com/Programming/Matrix/index.html

Alessandro Jacopson
  • 18,047
  • 15
  • 98
  • 153
0

Read Jack Crenshaw's articles over at www.embedded.com. He's been working up a matrix class for a number of years, while developing the numerical methods code that goes with it and uses it.

John R. Strohm
  • 7,547
  • 2
  • 28
  • 33
0

I just started using the Gmm++ library. It's header-files only, supports sparse matrices, has a wide array of solvers, and interfaces for LAPACK and BLAS. Its interface doesn't seem as nice as Eigen, but it is more complete.

Essex
  • 1