2009-04-14 7 views
27

Ich suche nach Hochleistungscode (muss in Echtzeit laufen), vorzugsweise Open Source, aber wenn es nichts gibt, das frei und leistungsfähig ist, nehme ich etwas gut unterstützt und von hoher Qualität für einen Preis .Beste Bibliothek für Statistiken in C++?

Irgendwelche Vorschläge?

Dies sind diejenigen, die ich bisher in keiner bestimmten Reihenfolge gefunden habe:

CodeCogs

GSL

Cephes

Boost MathToolkit

Blitz++

TNT

+0

Welche Funktionalität wünschen Sie in der Statistik> –

+0

Zu diesem Zeitpunkt hauptsächlich Korrelationen. Spearman, etc. – ApplePieIsGood

Antwort

18

Überprüfen Sie die Links auf mathtools.net. Die Seite für statistics libraries for C++ hat Links. Eine andere Seite http://www.thefreecountry.com/sourcecode/mathematics.shtml listet einige mehr auf.

Haben Sie die 'R project' überprüft? Ich denke, Sie können 'R-Objekte' von C/C++ aufrufen.

+0

Ich brauche etwas natives C++. Ich werde es in Echtzeit auf großen Datenmengen ausführen, ich möchte mich nicht mit den Kosten für das Marshalling zwischen C++ und einer domänenspezifischen Sprache befassen müssen. – ApplePieIsGood

+2

R ist nicht in C++ geschrieben, und Sie können nicht einfach dagegen verlinken. http://blog.revolutionanalytics.com/2011/08/what-language-is-r-written-in.html –

2

Root hat ziemlich gute statistische Unterstützung. Zumindest beurteilen uns Teilchenphysik-Typen diese Sache. Funktioniert in Cint-Interpretation oder als native C++ - Bibliothek.

0

Ich habe die IT++ Bibliothek in der Vergangenheit verwendet, diese Bibliothek unterstützt ACML und MKL Routinen durch BLAS und LAPACK. Wenn es sich um Berechnungen handelt, die schnell durchgeführt werden müssen, gibt es die Möglichkeit, diese Bibliothek zusammen mit HPC zu verwenden. Dies ist eine zwar undokumentierte Funktion, daher sind einige Überlegungen erforderlich. Der Fokus auf dieser Bibliothek liegt jedoch auf Matrixberechnungen, aber viele normale mathematische und statistische Funktionen können in diesem Rahmen dank seiner exzellenten Signalverarbeitungsunterstützung gefunden werden.

1

TNT ist für Matrixberechnungen, hat aber keine Statistikfunktionalität. (z. B. erf, mean/std/cov usw.)

Ich habe Boost Math Toolkit nicht verwendet, aber durch die Dokumentation, es sieht aus wie es das gegenteilige Problem hat, z. viele Extras für skalare Berechnungen, aber keine Unterstützung (die ich finden könnte) für multivariate Situationen.

5

Ich bin überrascht, niemand ALGLIB erwähnt: http://www.alglib.net/

+0

Die Open-Source-Version (mit strengen GPL-Anforderungen, wir reden hier nicht BSD) ist verkrüppelt was ist so lahm. –