GSL的拟随机数列

拟随机数列

本章描述生成任意维数的拟随机数列的函数。拟随机数列用一组均匀分布的点逐步覆盖d维空间。拟随机数列也被称为低差异数列。拟随机数列生成器使用的接口类似于随机数生成器的接口,不同之处是不需要种子——每个生成器生成单个数列。

本章描述的函数在头文件gsl_qrng.h中声明。

19.1 拟随机数生成器初始化

gsl_qrng

    这是为了计算拟随机数列的工作空间。

gsl_qrng * gsl_qrng_alloc(const gsl_qrng_type * T, unsigned int d)

    本函数返回一个指针,指向新创建的T类型和维数为d的拟随机数列生成器实例。如果没有足够的内存来创建生成器,那么该函数将返回一个空指针,并使用错误代码GSL_ENOMEM调用错误处理程序。

void gsl_qrng_free(gsl_qrng * q)

    本函数释放与生成器q相关的所有内存。

void gsl_qrng_init(gsl_qrng * q)

本函数将生成器q重新初始化到它的起始点。请注意,拟随机数列不使用种子,总是产生同一组值。

19.2 从拟随机数发生器中采样

int gsl_qrng_get(const gsl_qrng * q, double x[])

    本函数将数列生成器q中的下一个点存储在数组x中。x的可用空间必须与生成器的维数匹配。对于每个xi, x点都在0 < xi < 1的范围内。定义HAVE_INLINE时使用该函数的内联版本。

19.3 辅助拟随机数产生函数

const char * gsl_qrng_name(const gsl_qrng * q)

    本函数返回一个指向生成器名称的指针。

size_t gsl_qrng_size(const gsl_qrng * q)

void * gsl_qrng_state(const gsl_qrng * q)

本函数返回指向生成器r状态及其大小的指针。您可以使用此信息直接访问该状态。例如,下面的代码将把生成器的状态写入流:

猜你喜欢

转载自blog.csdn.net/yxmlhc/article/details/120564878