views:

177

answers:

4

What are the various open source and commercial C++ libraries for probabilistic scientific calculations ? I'm mainly interested in Bayesian learning ; something similar to the Bayes Net toolbox in Matlab

+2  A: 

GNU Scientific library (GSL) probably might give you the building blocks for what you need.

Amit
gsl is good and a base level lib..i want to have higher level implementations for parameter learning..e.g Batch MLE/MAP parameter learning using EM..Weka in Java is good
iceman
@iceman: http://sourceforge.net/projects/wekacpp/
Amit
wekacpp is prealpha..is the code in the svn
iceman
+1  A: 

It's not a C++ library per say, but you can call R from C++ by using Rinside. So far as any calculations related to probability and statistics are concerned, you can't beat R.

Since you're interested in Bayesian learning, you will want to look through the Bayesian view on CRAN. It also integrates with other bayesian tools like Bugs (for example).

Shane
how does R compare to Matlab...apart from the pricing..i know Matlab, specially the stats toolbox
iceman
You can read my comparison in the related question: http://stackoverflow.com/questions/1738087/what-can-matlab-do-that-r-cannot-do/1738309#1738309. Long story short: I think that they are very comparable, with Matlab having a slight edge in the physical sciences, but R having an edge in statistics. But they are interchangeable at this point.
Shane
Incidentally, R is also integrated with Weka (see RWeka).
Shane
+1  A: 

GNU R actually has a standalone library (with C bindings) you could link to as well. The documentaton is a little hidden but Section 6.7 of R Extensions is a start.

Edit: Better documentation on the standalone R Math library is in Section 9 of the R Admin manual.

Dirk Eddelbuettel
A: 

You may want to check this:

http://sites.google.com/site/erwannrogard/cpp-statistics

It's heavily based on Boost, and parts of it may one day end up there.

Manuel