9.5. pyopus.misc.ghalton
— Generalized Halton sequence generator¶
-
class
ghalton.
GeneralizedHalton
(dim[, seed] | config)¶ Creates a generalized Halton generator. It takes at least one argument, either the dimensionality, or a configuration. When the dimensionality is given, an optional argument can be used to seed for the random permutations created. The configuration is a series of permutations each of n_i numbers, where n_i is the n_i‘th prime number. In that last case, the dimensionality is infered from the number of sublists given.
Parameters: - dim (integer) – Dimensionality of the points to create
- seed (integer) – Seed to create the permutations
- config (list of lists of integers) – List of permutations to scramble the halton digits
-
get
(n)¶
Retreive the n next points from this sequence. Each point is a
list
containing each value for each coordinates and the points are returned in alist
of n elements even if n is 1.-
reset
()¶
Reset the generator to its initial state, i.e. before it generated the first point.
-
seed
([config])¶
Seed the generator with a new seed or configuration. Seeding a generator automatically call
reset()
.Parameters: config ( None
, integer, or list of lists of integers) – The config to seed the sequencer
-
class
ghalton.
Halton
(dim)¶ Creates a Halton generator of dimensionality dim. This is similar to creating a
GeneralizedHalton
sequence with the identity permutations.-
get
(n)¶
Retreive the n next points from this sequence. Each point is a
list
containing each value for each coordinates and the points are returned in alist
of n elements even if n is 1.-
reset
()¶
Reset the generator to its initial state, i.e. before it generated the first point.
-
-
ghalton.
EA_PERMS
¶ Permutations described in [DeRainville2012] for the 100 first dimensions of the Generalized Halton sequence.
-
ghalton.
PRIMES
¶ Prime numbers lower than 10000.
[DeRainville2012] | F.-M. De Rainville, C. Gagné, O. Teytaud, D. Laurendeau. Evolutionary optimization of low-discrepancy sequences. ACM Trans. Model. Comput. Simul., 22(2):1-25, 2012. |
This module was written by Francois-Michel De Rainville (version 0.2.0) and released under GNU LGPL.