SG++
sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid Class Reference

#include <LTwoScalarProductHashMapNakBsplineBoundaryCombigrid.hpp>

Public Member Functions

double calculateScalarProduct (base::level_t lid, base::index_t iid, base::level_t ljd, base::index_t ijd, base::DataVector coordinates, base::DataVector weights, sgpp::base::SNakBsplineBoundaryCombigridBase basis, size_t d, double offseti_left, double offsetj_left, sgpp::base::index_t hInvik, sgpp::base::index_t hInvjk, double hik, double hjk, size_t pp1h)
 subroutine to calculate the scalar product of the B splines i and j with level index pairs (li,ii) and (lj,ij) More...
 
MultiIndex hashLevelIndex (base::level_t li, base::index_t ii, base::level_t lj, base::index_t ij, size_t d)
 Creates hash key from the two level-index pairs of two 1D Bsplines. More...
 
 LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ()
 
 LTwoScalarProductHashMapNakBsplineBoundaryCombigrid (sgpp::base::Grid *grid)
 Constructor. More...
 
 LTwoScalarProductHashMapNakBsplineBoundaryCombigrid (sgpp::base::Grid *grid, sgpp::combigrid::WeightFunctionsCollection weightFunctionsCollection)
 
 LTwoScalarProductHashMapNakBsplineBoundaryCombigrid (sgpp::base::Grid *grid, sgpp::combigrid::WeightFunctionsCollection weightFunctionsCollection, sgpp::base::DataVector bounds)
 
 LTwoScalarProductHashMapNakBsplineBoundaryCombigrid (sgpp::base::Grid *grid, sgpp::combigrid::WeightFunctionsCollection weightFunctionsCollection, sgpp::base::DataVector bounds, size_t numAdditionalPoints, size_t incrementQuadraturePoints=5)
 
virtual void mult (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result)
 Implementation of standard matrix multiplication. More...
 
void setBounds (sgpp::base::DataVector bounds)
 
void setWeightFunction (sgpp::combigrid::WeightFunctionsCollection weightFunctionsCollection)
 
void updateGrid (sgpp::base::Grid *grid)
 
virtual ~LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ()
 Destructor. More...
 

Protected Attributes

sgpp::base::DataVector bounds
 
size_t degree
 
sgpp::base::Gridgrid
 
size_t incrementQuadraturePoints
 
std::map< MultiIndex, double > innerProducts
 
bool isCustomWeightFunction
 
size_t numAdditionalPoints
 
sgpp::combigrid::WeightFunctionsCollection weightFunctionsCollection
 

Constructor & Destructor Documentation

sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ( )
inline
sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ( sgpp::base::Grid grid)
explicit
sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ( sgpp::base::Grid grid,
sgpp::combigrid::WeightFunctionsCollection  weightFunctionsCollection 
)
sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ( sgpp::base::Grid grid,
sgpp::combigrid::WeightFunctionsCollection  weightFunctionsCollection,
sgpp::base::DataVector  bounds 
)
sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ( sgpp::base::Grid grid,
sgpp::combigrid::WeightFunctionsCollection  weightFunctionsCollection,
sgpp::base::DataVector  bounds,
size_t  numAdditionalPoints,
size_t  incrementQuadraturePoints = 5 
)
sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::~LTwoScalarProductHashMapNakBsplineBoundaryCombigrid ( )
virtual

Member Function Documentation

double sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::calculateScalarProduct ( base::level_t  lid,
base::index_t  iid,
base::level_t  ljd,
base::index_t  ijd,
base::DataVector  coordinates,
base::DataVector  weights,
sgpp::base::SNakBsplineBoundaryCombigridBase  basis,
size_t  d,
double  offseti_left,
double  offsetj_left,
sgpp::base::index_t  hInvik,
sgpp::base::index_t  hInvjk,
double  hik,
double  hjk,
size_t  pp1h 
)

subroutine to calculate the scalar product of the B splines i and j with level index pairs (li,ii) and (lj,ij)

References degree, sgpp::base::NakBsplineBoundaryCombigridBasis< LT, IT >::eval(), python.leja::start, and weightFunctionsCollection.

Referenced by mult(), and updateGrid().

MultiIndex sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::hashLevelIndex ( base::level_t  li,
base::index_t  ii,
base::level_t  lj,
base::index_t  ij,
size_t  d 
)

Creates hash key from the two level-index pairs of two 1D Bsplines.

Referenced by mult(), and updateGrid().

void sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::setBounds ( sgpp::base::DataVector  bounds)
inline
void sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::setWeightFunction ( sgpp::combigrid::WeightFunctionsCollection  weightFunctionsCollection)
inline

Member Data Documentation

sgpp::base::DataVector sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::bounds
protected
size_t sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::degree
protected
size_t sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::incrementQuadraturePoints
protected
std::map<MultiIndex, double> sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::innerProducts
protected

Referenced by mult().

bool sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::isCustomWeightFunction
protected
size_t sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::numAdditionalPoints
protected
sgpp::combigrid::WeightFunctionsCollection sgpp::combigrid::LTwoScalarProductHashMapNakBsplineBoundaryCombigrid::weightFunctionsCollection
protected

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