Dakota
Version 6.21
Explore and Predict with Confidence
|
Abstract class for low-discrepancy sequences. More...
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) | |
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()
|
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().
|
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().
|
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().
|
protected |
log2
of the maximum number of points of this low-discrepancy sequence
Referenced by LowDiscrepancySequence::check_mMax(), LowDiscrepancySequence::check_sizes(), DigitalNet::DigitalNet(), Rank1Lattice::Rank1Lattice(), and DigitalNet::scramble().