umontreal.iro.lecuyer.hups
Class PaddedPointSet
- java.lang.Object
-
- umontreal.iro.lecuyer.hups.PointSet
-
- umontreal.iro.lecuyer.hups.PaddedPointSet
-
public class PaddedPointSet extends PointSet
This container class realizes padded point sets, constructed by taking some coordinates from a point set P1, other coordinates from a point set P2, and so on. This can be used to implement latin supercube sampling, for example. After calling the constructor to create the structure, component point sets can be padded to it by callingpadPointSetorpadPointSetPermute.Only sets with the same number of points can be padded. Point sets with too many points or coordinates can be trimmed down by using the class
SubsetOfPointSetbefore they are padded. Infinite-dimensional point sets are allowed, but once one is padded, no additional point set can be padded.The points of each padded set can be permuted randomly, independently across the padded sets. If such a random permutation is desired, the point set should be padded via
padPointSetPermute. When callingrandomize, random permutations are generated for all point sets that have been padded bypadPointSetPermute.
-
-
Constructor Summary
Constructors Constructor and Description PaddedPointSet(int maxPointSets)Constructs a structure for padding at most maxPointSets point sets.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublegetCoordinate(int i, int j)Returns ui, j, the coordinate j of the point i.PointSetIteratoriterator()Constructs and returns a point set iterator.voidpadPointSet(PointSet P)Pads the point set P to the present structure.voidpadPointSetPermute(PointSet P)Pads the point set P, which is assumed to be finite.voidrandomize(RandomStream stream)By default, this method simply calls addRandomShift(stream).java.lang.StringtoString()Formats a string that contains information about the point set.voidunrandomize()By default, this method simply calls clearRandomShift().-
Methods inherited from class umontreal.iro.lecuyer.hups.PointSet
addRandomShift, addRandomShift, addRandomShift, addRandomShift, clearRandomShift, formatPoints, formatPoints, formatPoints, formatPoints, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsBase, formatPointsNumbered, formatPointsNumbered, getDimension, getNumPoints, getStream, randomize, randomize, randomize, randomize, setStream
-
-
-
-
Constructor Detail
-
PaddedPointSet
public PaddedPointSet(int maxPointSets)
Constructs a structure for padding at most maxPointSets point sets. This structure is initially empty and will eventually contain the different point sets that are padded.- Parameters:
maxPointSets- maximum number of point sets authorized by the constructed object
-
-
Method Detail
-
padPointSet
public void padPointSet(PointSet P)
Pads the point set P to the present structure.- Parameters:
P- point set being padded
-
padPointSetPermute
public void padPointSetPermute(PointSet P)
Pads the point set P, which is assumed to be finite. A random permutation will be generated (when callingrandomize) and used to access the coordinates taken from the points of P (i.e., these points are randomly permuted).- Parameters:
P- point set being padded
-
getCoordinate
public double getCoordinate(int i, int j)Description copied from class:PointSetReturns ui, j, the coordinate j of the point i.- Specified by:
getCoordinatein classPointSet- Parameters:
i- index of the point to look forj- index of the coordinate to look for- Returns:
- the value of ui, j
-
unrandomize
public void unrandomize()
Description copied from class:PointSetBy default, this method simply calls clearRandomShift().- Overrides:
unrandomizein classPointSet
-
randomize
public void randomize(RandomStream stream)
Description copied from class:PointSetBy default, this method simply calls addRandomShift(stream).
-
iterator
public PointSetIterator iterator()
Description copied from class:PointSetConstructs and returns a point set iterator. The default implementation returns an iterator that uses the methodgetCoordinate(i,j) to iterate over the points and coordinates, but subclasses can reimplement it for better efficiency.
-
-
DMelt 3.0 © DataMelt by jWork.ORG