SSJ
3.3.1
Stochastic Simulation in Java
|
This class implements digital sequences constructed from the Niederreiter sequence in base 2. More...
Public Member Functions | |
NiedSequenceBase2 (int k, int w, int dim) | |
Constructs a new digital sequence in base 2 from the first \(n=2^k\) points of the Niederreiter sequence, with \(w\) output digits, in dim dimensions. More... | |
String | toString () |
void | extendSequence (int k) |
Public Member Functions inherited from DigitalSequenceBase2 | |
abstract void | extendSequence (int k) |
Increases the number of points to \(n = 2^k\) from now on. More... | |
DigitalNetBase2 | toNet () |
Transforms this digital sequence into a digital net without changing the coordinates of the points. More... | |
DigitalNetBase2 | toNetShiftCj () |
Transforms this digital sequence into a digital net by adding one dimension and shifting all coordinates by one position. More... | |
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 \(\mathbf{C}_0\), the next one via \(\mathbf{C}_1\), and so on. More... | |
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. More... | |
Public Member Functions inherited from DigitalNetBase2 | |
void | printGeneratorMatrices (int s) |
Prints the generator matrices as bit matrices in standard form for dimensions 1 to \(s\). More... | |
void | printGeneratorMatricesTrans (int s) |
Prints the generator matrices transposed in the form of integers for dimensions 1 to \(s\). More... | |
double | getCoordinate (int i, int j) |
double | getCoordinateNoGray (int i, int j) |
PointSetIterator | iterator () |
Returns a DigitalNetBase2Iterator which enumerates the points using a Gray code. | |
PointSetIterator | iteratorNoGray () |
This iterator does not use the Gray code. More... | |
String | toString () |
void | clearRandomShift () |
void | addRandomShift (int d1, int d2, RandomStream stream) |
void | addRandomShift (RandomStream stream) |
void | leftMatrixScramble (RandomStream stream) |
void | iBinomialMatrixScramble (RandomStream stream) |
void | stripedMatrixScramble (RandomStream stream) |
void | rightMatrixScramble (RandomStream stream) |
void | nestedUniformScramble (RandomStream stream, double[][] output) |
Same as nestedUniformScramble(stream, output, 0) . | |
void | nestedUniformScramble (RandomStream stream, double[][] output, int numBits) |
Apply Owen's nested uniform scrambling. More... | |
void | leftMatrixScrambleDiag (RandomStream stream) |
void | leftMatrixScrambleFaurePermut (RandomStream stream, int sb) |
void | leftMatrixScrambleFaurePermutDiag (RandomStream stream, int sb) |
void | leftMatrixScrambleFaurePermutAll (RandomStream stream, int sb) |
void | iBinomialMatrixScrambleFaurePermut (RandomStream stream, int sb) |
void | iBinomialMatrixScrambleFaurePermutDiag (RandomStream stream, int sb) |
void | iBinomialMatrixScrambleFaurePermutAll (RandomStream stream, int sb) |
void | stripedMatrixScrambleFaurePermutAll (RandomStream stream, int sb) |
Public Member Functions inherited from DigitalNet | |
DigitalNet () | |
Empty constructor. | |
double | getCoordinate (int i, int j) |
Returns \(u_{i',j}\), the coordinate \(j\) of point \(i'\), where \(i'\) is the Gray code for \(i\). More... | |
PointSetIterator | iterator () |
double | getCoordinateNoGray (int i, int j) |
Returns \(u_{i,j}\), the coordinate \(j\) of point \(i\), the points being enumerated in the standard order (no Gray code). More... | |
PointSetIterator | iteratorNoGray () |
Returns an iterator that does not use the Gray code. More... | |
void | addRandomShift (int d1, int d2, RandomStream stream) |
Generates a random digital shift for coordinates \(j\) from d1 to d2-1 , using stream to generate the random numbers. More... | |
void | addRandomShift (RandomStream stream) |
Same as addRandomShift(0, dim, stream), where dim is the dimension of the digital net. More... | |
void | clearRandomShift () |
Erases the current digital random shift, if any. | |
String | toString () |
Formats a string that contains information on this digital net. More... | |
void | leftMatrixScramble (RandomStream stream) |
Applies a linear scramble by multiplying each \(\mathbf{C}_j\) on the left by a \(w\times w\) nonsingular lower-triangular matrix. More... | |
void | leftMatrixScrambleDiag (RandomStream stream) |
Similar to leftMatrixScramble except that all the off-diagonal elements of the \(\mathbf{M}_j\) are 0. More... | |
void | leftMatrixScrambleFaurePermut (RandomStream stream, int sb) |
Similar to leftMatrixScramble except that the diagonal elements of each matrix \(\mathbf{M}_j\) are chosen from a restricted set of the best integers as calculated by Faure [59] . More... | |
void | leftMatrixScrambleFaurePermutDiag (RandomStream stream, int sb) |
Similar to leftMatrixScrambleFaurePermut except that all off-diagonal elements are 0. More... | |
void | leftMatrixScrambleFaurePermutAll (RandomStream stream, int sb) |
Similar to leftMatrixScrambleFaurePermut except that the elements under the diagonal are also chosen from the same restricted set as the diagonal elements. More... | |
void | iBinomialMatrixScramble (RandomStream stream) |
Applies the \(i\)-binomial matrix scramble proposed by Tezuka. More... | |
void | iBinomialMatrixScrambleFaurePermut (RandomStream stream, int sb) |
Similar to iBinomialMatrixScramble except that the diagonal elements of each matrix \(\mathbf{M}_j\) are chosen as in leftMatrixScrambleFaurePermut. More... | |
void | iBinomialMatrixScrambleFaurePermutDiag (RandomStream stream, int sb) |
Similar to iBinomialMatrixScrambleFaurePermut except that all the off-diagonal elements are 0. More... | |
void | iBinomialMatrixScrambleFaurePermutAll (RandomStream stream, int sb) |
Similar to iBinomialMatrixScrambleFaurePermut except that the elements under the diagonal are also chosen from the same restricted set as the diagonal elements. More... | |
void | stripedMatrixScramble (RandomStream stream) |
Applies the striped matrix scramble proposed by Owen. More... | |
void | stripedMatrixScrambleFaurePermutAll (RandomStream stream, int sb) |
Similar to stripedMatrixScramble except that the elements on and under the diagonal of each matrix \(\mathbf{M}_j\) are chosen as in leftMatrixScrambleFaurePermut. More... | |
void | rightMatrixScramble (RandomStream stream) |
Applies a linear scramble by multiplying each \(\mathbf{C}_j\) on the right by a single \(k\times k\) nonsingular upper-triangular matrix \(\mathbf{M}\), as suggested by Faure and Tezuka. More... | |
void | unrandomize () |
Restores the original generator matrices and removes the random shift. | |
void | resetGeneratorMatrices () |
Restores the original generator matrices. More... | |
void | eraseOriginalGeneratorMatrices () |
Erases the original generator matrices and replaces them by the current ones. More... | |
void | printGeneratorMatrices (int s) |
Prints the generator matrices in standard form for dimensions 1 to \(s\). | |
Public Member Functions inherited from PointSet | |
int | getDimension () |
Returns the dimension (number of available coordinates) of the points. More... | |
int | getNumPoints () |
Returns the number of points. More... | |
abstract double | getCoordinate (int i, int j) |
Returns \(u_{i,j}\), the coordinate \(j\) of the point \(i\). More... | |
PointSetIterator | iterator () |
Constructs and returns a point set iterator. More... | |
void | randomize (PointSetRandomization rand) |
Randomizes this point set using the given rand . More... | |
void | addRandomShift (int d1, int d2, RandomStream stream) |
By default, this method generates a random shift in the protected double[] array shift , to be used eventually for a random shift modulo 1. More... | |
void | addRandomShift (RandomStream stream) |
Same as addRandomShift(0, dim, stream), where dim is the dimension of the point set. More... | |
void | addRandomShift (int d1, int d2) |
Refreshes the random shift (generates new uniform values for the random shift coordinates) for coordinates d1 to d2-1 , using the saved shiftStream . | |
void | addRandomShift () |
Same as addRandomShift(0, dim), where dim is the dimension of the point set. | |
void | clearRandomShift () |
Erases the current random shift, if any. | |
String | toString () |
Formats a string that contains information about the point set. More... | |
String | formatPoints () |
Same as invoking formatPoints(n, d) with \(n\) and \(d\) equal to the number of points and the dimension of this object, respectively. More... | |
String | formatPoints (int n, int d) |
Formats a string that displays the same information as returned by toString, together with the first \(d\) coordinates of the first \(n\) points. More... | |
String | formatPoints (PointSetIterator iter) |
Same as invoking formatPoints(iter, n, d) with \(n\) and \(d\) equal to the number of points and the dimension, respectively. More... | |
String | formatPoints (PointSetIterator iter, int n, int d) |
Same as invoking formatPoints(n, d), but prints the points by calling iter repeatedly. More... | |
String | formatPointsBase (int b) |
Similar to formatPoints(), but the points coordinates are printed in base \(b\). More... | |
String | formatPointsBase (int n, int d, int b) |
Similar to formatPoints(n, d), but the points coordinates are printed in base \(b\). More... | |
String | formatPointsBase (PointSetIterator iter, int b) |
Similar to formatPoints(iter), but the points coordinates are printed in base \(b\). More... | |
String | formatPointsBase (PointSetIterator iter, int n, int d, int b) |
Similar to formatPoints(iter, n, d), but the points coordinates are printed in base \(b\). More... | |
String | formatPointsNumbered () |
Same as invoking formatPointsNumbered(n, d) with \(n\) and \(d\) equal to the number of points and the dimension, respectively. More... | |
String | formatPointsNumbered (int n, int d) |
Same as invoking formatPoints(n,d), except that the points are numbered. More... | |
Static Package Functions | |
[static initializer] | |
Additional Inherited Members | |
Protected Member Functions inherited from DigitalNet | |
void | printMat (int N, int[][][] A, String name) |
void | printMat0 (int[][] A, String name) |
int | intToDigitsGray (int b, int i, int numDigits, int[] bary, int[] gray) |
Protected Attributes inherited from DigitalNetBase2 | |
int [] | genMat |
int [] | digitalShift |
Protected Attributes inherited from DigitalNet | |
int | b = 0 |
int | numCols = 0 |
int | numRows = 0 |
int | outDigits = 0 |
int [][] | genMat |
int [][] | digitalShift |
double | normFactor |
double [] | factor |
Protected Attributes inherited from PointSet | |
double | EpsilonHalf = 1.0 / Num.TWOEXP[55] |
To avoid 0 for nextCoordinate when random shifting, we add this to each coordinate. | |
int | dim = 0 |
Dimension of the points. | |
int | numPoints = 0 |
Number of points. | |
int | dimShift = 0 |
Current dimension of the shift. More... | |
int | capacityShift = 0 |
Number of array elements in the shift vector, always >= dimShift. | |
double [] | shift |
This is the shift vector as a double[] array, which contains the current random shift in case we apply a random shift modulo 1. More... | |
RandomStream | shiftStream |
Stream used to generate the random shifts. More... | |
Static Protected Attributes inherited from PointSet | |
static final int | MAXBITS = 31 |
Since Java has no unsigned type, the 32nd bit cannot be used efficiently, so we have only 31 bits. More... | |
This class implements digital sequences constructed from the Niederreiter sequence in base 2.
For details on these point sets, see [26] .
NiedSequenceBase2 | ( | int | k, |
int | w, | ||
int | dim | ||
) |
Constructs a new digital sequence in base 2 from the first \(n=2^k\) points of the Niederreiter sequence, with \(w\) output digits, in dim
dimensions.
The generator matrices \(\mathbf{C}_j\) are \(w\times k\). Restrictions: \(0\le k\le30\), \(k\le w\), and dim
\(\le318\).
k | there will be 2^k points |
w | number of output digits |
dim | dimension of the point set |