hcubature дает разные ответы, по-видимому, для одной и той же функции - PullRequest
0 голосов
/ 06 ноября 2018

Предположим, у меня есть

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...