SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
umontreal.ssj.hups.ContainerPointSet Class Referenceabstract

This acts as a generic base class for all container classes that contain a point set and apply a specific kind of transformation to the coordinates \(u_{i,j}\) when the points are generated by the iterator. More...

Inheritance diagram for umontreal.ssj.hups.ContainerPointSet:
umontreal.ssj.hups.PointSet umontreal.ssj.hups.AntitheticPointSet umontreal.ssj.hups.BakerTransformedPointSet umontreal.ssj.hups.RandShiftedMod1PointSet

Classes

class  ContainerPointSetIterator

Public Member Functions

PointSet getOriginalPointSet ()
 Returns the (untransformed) point set contained in this container.
int getDimension ()
 Returns the dimension of the contained point set.
int getNumPoints ()
 Returns the number of points in the contained point set.
double getCoordinate (int i, int j)
 By default, returns the untransformed coordinate \(u_{i,j}\) for the contained point set.
PointSetIterator iterator ()
 Return an iterator for this ContainerPointSet.
void randomize (PointSetRandomization rand)
 Randomizes the contained point set using rand.
void addRandomShift (int d1, int d2, RandomStream stream)
 Calls addRandomShift(d1, d2, stream) of the contained point set.
void addRandomShift (RandomStream stream)
 Calls addRandomShift(stream) of the contained point set.
void clearRandomShift ()
 Calls clearRandomShift() of the contained point set.
String toString ()
 Formats a string that contains information about the point set.
Public Member Functions inherited from umontreal.ssj.hups.PointSet
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.

Protected Member Functions

void init (PointSet p0)
 Initializes this container point set so that it will contain the point set p0.

Additional Inherited Members

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.

Detailed Description

This acts as a generic base class for all container classes that contain a point set and apply a specific kind of transformation to the coordinates \(u_{i,j}\) when the points are generated by the iterator.

One example of such transformation is the antithetic map, applied by the container class AntitheticPointSet, where each output coordinate \(u_{i,j}\) is transformed into \(1-u_{i,j}\). Another example is RandShiftedMod1PointSet, which applies a random shift modulo 1 (the same shift) to all the points. Thus, the transformation can be deterministic in some cases, and in other cases it may implement a randomization.

The PointSetIterator implemented in this ContainerPointSet class contains itself an iterator for the contained point set and uses it to access the points and coordinates internally, instead of maintaining itself indices for the current point and current coordinate. It gets the coordinates \(u_{i,j}\) from the internal iterator, applies the appropriate transformation, and returns the transformed coordinates.

Definition at line 51 of file ContainerPointSet.java.

Member Function Documentation

◆ addRandomShift() [1/2]

void umontreal.ssj.hups.ContainerPointSet.addRandomShift ( int d1,
int d2,
RandomStream stream )

Calls addRandomShift(d1, d2, stream) of the contained point set.

Parameters
d1lower dimension of the random shift
d2upper dimension of the random shift
streamthe random stream

Reimplemented from umontreal.ssj.hups.PointSet.

Reimplemented in umontreal.ssj.hups.RandShiftedMod1PointSet.

Definition at line 130 of file ContainerPointSet.java.

◆ addRandomShift() [2/2]

void umontreal.ssj.hups.ContainerPointSet.addRandomShift ( RandomStream stream)

Calls addRandomShift(stream) of the contained point set.

Parameters
streamthe random stream

Reimplemented from umontreal.ssj.hups.PointSet.

Reimplemented in umontreal.ssj.hups.RandShiftedMod1PointSet.

Definition at line 139 of file ContainerPointSet.java.

◆ clearRandomShift()

void umontreal.ssj.hups.ContainerPointSet.clearRandomShift ( )

Calls clearRandomShift() of the contained point set.

Reimplemented from umontreal.ssj.hups.PointSet.

Definition at line 146 of file ContainerPointSet.java.

◆ getCoordinate()

double umontreal.ssj.hups.ContainerPointSet.getCoordinate ( int i,
int j )

By default, returns the untransformed coordinate \(u_{i,j}\) for the contained point set.

Returns
\(u_{i,j}\) for the contained point set

Reimplemented from umontreal.ssj.hups.PointSet.

Reimplemented in umontreal.ssj.hups.AntitheticPointSet, umontreal.ssj.hups.BakerTransformedPointSet, and umontreal.ssj.hups.RandShiftedMod1PointSet.

Definition at line 100 of file ContainerPointSet.java.

◆ getDimension()

int umontreal.ssj.hups.ContainerPointSet.getDimension ( )

Returns the dimension of the contained point set.

Returns
the dimension of the contained point set

Reimplemented from umontreal.ssj.hups.PointSet.

Definition at line 81 of file ContainerPointSet.java.

◆ getNumPoints()

int umontreal.ssj.hups.ContainerPointSet.getNumPoints ( )

Returns the number of points in the contained point set.

Returns
the number of points in the contained point set

Reimplemented from umontreal.ssj.hups.PointSet.

Definition at line 90 of file ContainerPointSet.java.

◆ getOriginalPointSet()

PointSet umontreal.ssj.hups.ContainerPointSet.getOriginalPointSet ( )

Returns the (untransformed) point set contained in this container.

Returns
the point set inside this container

Definition at line 72 of file ContainerPointSet.java.

◆ init()

void umontreal.ssj.hups.ContainerPointSet.init ( PointSet p0)
protected

Initializes this container point set so that it will contain the point set p0.

This method must be called by the constructor of any subclass of the present abstract class.

Parameters
p0contained point set

Definition at line 61 of file ContainerPointSet.java.

◆ iterator()

PointSetIterator umontreal.ssj.hups.ContainerPointSet.iterator ( )

◆ randomize()

void umontreal.ssj.hups.ContainerPointSet.randomize ( PointSetRandomization rand)

Randomizes the contained point set using rand.

Parameters
randPointSetRandomization to use

Reimplemented from umontreal.ssj.hups.PointSet.

Definition at line 119 of file ContainerPointSet.java.

◆ toString()

String umontreal.ssj.hups.ContainerPointSet.toString ( )

Formats a string that contains information about the point set.

Returns
string representation of the point set information

Reimplemented from umontreal.ssj.hups.PointSet.

Reimplemented in umontreal.ssj.hups.AntitheticPointSet, umontreal.ssj.hups.BakerTransformedPointSet, and umontreal.ssj.hups.RandShiftedMod1PointSet.

Definition at line 150 of file ContainerPointSet.java.


The documentation for this class was generated from the following file: