umontreal.iro.lecuyer.hups
Class CycleBasedPointSetBase2
- java.lang.Object
-
- umontreal.iro.lecuyer.hups.PointSet
-
- umontreal.iro.lecuyer.hups.CycleBasedPointSet
-
- umontreal.iro.lecuyer.hups.CycleBasedPointSetBase2
-
- Direct Known Subclasses:
- F2wCycleBasedLFSR, F2wCycleBasedPolyLCG
public abstract class CycleBasedPointSetBase2 extends CycleBasedPointSet
Similar toCycleBasedPointSet, 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description classCycleBasedPointSetBase2.CycleBasedPointSetBase2Iterator-
Nested classes/interfaces inherited from class umontreal.iro.lecuyer.hups.CycleBasedPointSet
CycleBasedPointSet.CycleBasedPointSetIterator
-
-
Constructor Summary
Constructors Constructor and Description CycleBasedPointSetBase2()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddRandomShift(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.voidclearRandomShift()Erases the current random shift, if any.java.lang.StringformatPoints()Same as invokingformatPoints(n, d) with n and d equal to the number of points and the dimension of this object, respectively.doublegetCoordinate(int i, int j)Returns ui, j, the coordinate j of the point i.PointSetIteratoriterator()Constructs and returns a point set iterator.-
Methods inherited from class umontreal.iro.lecuyer.hups.CycleBasedPointSet
getDimension, toString
-
Methods inherited from class umontreal.iro.lecuyer.hups.PointSet
addRandomShift, addRandomShift, addRandomShift, formatPoints, formatPoints, formatPoints, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsNumbered, formatPointsNumbered, getNumPoints, getStream, randomize, randomize, randomize, randomize, randomize, setStream, unrandomize
-
-
-
-
Method Detail
-
getCoordinate
public double getCoordinate(int i, int j)Description copied from class:PointSetReturns ui, j, the coordinate j of the point i.- Overrides:
getCoordinatein classCycleBasedPointSet- Parameters:
i- index of the point to look forj- index of the coordinate to look for- Returns:
- the value of ui, j
-
iterator
public PointSetIterator iterator()
Description copied from class:PointSetConstructs and returns a point set iterator. The default implementation returns an iterator that uses the methodgetCoordinate(i,j) to iterate over the points and coordinates, but subclasses can reimplement it for better efficiency.- Overrides:
iteratorin classCycleBasedPointSet- 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:
addRandomShiftin classCycleBasedPointSetstream- Stream used to generate random numbers
-
clearRandomShift
public void clearRandomShift()
Description copied from class:PointSetErases the current random shift, if any.- Overrides:
clearRandomShiftin classCycleBasedPointSet
-
formatPoints
public java.lang.String formatPoints()
Description copied from class:PointSetSame as invokingformatPoints(n, d) with n and d equal to the number of points and the dimension of this object, respectively.- Overrides:
formatPointsin classCycleBasedPointSet- Returns:
- string representation of all the points in the point set
-
-
DMelt 3.0 © DataMelt by jWork.ORG