gpt4 book ai didi

c++ - 高斯过程的准随机数发生器

转载 作者:太空宇宙 更新时间:2023-11-04 11:39:08 28 4
gpt4 key购买 nike

我正在尝试按照对数正态过程(即 X_t = X_(t-1) exp( drift * dt + sigma*GaussianRandom*sqrt)在 1200 个时间步长内演化一个变量(比如 X 起始值为 1) (dt)))。我想使用准随机数来获得更快的收敛。

我的理解是我需要一个 1200 维的准随机数生成器。在每个时间步我都使用 X_t 来计算一些其他变量,因此我需要所有 1200 个点,我不能跳到一个终点并降低维度。

我的问题是:

  1. 在如此高的维度上,使用准随机数与伪随机数相比,我会有任何优势吗。

  2. 谁能给我指点一些 C++ 代码来帮助我生成准随机数。

最佳答案

At such high dimension will I have any advantage using quasi random numbers vs pseudo random numbers.

与好的伪随机数生成器相比,1200 并不是一个高维度。您需要的是一个好的伪随机数生成器,而这几乎不包括 rand()

Can someone please point me to some C++ code which can help me with the quasi random number generation.

这个问题隐含地假定您不能使用 PRNG。你可以,只要它有很长的重复并表现出很好的行为。 Mersenne twister 足以满足您的需求(但现在有更好的)。有很多 MT 的实现,但如果你可以使用 C++11,MT 是内置在该语言中的。解决这个问题的最简单方法是使用 C++11 随机数生成器。参见 http://en.cppreference.com/w/cpp/numeric/random .

关于c++ - 高斯过程的准随机数发生器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100847/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com