广义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日。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过编程将图像插入Word文档?   java Maven在Quickstart原型中更改jUnit版本   OS X上的eclipse java版本和路径   java在hibernate中将具有依赖对象的类映射到单独的表   JavaJSF2如何在复合组件子组件完成操作后执行操作?   java无法从列表<节点>强制转换为列表<元素>   java如何将数组链接到方法   检查数组中是否存在一个范围内的所有值的最佳方法是什么?(爪哇)   redis Java:我们应该尽快退出trywithresource块来释放资源吗?   对象不会出现在java swing中的按键上   SQLServerJava。sql。SQLException:客户端尝试签出连接已超时   java如何使用JPA以线程安全的方式保存或更新对象?   java如何在不显示滚动条的情况下消除SWT ScrolledComposite中浪费的空间   如何在Eclipse中从Java编辑器显示scala文档?