SSJ  3.3.1
Stochastic Simulation in Java
Classes | Public Member Functions | Protected Attributes | List of all members
RandShiftedMod1PointSet Class Reference

This container class embodies an arbitrary point set and its iterator adds a random shift modulo 1 to all the points, when producing the coordinates. More...

Inheritance diagram for RandShiftedMod1PointSet:
[legend]
Collaboration diagram for RandShiftedMod1PointSet:
[legend]

Public Member Functions

 RandShiftedMod1PointSet (PointSet p, int dimShift, RandomStream stream)
 Constructs a structure to contain a randomly shifted version of p. More...
 
int getShiftDimension ()
 Returns the number of dimensions of the current random shift.
 
void addRandomShift (int d1, int d2, RandomStream stream)
 Changes the stream used for the random shifts to stream, then refreshes the shift for coordinates d1 to d2-1. More...
 
void addRandomShift (RandomStream stream)
 Changes the stream used for the random shifts to stream, then refreshes all coordinates of the random shift, up to its current dimension.
 
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.
 
void addRandomShift ()
 Refreshes all coordinates of the random shift, up to its current dimension.
 
double getCoordinate (int i, int j)
 Returns the shifted coordinate \(u_{i,j}\).
 
String toString ()
 
PointSetIterator iterator ()
 Returns a RandShiftedMod1PointSetIterator for this point set.
 
- Public Member Functions inherited from ContainerPointSet
PointSet getOriginalPointSet ()
 Returns the (untransformed) point set contained in this container. More...
 
int getDimension ()
 Returns the dimension of the contained point set. More...
 
int getNumPoints ()
 Returns the number of points in the contained point set. More...
 
double getCoordinate (int i, int j)
 By default, returns the untransformed coordinate \(u_{i,j}\) for the contained point set. More...
 
PointSetIterator iterator ()
 Return an iterator for this ContainerPointSet. More...
 
void randomize (PointSetRandomization rand)
 Randomizes the contained point set using rand. More...
 
void addRandomShift (int d1, int d2, RandomStream stream)
 Calls addRandomShift(d1, d2, stream) of the contained point set. More...
 
void addRandomShift (RandomStream stream)
 Calls addRandomShift(stream) of the contained point set. More...
 
void clearRandomShift ()
 Calls clearRandomShift() of the contained point set.
 
String toString ()
 
- 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 Attributes

double [] shift
 
- Protected Attributes inherited from ContainerPointSet
PointSet P
 
- 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

- Protected Member Functions inherited from ContainerPointSet
void init (PointSet p0)
 Initializes this container point set so that it will contain the point set p0. More...
 
- 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...
 

Detailed Description

This container class embodies an arbitrary point set and its iterator adds a random shift modulo 1 to all the points, when producing the coordinates.

The random shift modulo 1 is the same for all the points. This can be used for example to apply a random shift modulo 1 to a DigitalNet, for which a RandomShift would normally perform a random digital shift. Here, calling addRandomShift generates a new random shift, represented by a vector of \(d\) uniforms over \((0,1)\), where \(d\) is the current dimension of the shift. Then, an iterator for this point set will enumerate the points of the contained point set and apply this random shift modulo 1 to each of them.

Constructor & Destructor Documentation

◆ RandShiftedMod1PointSet()

RandShiftedMod1PointSet ( PointSet  p,
int  dimShift,
RandomStream  stream 
)

Constructs a structure to contain a randomly shifted version of p.

The random shifts will be generated in up to dimShift dimensions, using stream stream.

Parameters
ppoint set being randomized
dimShiftdimension of the initial shift
streamstream used for generating random shifts

Member Function Documentation

◆ addRandomShift()

void addRandomShift ( int  d1,
int  d2,
RandomStream  stream 
)

Changes the stream used for the random shifts to stream, then refreshes the shift for coordinates d1 to d2-1.

Remarks
Richard: Il y a 4 méthodes addRandomShift. Peut-être faudrait-il en éliminer 2, comme dans PointSet.

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