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 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 the `extendSequence` method that increases the number of points of the digital sequence. Calling the methods `toNet` or `toNetShiftCj` will transform the digital sequence into a digital net, which has a fixed number of points n.

Constructor Summary
`DigitalSequence()`

Method Summary
`abstract void` | `extendSequence(int k)` Increases the number of points to n = bk from now on.
`PointSetIterator` | `iteratorShift()` Similar to `iterator`, 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.
`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.
`DigitalNet` | `toNet()` Transforms this digital sequence into a digital net without changing the coordinates of the points.
`DigitalNet` | `toNetShiftCj()` 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, leftMatrixScrambleRest, printGeneratorMatrices, resetGeneratorMatrices, rightMatrixScramble, stripedMatrixScramble, stripedMatrixScrambleFaurePermutAll, toString, unrandomize`

Methods inherited from class umontreal.iro.lecuyer.hups.PointSet
`addRandomShift, addRandomShift, formatPoints, formatPoints, getDimension, getNumPoints, getStream, randomize, randomize, randomize, randomize, randomize, setStream`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DigitalSequence

    public DigitalSequence()

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 to `iterator`, 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.

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.