CycleBasedPointSetBase2
umontreal.iro.lecuyer.hups

Class CycleBasedPointSetBase2

  • Direct Known Subclasses:
    F2wCycleBasedLFSR, F2wCycleBasedPolyLCG


    public abstract class CycleBasedPointSetBase2extends CycleBasedPointSet
    Similar to CycleBasedPointSet, except that the successive values in the cycles are stored as integers in the range {0,..., 2k -1}, where 1 <= k <= 31. The output values ui, j are obtained by dividing these integer values by 2k. Point sets where the successive coordinates of each point are obtained via linear recurrences modulo 2 (e.g., linear feedback shift registers or Korobov-type polynomial lattice rules) are naturally expressed in this form. Storing the integers 2kui, j instead of the ui, j themselves makes it easier to apply randomizations such as digital random shifts in base 2, which are applied to the bits before transforming the value to a real number ui, j. When a random digital shift is performed, it applies a bitwise exclusive-or of all the points with a single random point.
    • Constructor Detail

      • CycleBasedPointSetBase2

        public CycleBasedPointSetBase2()
    • Method Detail

      • getCoordinate

        public double getCoordinate(int i,                   int j)
        Description copied from class: PointSet
        Returns ui, j, the coordinate j of the point i.
        Overrides:
        getCoordinate in class CycleBasedPointSet
        Parameters:
        i - index of the point to look for
        j - index of the coordinate to look for
        Returns:
        the value of ui, j
      • iterator

        public PointSetIterator iterator()
        Description copied from class: PointSet
        Constructs and returns a point set iterator. The default implementation returns an iterator that uses the method getCoordinate (i,j) to iterate over the points and coordinates, but subclasses can reimplement it for better efficiency.
        Overrides:
        iterator in class CycleBasedPointSet
        Returns:
        point set iterator for the point set
      • addRandomShift

        public void addRandomShift(int d1,                  int d2,                  RandomStream stream)
        Adds a random digital shift in base 2 to all the points of the point set, using stream stream to generate the random numbers, for coordinates d1 to d2 - 1. This applies a bitwise exclusive-or of all the points with a single random point.
        Overrides:
        addRandomShift in class CycleBasedPointSet
        stream - Stream used to generate random numbers
      • formatPoints

        public String formatPoints()
        Description copied from class: PointSet
        Same as invoking formatPoints(n, d) with n and d equal to the number of points and the dimension of this object, respectively.
        Overrides:
        formatPoints in class CycleBasedPointSet
        Returns:
        string representation of all the points in the point set

SCaVis 1.8 © jWork.org