$extrastylesheet
Dakota
Version 6.2
|
Derived approximation class for VPS implementation. More...
Public Member Functions | |
VPSApproximation () | |
default constructor | |
VPSApproximation (const ProblemDescDB &problem_db, const SharedApproxData &shared_data) | |
standard constructor (to call VPS from an input deck) | |
VPSApproximation (const SharedApproxData &shared_data) | |
Alternate constructor (to call VPS from another method like POF-darts) | |
~VPSApproximation () | |
destructor | |
bool | VPS_execute () |
void | VPS_create_containers () |
void | VPS_retrieve_neighbors (size_t ipoint, bool update_point_neighbors) |
void | VPS_adjust_extend_neighbors_of_all_points () |
void | VPS_extend_neighbors (size_t ipoint) |
void | VPS_build_local_surrogate (size_t cell_index) |
double | VPS_evaluate_surrogate (double *x) |
void | VPS_destroy_global_containers () |
void | retrieve_permutations (size_t &m, size_t **&perm, size_t num_dim, size_t upper_bound, bool force_sum_constraint, size_t sum_constraint) |
void | build_radial_basis_function (size_t icell) |
void | VPS_LS_retrieve_weights (size_t cell_index) |
double | evaluate_basis_function (double *x, size_t icell, size_t ibasis) |
int | constrained_LeastSquare (size_t n, size_t m, double **H, double *w, double *f) |
double | vec_dot_vec (size_t n, double *vec_a, double *vec_b) |
double | vec_pow_vec (size_t num_dim, double *vec_a, size_t *vec_b) |
bool | Cholesky (int n, double **A, double **LD) |
void | Cholesky_solver (int n, double **LD, double *b, double *x) |
void | GMRES (size_t n, double **A, double *b, double *x, double eps) |
void | printMatrix (size_t m, size_t n, double **M) |
void | initiate_random_number_generator (unsigned long x) |
double | generate_a_random_number () |
size_t | retrieve_closest_cell (double *x) |
bool | trim_line_using_Hyperplane (size_t num_dim, double *st, double *end, double *qH, double *nH) |
double | f_test (double *x) |
void | generate_poisson_disk_sample (double r) |
void | generate_MC_sample () |
void | isocontouring (std::string file_name, bool plot_test_function, bool plot_surrogate, std::vector< double > contours) |
void | isocontouring_solid (std::string file_name, bool plot_test_function, bool plot_surrogate, std::vector< double > contours) |
void | plot_neighbors () |
Protected Member Functions | |
int | min_coefficients () const |
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions | |
int | num_constraints () const |
return the number of constraints to be enforced via an anchor point | |
void | build () |
builds the approximation from scratch | |
Real | value (const Variables &vars) |
retrieve the predicted function value for a given parameter set | |
const RealVector & | gradient (const Variables &vars) |
retrieve the function gradient at the predicted value for a given parameter set | |
Real | prediction_variance (const Variables &vars) |
retrieve the variance of the predicted value for a given parameter set | |
Private Types | |
enum | subsurrogate { LS, GP } |
enum | subsurrogate_basis { polynomial, radial } |
enum | testfunction { SmoothHerbie, Herbie, UnitSphere } |
Private Member Functions | |
void | VPSmodel_build () |
Function to compute coefficients governing the VPS surrogates. | |
void | VPSmodel_apply (const RealVector &new_x, bool variance_flag, bool gradients_flag) |
Function returns a response value using the VPS surface. | |
Private Attributes | |
Real | approxValue |
value of the approximation returned by value() | |
Real | approxVariance |
value of the approximation returned by prediction_variance() | |
RealMatrix | trainPoints |
A 2-D array (num sample sites = rows, num vars = columns) used to create the Gaussian process. | |
RealMatrix | trainValues |
An array of response values; one response value per sample site. | |
size_t | numObs |
The number of observations on which the GP surface is built. | |
int | surrogateOrder |
The order of the polynomial in each Voronoi cell. | |
subsurrogate | _vps_subsurrogate |
subsurrogate_basis | _vps_subsurrogate_basis |
testfunction | _vps_test_function |
double | Q [1220] |
int | indx |
double | cc |
double | c |
double | zc |
double | zx |
double | zy |
size_t | qlen |
size_t | _n_dim |
double * | _xmin |
double * | _xmax |
double | _diag |
size_t | _num_inserted_points |
double ** | _sample_points |
double * | _fval |
size_t ** | _sample_neighbors |
size_t ** | _vps_ext_neighbors |
size_t | _vps_order |
size_t | _num_GMRES |
size_t * | _num_cell_basis_functions |
double * | _sample_vsize |
double * | _vps_dfar |
double *** | _sample_basis |
double | _max_vsize |
double | _disc_min_grad |
double | _f_min |
double | _f_max |
size_t *** | _vps_t |
double ** | _vps_w |
SharedApproxData | sharedData |
std::vector< Approximation > | gpApproximations |
Variables | gpEvalVars |
Static Private Attributes | |
static VPSApproximation * | VPSinstance |
pointer to the active object instance used within the static evaluator |
Derived approximation class for VPS implementation.
The VPSApproximation class provides a set of piecewise surrogate approximations each of which is valid within a Voronoi cell.
void VPSmodel_apply | ( | const RealVector & | new_x, |
bool | variance_flag, | ||
bool | gradients_flag | ||
) | [private] |
Function returns a response value using the VPS surface.
The response value is computed at the design point specified by the RealVector function argument.
References VPSApproximation::approxValue.
Referenced by VPSApproximation::gradient(), VPSApproximation::prediction_variance(), and VPSApproximation::value().
VPSApproximation * VPSinstance [static, private] |
pointer to the active object instance used within the static evaluator
default constructor