最好的 C++ 统计库?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/746364/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-27 17:04:48  来源:igfitidea点击:

Best library for statistics in C++?

c++mathstatistics

提问by ApplePieIsGood

I'm looking for high performance code (needs to run in real-time), preferably open source, but if there is nothing that's free and high-perf, I'll take something well supported and of high quality for a cost.

我正在寻找高性能代码(需要实时运行),最好是开源的,但如果没有什么是免费和高性能的,我会付出一些代价来获得支持良好和高质量的东西。

Any suggestions?

有什么建议?

These are the ones I've found so far, in no particular order:

这些是我到目前为止找到的,没有特别的顺序:

CodeCogs

代码齿轮

GSL

GSL

Cephes

凯菲斯

Boost MathToolkit

Boost MathToolkit

Blitz++

闪电战++

TNT

天梯

回答by Nitin Bhide

Check the links on mathtools.net. The page for statistics libraries for C++has links. Another page http://www.thefreecountry.com/sourcecode/mathematics.shtmllists few more.

检查 mathtools.net 上的链接。C++ 统计库页面有链接。另一个页面http://www.thefreecountry.com/sourcecode/mathematics.shtml列出了更多。

Have you checked the 'R project'? I think you can call 'R objects' from C/C++.

你检查过' R项目'吗?我认为您可以从 C/C++ 调用“R 对象”。

回答by Nestor

I'm surprised nobody's mentioned ALGLIB: http://www.alglib.net/

我很惊讶没有人提到 ALGLIB:http: //www.alglib.net/

回答by dmckee --- ex-moderator kitten

Roothas pretty good statistical support. At least as us particle physics types judge these thing. Works in cint interpretation or as a native c++ library.

Root有很好的统计支持。至少在我们粒子物理学类型判断这些事情时是这样。可用于 cint 解释或作为本机 C++ 库。

回答by Jason S

TNT is for matrix calculations but doesn't have any statistics functionality. (e.g. erf, mean/std/cov etc)

TNT 用于矩阵计算,但没有任何统计功能。(例如 erf、mean/std/cov 等)

I haven't used Boost Math Toolkit, but skimming through the documentation, it looks like it has the opposite problem, e.g. lots of goodies for scalar calculations, but no support (that I could find) for multivariate situations.

我没有使用过 Boost Math Toolkit,但浏览了文档,看起来它有相反的问题,例如很多用于标量计算的好东西,但不支持(我能找到的)多变量情况。

回答by Jason S

I have used the IT++library in the past, this library supports ACML and MKL routines trough BLAS and LAPACK. If it are calculations that need to happen fast, there is the possibility of using this library together with HPC, this is an although undocumented feature so some thought will be required. The focus on this library is however positioned on matrix calculations, but many normal mathematic and statistic functions can be found in this framework thanks to its excellent signal processing support.

我过去使用过IT++库,该库通过 BLAS 和 LAPACK 支持 ACML 和 MKL 例程。如果需要快速进行计算,则可以将此库与 HPC 一起使用,这是一个虽然未记录的功能,因此需要进行一些思考。然而,该库的重点在于矩阵计算,但由于其出色的信号处理支持,可以在该框架中找到许多正常的数学和统计函数。