我正在try 实现一些使用双变量正态CDF的概率工作.在R中,I可以使用the pbivnorm package(特别是第90行),例如(带有一些虚构的数字)
library(pbivnorm)
.Fortran("PBIVNORM", as.double(0), c(0,0), as.double(-0.1), as.double(-0.2), as.integer(c(0,0)), as.double(0), as.integer(1), PACKAGE="pbivnorm")
[[1]]
[1] 0.193613
[[2]]
[1] 0 0
[[3]]
[1] -0.1
[[4]]
[1] -0.2
[[5]]
[1] 0 0
[[6]]
[1] 0
[[7]]
[1] 1
我从the package here中提取了底层Fortran代码,并使用F2py(命名为已编译的.so文件Fortran)对其进行编译,因此我可以执行以下操作:
import fortran
fortran.pbivnorm(float(0), [float(0), float(0)], float(-0.1), float(-0.2), [int(0), int(0)], float(0),int(1))
但是,这将返回NONE.我知道该子 routine 在技术上更改了提供给它的值,因此我还提供了各种命名常量,但它们在被查询时保持不变.
也觉得可能与对输入类型的挑剔有关?
如有任何帮助,不胜感激!