![]() |
SG++
|
Marginalize Probability Density Function. More...
#include <OperationDensityConditionalLinear.hpp>
Public Member Functions | |
void | doConditional (base::DataVector &alpha, base::Grid *&mg, base::DataVector &malpha, unsigned int mdim, double xbar) |
Marginalizes (Density) Functions. More... | |
OperationDensityConditionalLinear (base::Grid *grid) | |
virtual | ~OperationDensityConditionalLinear () |
![]() | |
OperationDensityConditional () | |
virtual | ~OperationDensityConditional () |
Protected Attributes | |
base::Grid * | grid |
Marginalize Probability Density Function.
|
inlineexplicit |
|
inlinevirtual |
References alpha, and doConditional().
|
virtual |
Marginalizes (Density) Functions.
alpha | Coefficient vector for current grid |
mg | Referenz of grid pointer |
malpha | Coefficient vector for new grid (mg). Will be resized. |
mdim | Marginalize in dimension mdim |
xbar | Point at which to conditionalize |
Assume: mdim = 1 Compute vector with values (phi_{l1,i1}(xbar) = phi_{l1,i1}(xbar)*phi_{l2,i2}(0.5)
Compute theta = theta + alpha_{l,i}*zeta_{l,i}*int{phi_{l2, i_2}}
Generate d - 1 dimensional grid, as in marginalize
Note: Because of adaptively refined sparse grids, we cannot simply generate a regular grid. Thus, we need to add point after point to the new grid mg
Compute coefficients malpha for grid mg
Implements sgpp::datadriven::OperationDensityConditional.
References sgpp::base::Grid::createLinearGrid(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), sgpp::base::HashGridStorage::getPoint(), sgpp::base::HashGridStorage::getSize(), sgpp::base::DataVector::getSize(), sgpp::base::Grid::getStorage(), grid, sgpp::base::DataVector::mult(), sgpp::combigrid::pow(), sgpp::base::HashGridPoint::set(), and sgpp::base::DataVector::setAll().
Referenced by ~OperationDensityConditionalLinear().
|
protected |
Referenced by doConditional(), python.uq.learner.Interpolant.Interpolant::doLearningIteration(), python.learner.Classifier.Classifier::evalError(), python.uq.learner.Interpolant.Interpolant::evalError(), python.uq.learner.SimulationLearner.SimulationLearner::getGrid(), python.uq.learner.Regressor.Regressor::learnData(), python.uq.learner.Regressor.Regressor::learnDataWithFolding(), and python.uq.learner.Regressor.Regressor::learnDataWithTest().