C、C++ 或 Fortran 中的多元正态 cdf

是否有开源来计算 C、C++ 或 Fortran 中高斯分布的多变量(其中维度大于 3,而不是二元或三元)数值 cdf?

Is there an open source to calculate multivariate (where dimension is large > 3, not bivariate or trivariate ) numerical cdf of gaussian distributions in C, C++ or Fortran?

我相信 IMSL 做到了;http://www.roguewave.com/portals/0/products/imsl-numerical-libraries/c-library/docs/7.0/html/cstat/default.htm?turl=multivariatenormalcdf.htm

I believe IMSL does it; http://www.roguewave.com/portals/0/products/imsl-numerical-libraries/c-library/docs/7.0/html/cstat/default.htm?turl=multivariatenormalcdf.htm

推荐答案

你应该去源代码...这个家伙 Alan Genz 教授自 1980 年代以来一直在研究如何用数值进行这个和其他多元积分.其他人实现的所有代码都来自他的算法和论文.他的代码可以计算维度高达 1000 的多元正态分布和 T 分布的 CDF 和期望.

You should go to the source...this dude Professor Alan Genz has been researching how to do this and other multivariate integrals numerically since the 1980's. All of the code that others have implemented are derived from his algorithm and papers. His code can compute the CDF and expectation of the multivariate normal and T distributions for dimensions up to 1000.

http://www.math.wsu.edu/faculty/genz/software/software.html

我还编写了代码来从 Java 调用这些子例程:计算Java中的多元正态CDF

I've also written code to call those subroutines from Java: Compute the multivariate normal CDF in Java

相关文章