Class for the construction of digital nets. More...
Additional Inherited Members | |
| Public Member Functions inherited from umontreal.ssj.hups.DigitalNetBase2 | |
| double | getCoordinate (int i, int j) |
| Returns \(u_{i',j}\), the coordinate \(j\) of point \(i'\), where \(i'\) is the Gray code for \(i\). | |
| 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). | |
| PointSetIterator | iterator () |
| Returns a DigitalNetBase2Iterator which enumerates the points using a Gray code. | |
| PointSetIterator | iteratorNoGray () |
| This iterator does not use the Gray code. | |
| String | toString () |
| Formats a string that contains information on this digital net. | |
| 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. | |
| void | addRandomShift (RandomStream stream) |
Same as addRandomShift(0, dim, stream), where dim is the dimension of the digital net. | |
| void | clearRandomShift () |
| Erases the current digital random shift, if any. | |
| void | leftMatrixScramble (int r, RandomStream stream) |
| This is a version of LMS in which each column of the lower-triangular scrambling matrix is represented as an integer less than 2^w, just like for Cj. | |
| void | leftMatrixScramble (RandomStream stream) |
| By default, the matrices L_j have r = w rows. | |
| void | iBinomialMatrixScramble (RandomStream stream) |
| Similar to leftMatrixScramble, except that all entries on any given diagonal or subdiagonal of any given \(\mathbf{M}_j\) are identical. | |
| void | stripedMatrixScramble (RandomStream stream) |
| Applies the striped matrix scramble proposed by Owen. | |
| 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. | |
| void | nestedUniformScramble (RandomStream stream, double[][] output) |
| Same as nestedUniformScramble(stream, output, 0) . | |
| void | nestedUniformScramble (RandomStream stream, double[][] output, int numBits) |
| Applies Owen's nested uniform scrambling to the digital net and returns the scrambled points in the two-dimensional array output. | |
| void | nestedUniformScramble (RandomStream stream, int[][] output, int numBits) |
| Same as nestedUniformScramble(RandomStream,double[][],int), but it returns the points as integers from 0 to 2^outDigits - 1, instead of doubles. | |
| void | leftMatrixScrambleDiag (RandomStream stream) |
| Similar to leftMatrixScramble except that all the off-diagonal elements of the \(\mathbf{M}_j\) are 0. | |
| 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 [58] . | |
| void | leftMatrixScrambleFaurePermutDiag (RandomStream stream, int sb) |
| Similar to leftMatrixScrambleFaurePermut except that all off-diagonal elements are 0. | |
| 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. | |
| 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. | |
| void | iBinomialMatrixScrambleFaurePermutDiag (RandomStream stream, int sb) |
| Similar to iBinomialMatrixScrambleFaurePermut except that all the off-diagonal elements are 0. | |
| 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. | |
| 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. | |
| void | unrandomize () |
| Restores the original generator matrices and removes the random shift. | |
| void | resetGenMatrices () |
| Restores genMat to the original generator matrices. | |
| void | eraseOriginalGenMatrices () |
| Erases the original generator matrices and replaces them by the current ones. | |
| int[][][] | genMatricesToBitByBitFormat () |
| Returns the generator matrices as a 3-dimensional array of shape dim x numRows x numCols integers, one integer for each bit. | |
| void | genMatricesFromBitByBitFormat (int[][][] matrices) |
| Reverse of the previous function. | |
| void | printGeneratorMatrices (int s) |
| Prints the generating matrices bit by bit for dimensions 1 to \(s\). | |
| void | printGenMatrices (int s) |
| Prints the generating matrices in the standard format, one integer per column, for dimensions 1 to \(s\). | |
| void | printOriginalMatrices (int s) |
| Prints the generating matrices in the standard format, one integer per column, for dimensions 1 to \(s\). | |
| int[] | getGenMatrices () |
| Returns a copy of the generator matrices for dimensions 1 to \(s\). | |
| void | outputInterlace (int[][] points, double[][] interlacedPoints) |
| Interlaces the points from a digital net. | |
| DigitalNetBase2 | matrixInterlace () |
| Interlaces the matrices from a digital net. | |
| Public Member Functions inherited from umontreal.ssj.hups.DigitalNet | |
| DigitalNet () | |
| Empty constructor. | |
| int | getInterlacing () |
| Returns the interlacing factor. | |
| void | setInterlacing (int interlacing) |
| Sets the interlacing factor. | |
| void | resetGeneratorMatrices () |
| Restores the original generator matrices. | |
| void | eraseOriginalGeneratorMatrices () |
| Erases the original generator matrices and replaces them by the current ones. | |
| Public Member Functions inherited from umontreal.ssj.hups.PointSet | |
| int | getDimension () |
| Returns the dimension (number of available coordinates) of the points. | |
| int | getNumPoints () |
| Returns the number of points. | |
| void | randomize (PointSetRandomization rand) |
| Randomizes this point set using the given rand. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| String | formatPoints (PointSetIterator iter, int n, int d) |
Same as invoking formatPoints(n, d), but prints the points by calling iter repeatedly. | |
| String | formatPointsBase (int b) |
Similar to formatPoints(), but the points coordinates are printed in base \(b\). | |
| String | formatPointsBase (int n, int d, int b) |
Similar to formatPoints(n, d), but the points coordinates are printed in base \(b\). | |
| String | formatPointsBase (PointSetIterator iter, int b) |
Similar to formatPoints(iter), but the points coordinates are printed in base. | |
| 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\). | |
| String | formatPointsNumbered () |
Same as invoking formatPointsNumbered(n, d) with \(n\) and \(d\) equal to the number of points and the dimension, respectively. | |
| String | formatPointsNumbered (int n, int d) |
Same as invoking formatPoints(n,d), except that the points are numbered. | |
| Static Public Member Functions inherited from umontreal.ssj.hups.PointSet | |
| static int | getMaxBits () |
| Returns the maximum number of usable bits. | |
| Protected Attributes inherited from umontreal.ssj.hups.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. | |
| 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. | |
| RandomStream | shiftStream |
| Stream used to generate the random shifts. | |
| Static Protected Attributes inherited from umontreal.ssj.hups.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. | |
Class for the construction of digital nets.
Definition at line 39 of file DigitalNetSearch.java.