2010-07-29 4 views
20

Grüße, für diesen Gegenstand Googling bringen, z.B. MTL, exmat, LAPACK und auch here. Ich erinnere mich auch daran, dass Microsoft Research eins veröffentlicht hat, aber nicht in die Lage versetzt. Ich suche Rat von jemandem, der tatsächlich einen von denen verwendet (oder entwickelt ...), in der Hoffnung, eine Matlab-Erfahrung in C++ (so viel wie möglich) zu erreichen. Vielen Dank im Voraus, RobiSuche nach einer eleganten und effizienten C++ Matrix Bibliothek

+0

http://gandalf-library.sourceforge.net/ – rwong

+0

ich diesen gefunden: http://vxl.sourceforge.net/ (und von Dieser Link http://research.microsoft.com/en-us/um/people/awf/vxl/book/book_toc.html#SEC_Contents ist vielleicht der, an den Sie sich erinnern, als er von Microsoft Research veröffentlicht wurde. –

Antwort

15

Werfen Sie einen Blick auf Armadillo haben die docs eine syntax conversion table für Matlab Benutzer und es gibt Benchmarks im Vergleich zu anderen C++ Matrix-Bibliotheken auf der Website. Ich finde es sehr benutzerfreundlich.

+0

+1 für Armadillo Beratung – nkint

6

Boost hat eine Math-Bibliothek in der Lage Matrixalgebra - uBLAS.

0

Lesen Sie die Artikel von Jack Crenshaw bei www.embedded.com. Er arbeitet seit einigen Jahren an einer Matrix-Klasse und entwickelt dabei den Code für numerische Methoden, der dazu verwendet wird.

8

Ich benutze sowohl Eigen und Matlab und mag sie beide sehr. Eigen unterstützt SIMD und Lazy-Auswertungen für zusätzliche Leistung. Benutzer müssen sich jedoch nicht mit Interna auseinandersetzen. Die Schnittstelle von Eigen ist sehr einfach und intuitiv. Von Matlab nach Eigen zu gehen sollte relativ unkompliziert sein, was ich nicht über UBLAS oder LAPACK sagen kann.

EDIT: Hier ist Eigen Quick Reference for Matlab Users

1

Es gibt zwei neue Linear Algebra Libs im Boost-Ökosystem, nämlich NT2 und Boost LA AFAIK gibt es Arbeit im Gange (sogar halbwegs fertig?), Um sie kompatibel mit Boost uBlas zu machen.

1

NIST hat die TNT (Vorlage numerische Toolkit). Sehr leicht und einfach.

0

Ich habe gerade angefangen, die Gmm++ Bibliothek zu verwenden. Es sind nur Header-Dateien, unterstützt dünn besetzte Matrizen, eine breite Palette von Solvern und Schnittstellen für LAPACK und BLAS. Seine Schnittstelle scheint nicht so schön wie Eigen, aber es ist vollständiger.