![]()  | 
  
    SG++-Doxygen-Documentation
    
   | 
 
#include <DBMatOnlineDEOrthoAdapt.hpp>
  
 Public Member Functions | |
| void | add_new_refine_point (sgpp::base::DataVector &x) | 
| Adds new DataVector to list of refined points For testing purposes only.  More... | |
| DBMatOnlineDEOrthoAdapt (DBMatOffline &offline, Grid &grid, double lambda, double beta=0.) | |
| Constructor.  More... | |
| sgpp::base::DataMatrix & | getB () | 
| Returns the additive component of the sherman-morrison-formula, which yields all the information about the refined points.  More... | |
| std::vector< sgpp::base::DataVector > * | getRefinedPointsPointer () | 
| Gets pointer to the container of refined points, only for testing purposes.  More... | |
| void | sherman_morrison_adapt (size_t newPoints, bool refine, std::vector< size_t > coarsen_indices={}) | 
| Rank-one updates/downdates the system matrix, based on the Sherman-Morrison-formula In the current version of the function, the refinePts already are adapted to the regularization parameter lambda.  More... | |
| std::vector< size_t > | updateSystemMatrixDecomposition (DensityEstimationConfiguration &densityEstimationConfig, Grid &grid, size_t numAddedGridPoints, std::list< size_t > deletedGridPointIndices, double lambda) override | 
  Public Member Functions inherited from sgpp::datadriven::DBMatOnlineDE | |
| void | computeDensityFunction (DataVector &alpha, Grid &grid, DensityEstimationConfiguration &densityEstimationConfig, bool do_cv=false) | 
| Computes the density function again based on the saved b's (only applicable for streaming)  More... | |
| void | computeDensityFunction (DataVector &alpha, DataMatrix &m, Grid &grid, DensityEstimationConfiguration &densityEstimationConfig, bool save_b=false, bool do_cv=false, std::list< size_t > *deletedPoints=nullptr, size_t newPoints=0) | 
| Computes the density function for a certain data matrix.  More... | |
| DBMatOnlineDE (DBMatOffline &offline, Grid &grid, double lambda, double beta=0.) | |
| Constructor.  More... | |
| double | eval (DataVector &alpha, const DataVector &p, Grid &grid, bool force=false) | 
| Evaluates the density function at a certain point.  More... | |
| void | eval (DataVector &alpha, DataMatrix &values, DataVector &results, Grid &grid, bool force=false) | 
| Evaluates the density function on multiple points.  More... | |
| double | getBeta () | 
| Returns the current weighting factor.  More... | |
| bool | isComputed () | 
| Returns if the surplus has already been computed.  More... | |
| double | normalize (DataVector &alpha, Grid &grid, size_t samples=1000) | 
| Normalize the Density.  More... | |
| double | normalizeQuadrature (DataVector &alpha, Grid &grid) | 
| Normalize the Density using Quadrature.  More... | |
| void | setBeta (double beta) | 
| Sets the weighting factor.  More... | |
| void | updateRhs (size_t gridSize, std::list< size_t > *deletedPoints) | 
| Restructures the rhs (b vector) of the system matrix.  More... | |
  Public Member Functions inherited from sgpp::datadriven::DBMatOnline | |
