Dakota  Version 6.21
Explore and Predict with Confidence
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
LowDiscrepancySequence Class Referenceabstract

Abstract class for low-discrepancy sequences. More...

Inheritance diagram for LowDiscrepancySequence:
DigitalNet Rank1Lattice

Public Member Functions

 LowDiscrepancySequence (int mMax, int dMax, int seedValue, short outputLevel)
 Default constructor. More...
 
void get_points (RealMatrix &points)
 Get points from this low-discrepancy generator This function will store the points in-place in the matrix points Each column of points contains a dimension-dimensional point where dimension is equal to the number of rows of points and the number of points is equal to the number of columns of points
 
void get_points (const size_t n, RealMatrix &points)
 Get the first n points from this low-discrepancy generator This function will store the points in-place in the matrix points Each column of points contains a dimension-dimensional point where dimension is equal to the number of rows of points
 
void get_points (const size_t nMin, const size_t nMax, RealMatrix &points)
 Generates low-discrepancy points between given indices Returns the points with index nMin, nMin + 1, ..., nMax - 1 This function will store the points in-place in the matrix points Each column of points contains a dimension-dimensional point. More...
 
int get_seed ()
 Returns the random seed value.
 
void set_seed (int seed)
 Sets the random seed value.
 
virtual void reseed ()=0
 Reseed this low-discrepancy sequence NOTE: this function is required by LDDriver to change the random seed.
 

Protected Member Functions

void check_sizes (const size_t nMin, const size_t nMax, RealMatrix &points)
 Perform checks on the matrix points Each column of points contains a dimension-dimensional point where dimension is equal to the number of rows of points The number of points numPoints is nMax - nMin Checks if the requested number of points numPoints exceeds the maximum number of points allowed in this low-discrepancy sequence Checks if the number of rows of the matrix points exceeds the maximum dimension allowed in this low-discrepancy sequence Checks if the matrix points has numPoints columns. More...
 
virtual void unsafe_get_points (const size_t nMin, const size_t nMax, RealMatrix &points)=0
 Generate points from this low-discrepancy sequence.
 

Protected Attributes

int dMax
 Maximum dimension of this low-discrepancy sequence.
 
int mMax
 log2 of the maximum number of points of this low-discrepancy sequence More...
 
int seedValue
 The seed of this low-discrepancy sequence.
 
short outputLevel
 The output verbosity level, can be one of {SILENT, QUIET, NORMAL, VERBOSE, DEBUG}_OUTPUT.
 

Private Member Functions

void check_dMax ()
 Perform checks on dMax Checks if dMax is positive (> 0)
 
void check_mMax ()
 Perform checks on mMax Checks if mMax is positive (> 0)
 
void check_seedValue ()
 Perform checks on seedValue Checks if seedValue is positive or zero (>= 0)
 

Detailed Description

Abstract class for low-discrepancy sequences.

This abstract class provides uniform access to all low-discrepancy sequences through the get_points function.

Derived classes must provide implementations for the private virtual method unsafe_get_points(nMin, nMax, points) and the public virtual method randomize()

Constructor & Destructor Documentation

◆ LowDiscrepancySequence()

LowDiscrepancySequence ( int  mMax,
int  dMax,
int  seedValue,
short  outputLevel 
)
inline

Default constructor.

Check inputs in separate functions so that they can be overriden in a derived class to print more useful error messages

References LowDiscrepancySequence::check_dMax(), LowDiscrepancySequence::check_mMax(), and LowDiscrepancySequence::check_seedValue().

Member Function Documentation

◆ get_points()

void get_points ( const size_t  nMin,
const size_t  nMax,
RealMatrix &  points 
)
inline

Generates low-discrepancy points between given indices Returns the points with index nMin, nMin + 1, ..., nMax - 1 This function will store the points in-place in the matrix points Each column of points contains a dimension-dimensional point.

Check sizes of the matrix points

Get the low-discrepancy points

Print summary info

References LowDiscrepancySequence::check_sizes(), LowDiscrepancySequence::outputLevel, and LowDiscrepancySequence::unsafe_get_points().

◆ check_sizes()

void check_sizes ( const size_t  nMin,
const size_t  nMax,
RealMatrix &  points 
)
inlineprotected

Perform checks on the matrix points Each column of points contains a dimension-dimensional point where dimension is equal to the number of rows of points The number of points numPoints is nMax - nMin Checks if the requested number of points numPoints exceeds the maximum number of points allowed in this low-discrepancy sequence Checks if the number of rows of the matrix points exceeds the maximum dimension allowed in this low-discrepancy sequence Checks if the matrix points has numPoints columns.

Check if maximum number of points is exceeded

Check if maximum dimension is exceeded

Check number of columns of points

References Dakota::abort_handler(), LowDiscrepancySequence::dMax, and LowDiscrepancySequence::mMax.

Referenced by LowDiscrepancySequence::get_points().

Member Data Documentation

◆ mMax

int mMax
protected

log2 of the maximum number of points of this low-discrepancy sequence

  • For rank-1 lattices, this is also the length of the generating vector
  • For digital nets, this is also the number of columns of each generating matrix

Referenced by LowDiscrepancySequence::check_mMax(), LowDiscrepancySequence::check_sizes(), DigitalNet::DigitalNet(), Rank1Lattice::Rank1Lattice(), and DigitalNet::scramble().


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