SSJ
V. 1.2.5.

## umontreal.iro.lecuyer.hups Class HammersleyPointSet

java.lang.Object
umontreal.iro.lecuyer.hups.PointSet
umontreal.iro.lecuyer.hups.HammersleyPointSet

public class HammersleyPointSet
extends PointSet

This class implements Hammersley point sets, which are defined as follows. Let 2 = b1 < b2 < ... denote the sequence of all prime numbers by increasing order. The Hammersley point set with n points in s dimensions contains the points

ui = (i/n, ψb1(i), ψb2(i),..., ψbs-1(i)),

for i = 0,..., n - 1, where ψb is the radical inverse function in base b, defined in RadicalInverse. This class is not a subclass of DigitalNet, because the basis is not the same for all coordinates. We do obtain a net in a generalized sense if n = b1k1 = b2k2 = ... = bs-1ks-1 for some integers k1,..., ks-1.

The points of a Hammersley point set can be ``scrambled'' by applying a permutation to the digits of i before computing each coordinate. If

i = a0 + a1bj + ... + akj-1bjkj-1,

and πj is a permutation of the digits {0,..., bj -1}, then

ψbj(i) = ∑r=0kj-1arbj-r-1

is replaced by

ui, j = ∑r=0kj-1πj[ar]bj-r-1.

The permutations πj can be deterministic or random. One (deterministic) possibility implemented here is to use the Faure permutation of {0,..., bj} for πj, for each coordinate j > 0.

Constructor Summary
HammersleyPointSet(int n, int dim)
Constructs a new Hammersley point set with n points in dim dimensions.

Method Summary
Permutes the digits using Faure permutations for all coordinates.
void ErasePermutations()
Erases the Faure permutations: from now on, the digits will not be Faure permuted.
double getCoordinate(int i, int j)
Returns ui, j, the coordinate j of the point i.

Methods inherited from class umontreal.iro.lecuyer.hups.PointSet

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail

### HammersleyPointSet

public HammersleyPointSet(int n,
int dim)
Constructs a new Hammersley point set with n points in dim dimensions.

Parameters:
n - number of points
dim - dimension of the point set
Method Detail

Permutes the digits using Faure permutations for all coordinates. After the method is called, the coordinates ui, j are generated via

ui, j = ∑r=0k-1πj[ar]bj-r-1,

for j = 1,..., s - 1 and ui, 0 = i/n, where πj is the Faure permutation of {0,..., bj -1}.

### ErasePermutations

public void ErasePermutations()
Erases the Faure permutations: from now on, the digits will not be Faure permuted.

### getCoordinate

public double getCoordinate(int i,
int j)
Description copied from class: PointSet
Returns ui, j, the coordinate j of the point i.

Specified by:
getCoordinate in class PointSet
Parameters:
i - index of the point to look for
j - index of the coordinate to look for
Returns:
the value of ui, j

SSJ
V. 1.2.5.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.