2009-04-14 19 views
27

Estoy buscando un código de alto rendimiento (necesita ejecutarse en tiempo real), preferiblemente de código abierto, pero si no hay nada que sea gratuito y de alto rendimiento, tomaré algo bien soportado y de alta calidad por un costo .¿La mejor biblioteca para estadísticas en C++?

¿Alguna sugerencia?

Estos son los que he encontrado hasta ahora, en ningún orden en particular:

CodeCogs

GSL

Cephes

Boost MathToolkit

Blitz++

TNT

+0

¿Qué funcionalidad es lo que desea en las estadísticas> –

+0

En este momento principalmente correlaciones. Spearman, etc. – ApplePieIsGood

Respuesta

18

Revise los enlaces en mathtools.net. La página para statistics libraries for C++ tiene enlaces. Otra página http://www.thefreecountry.com/sourcecode/mathematics.shtml enumera algunas más.

¿Has visto el 'R project'? Creo que puedes llamar 'R objects' desde C/C++.

+0

Necesito algo nativo C++. Voy a ejecutarlo en grandes cantidades de datos en tiempo real, no quiero tener que lidiar con los costos de la clasificación entre C++ y cualquier lenguaje específico de dominio. – ApplePieIsGood

+2

R no está escrito en C++, y no puede simplemente vincularlo. http://blog.revolutionanalytics.com/2011/08/what-language-is-r-written-in.html –

2

Root tiene bastante buen soporte estadístico. Al menos como nosotros los tipos de física de partículas juzgamos esto. Funciona en la interpretación de cint o como una biblioteca C++ nativa.

0

He utilizado la biblioteca IT++ en el pasado, esta biblioteca admite rutinas ACML y MKL a través de BLAS y LAPACK. Si se trata de cálculos que deben realizarse rápidamente, existe la posibilidad de utilizar esta biblioteca junto con HPC, esta es una función aunque no documentada, por lo que se necesitará algo de reflexión. Sin embargo, el enfoque en esta biblioteca se encuentra en los cálculos de la matriz, pero en este marco se pueden encontrar muchas funciones matemáticas y estadísticas normales gracias a su excelente soporte de procesamiento de señal.

1

TNT es para cálculos matriciales pero no tiene ninguna funcionalidad estadística. (por ejemplo, erf, mean/std/cov, etc.)

No utilicé Boost Math Toolkit, pero al hojear la documentación, parece que tiene el problema opuesto, p. muchas cosas buenas para los cálculos escalares, pero no apoyo (que pude encontrar) para situaciones multivariantes.

5

me sorprende que nadie ha mencionado ALGLIB: http://www.alglib.net/

+0

La versión de código abierto (con estrictos requisitos de GPL, no estamos hablando de BSD aquí) está paralizada, lo cual es tan cojo –

Cuestiones relacionadas