$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
VPSApproximation Class Reference

Derived approximation class for VPS implementation. More...

Inheritance diagram for VPSApproximation:
Approximation

List of all members.

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< ApproximationgpApproximations
Variables gpEvalVars

Static Private Attributes

static VPSApproximationVPSinstance
 pointer to the active object instance used within the static evaluator

Detailed Description

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.


Member Function Documentation

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().


Member Data Documentation

VPSApproximation * VPSinstance [static, private]

pointer to the active object instance used within the static evaluator

default constructor


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