SSJ
3.2.1
Stochastic Simulation in Java
|
Implements Latin Hypercube Sampling (LHS) with \(n\) points in the \(s\)-dimensional unit hypercube. More...
Public Member Functions | |
LatinHypercube (int n, int dim) | |
Constructs the structure for a Latin hypercube with n points in dim dimensions. More... | |
void | randomize (RandomStream stream) |
This randomization generates a random LHS point set. More... | |
void | addRandomShift (int fromDim, int toDim, RandomStream stream) |
Random shifts and partial randomizations are irrelevant here, so this method is redefined to be equivalent to randomize (stream) . More... | |
void | randomize (PointSetRandomization rand) |
Randomizes the points using LHS, regardless of what rand is. More... | |
String | toString () |
Public Member Functions inherited from CachedPointSet | |
CachedPointSet (PointSet P, int fromPoint, int toPoint, int fromDim, int toDim) | |
Creates a new PointSet object that contains an array storing the coordinates fromDim (inclusive) to toDim (exclusive) of the points numbered fromPoint (inclusive) to toPoint (exclusive) of P . More... | |
CachedPointSet (PointSet P, int n, int dim) | |
Same as CachedPointSet(P, 0, n, 0, dim). | |
CachedPointSet (PointSet P) | |
Creates a new PointSet object that contains an array storing the points of P . More... | |
PointSetIterator | iterator () |
Constructs and returns a point set iterator which gets the values directly from the array. | |
void | setRandomizeParent (boolean randomizeParent) |
If randomizeParent is true , calls to randomize() will be defered to the parent point set (this is the default); otherwise, the randomize method of the PointSetRandomization instance is invoked with this CachedPointSet instance as its argument. | |
void | addRandomShift (int d1, int d2, RandomStream stream) |
Add the shift to the contained point set and re-caches the points. More... | |
void | randomize (PointSetRandomization rand) |
Randomizes the underlying point set using rand and re-caches the points. More... | |
void | sortByCoordinate (int j) |
Sorts the cached points by increasing order of coordinate j . More... | |
void | stripCoordinates (int d) |
Removes the first d coordinates of each cached point. More... | |
String | toString () |
double | getCoordinate (int i, int j) |
double [][] | getArray () |
PointSet | getParentPointSet () |
Returns the reference point set that was passed to the constructor. | |
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... | |
Protected Attributes | |
double | delta |
Protected Attributes inherited from CachedPointSet | |
PointSet | P |
double | x [][] |
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 |
Additional Inherited Members | |
Protected Member Functions inherited from CachedPointSet | |
void | fillCache (int fromDim, int dim) |
Static Protected Attributes inherited from PointSet | |
static final int | MAXBITS = 31 |
Package Functions inherited from CachedPointSet | |
public< T > void | sort (MultiDimSort< T > sort) |
Sorts the cached points (only) with the given umontreal.ssj.util.MultiDimSort sorting algorithm sort . More... | |
Package Attributes inherited from CachedPointSet | |
int | fromPoint = 0 |
int | fromDim = 0 |
boolean | randomizeParent = true |
Implements Latin Hypercube Sampling (LHS) with \(n\) points in the \(s\)-dimensional unit hypercube.
Each axis of the hypercube is divided into \(n\) intervals of length \(1/n\). The randomized point set has the property that for each coordinate \(j\), there is exactly one point with coordinate \(j\) in each interval on length \(1/n\).
To generate the points, for each coordinate \(j\) we generate a random permutation \(\pi_j\) of the \(n\) intervals. Then, for point \(i\), we generate coordinate \(j\) randomly uniformly in the interval number \(\pi_j(i)\). The points are enumerated by order of their first coordinate.
LatinHypercube | ( | int | n, |
int | dim | ||
) |
Constructs the structure for a Latin hypercube with n
points in dim
dimensions.
n | number of points |
dim | dimension of the points set |
void addRandomShift | ( | int | fromDim, |
int | toDim, | ||
RandomStream | stream | ||
) |
Random shifts and partial randomizations are irrelevant here, so this method is redefined to be equivalent to randomize (stream)
.
The parameters fromDim
and toDim
are not used.
void randomize | ( | RandomStream | stream | ) |
This randomization generates a random LHS point set.
The points are sorted by their first coordinate. The LHS points are defined only after this method has been called.
stream | Random stream to generate the permutations and the random points in the intervals |
void randomize | ( | PointSetRandomization | rand | ) |
Randomizes the points using LHS, regardless of what rand
is.
Equivalent to randomize (rand.getStream)
.