2009-04-14 2 views
27

Я ищу высокопроизводительный код (должен работать в режиме реального времени), желательно с открытым исходным кодом, но если нет ничего свободного и высокопроизводительного, я возьму что-то хорошо поддерживаемое и высокого качества за стоимость ,Лучшая библиотека для статистики на C++?

Любые предложения?

Это те, которые я нашел до сих пор, в частности, нет порядка:

CodeCogs

GSL

Cephes

Boost MathToolkit

Blitz++

TNT

+0

Какие функции вы желаете в статистике> –

+0

В это время в основном корреляции. Spearman и т. Д. – ApplePieIsGood

ответ

18

Проверьте ссылки на mathtools.net. Страница для statistics libraries for C++ имеет ссылки. Другая страница http://www.thefreecountry.com/sourcecode/mathematics.shtml перечисляет еще несколько.

Вы проверили 'R project'? Я думаю, вы можете называть 'R объектов' из C/C++.

+0

Мне нужно что-то родное C++. Я собираюсь запустить его на большом количестве данных в реальном времени, я не хочу иметь дело с затратами на маршалинг между C++ и любым языком, относящимся к конкретному домену. – ApplePieIsGood

+2

R не написан на C++, и вы не можете просто ссылаться на него. http://blog.revolutionanalytics.com/2011/08/what-language-is-r-written-in.html –

2

Root имеет довольно хорошую статистическую поддержку. По крайней мере, поскольку мы, физики частиц, судить об этом. Работает в интерпретации cint или как родная библиотека C++.

0

Я использовал библиотеку IT++ в прошлом, эта библиотека поддерживает подпрограммы ACML и MKL через BLAS и LAPACK. Если это вычисления, которые должны выполняться быстро, есть возможность использовать эту библиотеку вместе с HPC, это хотя и недокументированная функция, поэтому потребуется какая-то мысль. Фокус на этой библиотеке, однако, позиционируется на матричных вычислениях, но многие нормальные математические и статистические функции можно найти в этой структуре благодаря превосходной поддержке обработки сигналов.

1

TNT предназначен для расчета матриц, но не имеет статистических функций. (например, erf, mean/std/cov и т. д.)

Я не использовал Boost Math Toolkit, но, просматривая документацию, похоже, что имеет противоположную проблему, например. много плюсов для скалярных вычислений, но никакой поддержки (которую я мог найти) для многомерных ситуаций.

5

Я удивлен, что никто не упомянул ALGLIB: http://www.alglib.net/

+0

Версия с открытым исходным кодом (со строгими требованиями GPL, мы не говорим о BSD здесь) является калекой, которая такой хромой. – 2015-02-28 11:09:55