Я пытаюсь реализовать фильтр частиц в R cpp и использую OpenMP для распараллеливания шага перехода. Я использую dqrng
, чтобы создать потокобезопасный RNG с использованием функций распределения boost
согласно здесь .
Код для R API можно найти здесь и вводя здесь dqrng
Проблема, с которой я сталкиваюсь, заключается в том, что, используя R API, я получаю правильные результаты, проверенные по альтернативным реализациям, с плотностью оценки примерно обычно распределены, как ожидалось. Однако для версии dqrng
плотность оценки не кажется правильной, и получаются разные результаты. Графики плотности можно увидеть ниже.
![Density of estimator with dqrng](https://i.stack.imgur.com/lJXGvm.png)
![Density of estimator with R API](https://i.stack.imgur.com/kQjXJm.png)
Есть ли у кого-нибудь понимание почему это может быть так?