Предположим, у меня есть
g = function (x) matrix(exp(-(x[1,]^2 + x[2,]^2)/2) / (2*pi))
и
h = function (x) {(exp(-(x[1]^2 + x[2]^2)/2) / (2 * pi))}
f = function (x) matrix(h(as.vector(x)))
Являются ли f
и g
одинаковыми функциями?
> f(matrix(c(1,2),ncol=1))
[,1]
[1,] 0.01306423
> g(matrix(c(1,2),ncol=1))
[,1]
[1,] 0.01306423
Казалось бы, но используя hcubature Я получаю
> hcubature(g, lowerLimit=c(0,0), upperLimit=c(3,3), vectorInterface=TRUE)
$integral
[1] 0.2486516
$error
[1] 1.855633e-06
$functionEvaluations
[1] 6
$returnCode
[1] 0
и
> hcubature(f, lowerLimit=c(0,0), upperLimit=c(3,3), vectorInterface=TRUE)
$integral
[1] -4.500035e-18
$error
[1] 2.641648e-17
$functionEvaluations
[1] 55
$returnCode
[1] 0
PS Меня также беспокоит, что код возврата равен 0.