Я пытаюсь реализовать фильтр частиц в R cpp и использую OpenMP для распараллеливания шага перехода. Я использую dqrng
, чтобы создать потокобезопасный RNG с использованием функций распределения boost
согласно здесь .
Код для R API можно найти здесь и вводя здесь dqrng
Проблема, с которой я сталкиваюсь, заключается в том, что, используя R API, я получаю правильные результаты, проверенные по альтернативным реализациям, с плотностью оценки примерно обычно распределены, как ожидалось. Однако для версии dqrng
плотность оценки не кажется правильной, и получаются разные результаты. Графики плотности можно увидеть ниже.
Есть ли у кого-нибудь понимание почему это может быть так?