Documentation of 'umontreal.iro.lecuyer.hups.HammersleyPointSet' Java class
HammersleyPointSet
umontreal.iro.lecuyer.hups

Class 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 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

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.