Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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
`void` | `addFaurePermutations()` 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
`addRandomShift, addRandomShift, addRandomShift, addRandomShift, clearRandomShift, formatPoints, formatPoints, getDimension, getNumPoints, getStream, iterator, randomize, randomize, randomize, randomize, randomize, setStream, toString, unrandomize`

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

### addFaurePermutations

    public void addFaurePermutations()

  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

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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