umontreal.iro.lecuyer.hups
Class DigitalSequence
- java.lang.Object
-
- umontreal.iro.lecuyer.hups.PointSet
-
- umontreal.iro.lecuyer.hups.DigitalNet
-
- umontreal.iro.lecuyer.hups.DigitalSequence
-
- Direct Known Subclasses:
- FaureSequence
public abstract class DigitalSequence extends DigitalNet
This abstract class describes methods specific to digital sequences. Concrete classes must implement theextendSequencemethod that increases the number of points of the digital sequence. Calling the methodstoNetortoNetShiftCjwill transform the digital sequence into a digital net, which has a fixed number of points n.
-
-
Constructor Summary
Constructors Constructor and Description DigitalSequence()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description abstract voidextendSequence(int k)Increases the number of points to n = bk from now on.PointSetIteratoriteratorShift()Similar toiterator, except that the first coordinate of the points is i/n, the second coordinate is obtained via the generating matrix C0, the next one via C1, and so on.PointSetIteratoriteratorShiftNoGray()This iterator shifts all coordinates of each point one position to the right and sets the first coordinate of point i to i/n, so that the points enumerated with this iterator have one more dimension.DigitalNettoNet()Transforms this digital sequence into a digital net without changing the coordinates of the points.DigitalNettoNetShiftCj()Transforms this digital sequence into a digital net by adding one dimension and shifting all coordinates by one position.-
Methods inherited from class umontreal.iro.lecuyer.hups.DigitalNet
addRandomShift, addRandomShift, clearRandomShift, eraseOriginalGeneratorMatrices, getCoordinate, getCoordinateNoGray, iBinomialMatrixScramble, iBinomialMatrixScrambleFaurePermut, iBinomialMatrixScrambleFaurePermutAll, iBinomialMatrixScrambleFaurePermutDiag, iterator, iteratorNoGray, leftMatrixScramble, leftMatrixScrambleDiag, leftMatrixScrambleFaurePermut, leftMatrixScrambleFaurePermutAll, leftMatrixScrambleFaurePermutDiag, printGeneratorMatrices, resetGeneratorMatrices, rightMatrixScramble, stripedMatrixScramble, stripedMatrixScrambleFaurePermutAll, toString, unrandomize
-
Methods inherited from class umontreal.iro.lecuyer.hups.PointSet
addRandomShift, addRandomShift, formatPoints, formatPoints, formatPoints, formatPoints, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsNumbered, formatPointsNumbered, getDimension, getNumPoints, getStream, randomize, randomize, randomize, randomize, randomize, setStream
-
-
-
-
Method Detail
-
extendSequence
public abstract void extendSequence(int k)
Increases the number of points to n = bk from now on.- Parameters:
k- there will be b^k points
-
toNet
public DigitalNet toNet()
Transforms this digital sequence into a digital net without changing the coordinates of the points. Returns the digital net.
-
toNetShiftCj
public DigitalNet toNetShiftCj()
Transforms this digital sequence into a digital net by adding one dimension and shifting all coordinates by one position. The first coordinate of point i is i/n, where n is the total number of points. Thus if the coordinates of a point of the digital sequence were (x0, x1, x2,…, xs-1), then the coordinates of the point of the digital net will be (i/n, x0, x1,…, xs-1). In other words, for the digital net, C0 is the reflected identity and for j >= 1, the Cj used is the Cj-1 of the digital sequence. If the digital sequence uses a digital shift, then the digital net will include the digital shift with one more dimension also. Returns the digital net.
-
iteratorShift
public PointSetIterator iteratorShift()
Similar toiterator, except that the first coordinate of the points is i/n, the second coordinate is obtained via the generating matrix C0, the next one via C1, and so on. Thus, this iterator shifts all coordinates of each point one position to the right and sets the first coordinate of point i to i/n, so that the points enumerated with this iterator have one more dimension. A digital shift, if present, will have one more dimension also. This iterator uses the Gray code.
-
iteratorShiftNoGray
public PointSetIterator iteratorShiftNoGray()
This iterator shifts all coordinates of each point one position to the right and sets the first coordinate of point i to i/n, so that the points enumerated with this iterator have one more dimension. This iterator does not use the Gray code; the points are enumerated in the order of their first coordinate before randomization. A digital shift, if present, will have one more dimension also.
-
-
DMelt 3.0 © DataMelt by jWork.ORG