| DBMatOnline (DBMatOffline &o) | |
| Constructor.  More... | |
| DBMatOnline (const DBMatOnline &rhs)=delete | |
| DBMatOnline (DBMatOnline &&rhs)=default | |
| DBMatOffline & | getOfflineObject () | 
| Returns a reference to the offline object.  More... | |
| const DBMatOffline & | getOfflineObject () const | 
| DBMatOnline & | operator= (const DBMatOnline &rhs)=delete | 
| DBMatOnline & | operator= (DBMatOnline &&rhs)=default | 
| void | setLambda (double lambda) | 
| Changes the weighting factor for the regularization term, if possible (might depend on the kind of decomposition for classification)  More... | |
| virtual | ~DBMatOnline ()=default | 
| Destructor.  More... | |
Protected Member Functions | |
| void | solveSLE (DataVector &alpha, DataVector &b, Grid &grid, DensityEstimationConfiguration &densityEstimationConfig, bool do_cv) override | 
| Solves the system (R + lambda*I) * alpha = b, and obtains alpha The solving is done after offline and online phase and works as follows: (R + lambda*I)^{-1} * b = ((Q*T^{-1}*Q^{t} + B) * b = alpha, where B holds the refine/coarsen information.  More... | |
  Protected Member Functions inherited from sgpp::datadriven::DBMatOnlineDE | |
| double | computeL2Error (DataVector &alpha, Grid &grid) | 
| double | resDensity (DataVector &alpha, Grid &grid) | 
Protected Attributes | |
| sgpp::base::DataMatrix | b_adapt_matrix_ | 
| bool | b_is_refined | 
| size_t | current_refine_index | 
| std::vector< sgpp::base::DataVector > | refined_points_ | 
  Protected Attributes inherited from sgpp::datadriven::DBMatOnlineDE | |
| double | beta | 
| DataVector | bSave | 
| DataVector | bTotalPoints | 
| bool | functionComputed | 
| double | lambda | 
| double | normFactor | 
| size_t | oDim | 
| DataMatrix * | testMat | 
| DataMatrix * | testMatRes | 
| size_t | totalPoints | 
  Protected Attributes inherited from sgpp::datadriven::DBMatOnline | |
| DBMatOffline & | offlineObject | 
      
  | 
  explicit | 
Constructor.
| offline | The offline object we base our evaluations on. | 
| lambda | The regularization strength (TODO(fuchsgruber) remove this) | 
| grid | The underlying grid (TODO(fuchsgruber) do we need this?) | 
| beta | The initial weighting factor | 
References b_adapt_matrix_, b_is_refined, current_refine_index, sgpp::datadriven::DBMatOffline::getDecompositionType(), sgpp::datadriven::OrthoAdapt, and refined_points_.
      
  | 
  inline | 
Adds new DataVector to list of refined points For testing purposes only.
| x | The DataVector to add | 
References refined_points_.
      
  | 
  inline | 
Returns the additive component of the sherman-morrison-formula, which yields all the information about the refined points.
References b_adapt_matrix_.
Referenced by sgpp::datadriven::DBMatOnlineDE::computeDensityFunction(), and solveSLE().
      
  | 
  inline | 
Gets pointer to the container of refined points, only for testing purposes.
References python.uq.operations.discretizeProduct::refine(), refined_points_, sherman_morrison_adapt(), and updateSystemMatrixDecomposition().
| void sgpp::datadriven::DBMatOnlineDEOrthoAdapt::sherman_morrison_adapt | ( | size_t | newPoints, | 
| bool | refine, | ||
| std::vector< size_t > | coarsen_indices = {}  | 
        ||
| ) | 
Rank-one updates/downdates the system matrix, based on the Sherman-Morrison-formula In the current version of the function, the refinePts already are adapted to the regularization parameter lambda.
| newPoints | number of refined points | 
| refine | decides: true for refine, false for coarsen | 
| coarsen_indices | the indices of points to coarsen | 
References b_adapt_matrix_, b_is_refined, current_refine_index, sgpp::base::DataVector::get(), sgpp::base::DataMatrix::get(), sgpp::base::DataMatrix::getColumn(), sgpp::base::HashGridStorage::getDimension(), sgpp::datadriven::DBMatOffline::getGridSize(), sgpp::base::HashGridStorage::getLevelIndexArraysForEval(), sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getNrows(), sgpp::base::DataMatrix::getPointer(), sgpp::datadriven::DBMatOfflineOrthoAdapt::getQ(), sgpp::base::DataMatrix::getRow(), sgpp::base::HashGridStorage::getSize(), sgpp::base::Grid::getStorage(), sgpp::datadriven::DBMatOfflineOrthoAdapt::getTinv(), grid(), python.statsfileInfo::i, python.utils.statsfile2gnuplot::j, level, sgpp::datadriven::DBMatOnline::offlineObject, refined_points_, sgpp::base::DataMatrix::resizeQuadratic(), sgpp::base::DataMatrix::set(), sgpp::base::DataMatrix::setColumn(), and sgpp::base::DataMatrix::setRow().
Referenced by getRefinedPointsPointer(), and updateSystemMatrixDecomposition().
      
  | 
  overrideprotectedvirtual | 
Solves the system (R + lambda*I) * alpha = b, and obtains alpha The solving is done after offline and online phase and works as follows: (R + lambda*I)^{-1} * b = ((Q*T^{-1}*Q^{t} + B) * b = alpha, where B holds the refine/coarsen information.
| alpha | the datavetor where surplusses will be stored | 
| b | The right hand side of the system | 
| grid | the underlying grid | 
| densityEstimationConfig | configuration for the density estimation | 
| do_cv | Specifies, if cross-validation should be done (todo: currently not implemented) | 
Implements sgpp::datadriven::DBMatOnlineDE.
References alpha, chess::b, getB(), sgpp::datadriven::DBMatOfflineOrthoAdapt::getQ(), sgpp::base::DataVector::getSize(), sgpp::datadriven::DBMatOfflineOrthoAdapt::getTinv(), sgpp::datadriven::DBMatOnline::offlineObject, sgpp::base::DataVector::resizeZero(), and sgpp::datadriven::DBMatDMSOrthoAdapt::solve().
      
  | 
  overridevirtual | 
| densityEstimationConfig | configuration for the density estimation | 
| grid | the underlying grid | 
| numAddedGridPoints | Number of grid points inserted at the end of the grid storage | 
| deletedGridPointIndices | Indices of grid points that were deleted | 
| lambda | The last best lambda value | 
Reimplemented from sgpp::datadriven::DBMatOnline.
References sgpp::datadriven::DBMatOffline::getGridSize(), sgpp::datadriven::DBMatOnline::offlineObject, and sherman_morrison_adapt().
Referenced by getRefinedPointsPointer().
      
  | 
  protected | 
Referenced by DBMatOnlineDEOrthoAdapt(), getB(), and sherman_morrison_adapt().
      
  | 
  protected | 
Referenced by DBMatOnlineDEOrthoAdapt(), and sherman_morrison_adapt().
      
  | 
  protected | 
Referenced by DBMatOnlineDEOrthoAdapt(), and sherman_morrison_adapt().
      
  | 
  protected | 
Referenced by add_new_refine_point(), DBMatOnlineDEOrthoAdapt(), getRefinedPointsPointer(), and sherman_morrison_adapt().