广义halton数发生器
ghalton的Python项目详细描述
广义halton数产生器
==
>此库允许根据
广义halton序列生成准随机数。有关广义halton
序列及其性质和极限的更多信息,请参见braaten和weller(1979)、faure
和lemieux(2009)以及de rainville等人。库(2012)及其引用。
BR/>库兼容Python 2和Python 3。< BR> > BR/>安装“PIP”BR/> ---BR/>简单地键入
BR/> PIP安装Galtt
BR/> BR/>编译代码
---------BR/>以构建代码,您需要一个工作C++编译器。
$python setup.py install
前一个构造函数接受一个
单参数,这是序列的维数。
import ghalton
sequencer=ghalton.halton(5)
使用
points=sequencer.get(100)
将生成一个100个列表的列表,每个子列表将包含5个点
print points[0]
[0.5,0.3333,0.2,0.1429,0.0909]
若要重置它,请调用
`Sequencer.reset()`。
当给定维数时,可以使用可选参数为创建的随机排列种子。
import ghalton
sequencer=ghalton.generalizedhalton(5,68)
points=sequencer.get(100)
print points[0]
[0.5,0.6667,0.4,0.8571,0.7273]
一个配置是一系列的置换,
其中*n*i*是第*n*i*个素数。维度是根据给定的子列表数推断出来的。
import ghalton
perms=((0,1),
(0,2,1),
(0,4,2,3,1),
(0,6,5,4,3,2,1),
(0,8,2,10,4,9,5,6,1,7,3))
Sequencer=Ghalton.generalizedhalton(perms)
points=Sequencer.get(100)
打印点[0]
[0.5,0.6667,0.8,0.8571,0.7273]
de Rainville等人提出的配置。(2012)可在
ghalton模块中获得。使用“EAY-Purm”常数的第一*DIM*维度。< BR/> >导入Galtt.Br/> DIM=5<BR/>定序器=Galton。广义Halton(Galton。EAY-PurMS[:DIME])< BR/>点=定序器。得(100)BR/>印刷点〔0〕BR/>〔0.5,0.6667,0.8,0.8571〕,0.7273]
完整的API[这里](http://vision.gel.ulaval.ca/~fmdrainville/doc/python/index.html)。
配置库
——
有关更多配置,请参阅[准随机序列库](http://qrand.gel.ulaval.ca)。
参考文献一种改进的多维度准蒙特卡罗积分低差分序列。*电脑杂志。Phys.*,
33(2):249-2581979。
f.-m.de Rainville,C.Gagné,O.Teytaud,D.Laurendeau.低差异序列的进化优化。*ACM传输模型。计算。模拟*,
22(2):2012年1月25日。
h.福尔和c.勒米厄。2008年广义halton序列的比较研究。*ACM传输模型。计算。模拟*,19(4):2009年1月43日。
==
>此库允许根据
广义halton序列生成准随机数。有关广义halton
序列及其性质和极限的更多信息,请参见braaten和weller(1979)、faure
和lemieux(2009)以及de rainville等人。库(2012)及其引用。
BR/>库兼容Python 2和Python 3。< BR> > BR/>安装“PIP”BR/> ---BR/>简单地键入
BR/> PIP安装Galtt
BR/> BR/>编译代码
---------BR/>以构建代码,您需要一个工作C++编译器。
$python setup.py install
前一个构造函数接受一个
单参数,这是序列的维数。
import ghalton
sequencer=ghalton.halton(5)
使用
points=sequencer.get(100)
将生成一个100个列表的列表,每个子列表将包含5个点
print points[0]
[0.5,0.3333,0.2,0.1429,0.0909]
若要重置它,请调用
`Sequencer.reset()`。
当给定维数时,可以使用可选参数为创建的随机排列种子。
import ghalton
sequencer=ghalton.generalizedhalton(5,68)
points=sequencer.get(100)
print points[0]
[0.5,0.6667,0.4,0.8571,0.7273]
一个配置是一系列的置换,
其中*n*i*是第*n*i*个素数。维度是根据给定的子列表数推断出来的。
import ghalton
perms=((0,1),
(0,2,1),
(0,4,2,3,1),
(0,6,5,4,3,2,1),
(0,8,2,10,4,9,5,6,1,7,3))
Sequencer=Ghalton.generalizedhalton(perms)
points=Sequencer.get(100)
打印点[0]
[0.5,0.6667,0.8,0.8571,0.7273]
de Rainville等人提出的配置。(2012)可在
ghalton模块中获得。使用“EAY-Purm”常数的第一*DIM*维度。< BR/> >导入Galtt.Br/> DIM=5<BR/>定序器=Galton。广义Halton(Galton。EAY-PurMS[:DIME])< BR/>点=定序器。得(100)BR/>印刷点〔0〕BR/>〔0.5,0.6667,0.8,0.8571〕,0.7273]
完整的API[这里](http://vision.gel.ulaval.ca/~fmdrainville/doc/python/index.html)。
配置库
——
有关更多配置,请参阅[准随机序列库](http://qrand.gel.ulaval.ca)。
参考文献一种改进的多维度准蒙特卡罗积分低差分序列。*电脑杂志。Phys.*,
33(2):249-2581979。
f.-m.de Rainville,C.Gagné,O.Teytaud,D.Laurendeau.低差异序列的进化优化。*ACM传输模型。计算。模拟*,
22(2):2012年1月25日。
h.福尔和c.勒米厄。2008年广义halton序列的比较研究。*ACM传输模型。计算。模拟*,19(4):2009年1月43日。