SSJ
3.2.1
Stochastic Simulation in Java
|
Public Member Functions | |
KorobovLatticeSequence (int b, int a) | |
Constructs a new lattice sequence with base b and generator \( = a\). More... | |
double | getCoordinate (int i, int j) |
Public Member Functions inherited from KorobovLattice | |
KorobovLattice (int n, int a, int s) | |
Instantiates a Korobov lattice point set with modulus \(n\) and multiplier \(a\) in dimension \(s\). | |
KorobovLattice (int n, int a, int s, int t) | |
Instantiates a shifted Korobov lattice point set with modulus \(n\) and multiplier \(a\) in dimension \(s\). More... | |
void | setNumPoints (int n) |
Resets the number of points of the lattice to \(n\). More... | |
int | getA () |
Returns the multiplier \(a\) of the lattice. More... | |
String | toString () |
Public Member Functions inherited from Rank1Lattice | |
Rank1Lattice (int n, int[] a, int s) | |
Instantiates a Rank1Lattice with \(n\) points and lattice vector \(a\) of dimension \(s\). More... | |
void | setNumPoints (int n) |
Resets the number of points of the lattice to \(n\). More... | |
int [] | getAs () |
Returns the generator \(a_j\) of the lattice. More... | |
void | addRandomShift (int d1, int d2, RandomStream stream) |
Adds a random shift to all the points of the point set, using stream stream to generate the random numbers. More... | |
void | clearRandomShift () |
Clears the random shift. | |
String | toString () |
double | getCoordinate (int i, int j) |
PointSetIterator | iterator () |
Public Member Functions inherited from PointSet | |
int | getDimension () |
Returns the dimension (number of available coordinates) of the point set. 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 | setStream (RandomStream stream) |
Sets the random stream used to generate random shifts to stream . More... | |
RandomStream | getStream () |
Returns the random stream used to generate random shifts. More... | |
void | randomize (PointSetRandomization rand) |
Randomizes the point set using the given rand . More... | |
void | addRandomShift (int d1, int d2, RandomStream stream) |
This method does nothing for this generic class. More... | |
void | addRandomShift (RandomStream stream) |
This method does nothing for this generic class. More... | |
void | addRandomShift (int d1, int d2) |
Similar to addRandomShift(d1, d2, stream) , with the current random stream. | |
void | addRandomShift () |
Similar to addRandomShift(0, d2, stream) with the current random stream and d2 the dimension of the current random shift. | |
void | clearRandomShift () |
Erases the current random shift, if any. | |
void | randomize (int fromDim, int toDim, RandomStream stream) |
By default, this method simply calls addRandomShift (fromDim, toDim, stream) , which does nothing. | |
void | randomize (RandomStream stream) |
By default, this method simply calls randomize(0, dim, stream). | |
void | randomize (int d1, int d2) |
By default, this method simply calls addRandomShift(d1, d2) . | |
void | randomize () |
By default, this method simply calls addRandomShift() . | |
void | unrandomize () |
By default, this method simply calls clearRandomShift() . | |
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... | |
Package Attributes | |
int | base |
int | inverse |
int | n |
Additional Inherited Members | |
Protected Member Functions inherited from Rank1Lattice | |
long | modPower (long a, int e, int m) |
double | radicalInverse (int base, int i) |
Protected Attributes inherited from KorobovLattice | |
int | genA |
Protected Attributes inherited from Rank1Lattice | |
int [] | genAs |
double [] | v |
double | normFactor |
double [] | shift |
Protected Attributes inherited from PointSet | |
double | EpsilonHalf = 1.0 / Num.TWOEXP[55] |
int | dim = 0 |
int | numPoints = 0 |
int | dimShift = 0 |
int | capacityShift = 0 |
RandomStream | shiftStream |
Static Protected Attributes inherited from PointSet | |
static final int | MAXBITS = 31 |
This class implements Korobov lattice sequences, defined as follows. One selects a basis \(b\) and a (large) multiplier \(a\). For each integer \(k\ge0\), we may consider the \(n\)-point Korobov lattice with modulus \(n = b^k\) and multiplier \(\tilde{a} = a \bmod n\). Its points have the form
\[ \mathbf{u}_i = (a^i (1, a, a^2, …) \bmod n) / n = (\tilde{a}^i (1, \tilde{a}, \tilde{a}^2, …) \bmod n) / n \tag{Korobov-seq1} \]
for \(i=0,…,n-1\). For \(k = 0,1,…\), we have an increasing sequence of lattices contained in one another.
These embedded lattices contain an infinite sequence of points that can be enumerated as follows [78] :
\[ \mathbf{u}_i = \psi_b(i) \left(1, a, a^2, …\right) \bmod1. \tag{Korobov-seq2} \]
where \(\psi_b(i)\) is the radical inverse function in base \(b\), defined in RadicalInverse. The first \(n=b^k\) points in this sequence are exactly the same as the \(n\) points in ( Korobov-seq1 ), for each \(k\ge0\).
KorobovLatticeSequence | ( | int | b, |
int | a | ||
) |
Constructs a new lattice sequence with base b
and generator
\( = a\).
b | number of points (modulus) is a power of b |
a | multiplier \(a\) of this lattice sequence |