SSJ
3.3.1
Stochastic Simulation in Java
|
This class implements point sets specified by integration lattices of rank. More...
Classes | |
class | Rank1LatticeIterator |
Public Member Functions | |
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 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... | |
Protected Member Functions | |
long | modPower (long a, int e, int m) |
double | radicalInverse (int base, int i) |
Protected Attributes | |
int [] | genAs |
double [] | v |
double | normFactor |
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... | |
Additional Inherited Members | |
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 point sets specified by integration lattices of rank.
\[ \mathbf{u}_i = (i/n)(a_0, a_1, …, a_{s-1}) \bmod1 \]
for \(i=0,…,n-1\). These \(n\) points are distinct provided that \(n\) and the \(a_j\)’s have no common factor.Rank1Lattice | ( | int | n, |
int [] | a, | ||
int | s | ||
) |
Instantiates a Rank1Lattice with \(n\) points and lattice vector \(a\) of dimension \(s\).
n | there are n points |
a | the lattice vector |
s | dimension of the lattice vector a |
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.
For each coordinate \(j\) from d1
to d2-1
, the shift \(d_j\) is generated uniformly over \([0, 1)\) and added modulo \(1\) to all the coordinates of all the points.
d1 | lower dimension of shift |
d2 | upper dimension of shift is d2 - 1 |
stream | random number stream used to generate uniforms |
int [] getAs | ( | ) |
Returns the generator \(a_j\) of the lattice.
(The original ones before they are reset to \(a_j \bmod n\)). Its components are returned as a[
\(j\)]
, for \(j = 0, 1, …, (s-1)\).
void setNumPoints | ( | int | n | ) |
Resets the number of points of the lattice to \(n\).
The dimension \(s\) and the \(a_j\) are unchanged.