SG++-Doxygen-Documentation
|
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) override |
Marginalizes (Density) Functions. More... | |
OperationDensityConditionalLinear (base::Grid *grid) | |
virtual | ~OperationDensityConditionalLinear () |
Public Member Functions inherited from sgpp::datadriven::OperationDensityConditional | |
OperationDensityConditional (base::Grid *grid) | |
virtual | ~OperationDensityConditional () |
Additional Inherited Members | |
Protected Attributes inherited from sgpp::datadriven::OperationDensityConditional | |
base::Grid * | grid |
Marginalize Probability Density Function.
|
inlineexplicit |
|
inlinevirtual |
References alpha, and doConditional().
|
overridevirtual |
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
Reimplemented from 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(), sgpp::datadriven::OperationDensityConditional::grid, sgpp::base::DataVector::mult(), sgpp::combigrid::pow(), sgpp::base::HashGridPoint::set(), and sgpp::base::DataVector::setAll().
Referenced by ~OperationDensityConditionalLinear().