SG++-Doxygen-Documentation
sgpp::optimization::HierarchisationSLE Class Reference

Linear system of the hierarchization in a sparse grid. More...

#include <HierarchisationSLE.hpp>

Inheritance diagram for sgpp::optimization::HierarchisationSLE:
sgpp::optimization::CloneableSLE sgpp::optimization::SLE

Public Member Functions

void clone (std::unique_ptr< CloneableSLE > &clone) const override
 
size_t getDimension () const override
 Pure virtual method returning the dimension (number of rows/columns) of the system. More...
 
base::GridgetGrid ()
 
base::GridStoragegetGridStorage ()
 
double getMatrixEntry (size_t i, size_t j) override
 
 HierarchisationSLE (base::Grid &grid)
 Constructor. More...
 
 HierarchisationSLE (base::Grid &grid, base::GridStorage &gridStorage)
 Constructor. More...
 
bool isMatrixEntryNonZero (size_t i, size_t j) override
 
- Public Member Functions inherited from sgpp::optimization::CloneableSLE
 CloneableSLE ()
 Constructor. More...
 
bool isCloneable () const override
 
 ~CloneableSLE () override
 Destructor. More...
 
- Public Member Functions inherited from sgpp::optimization::SLE
virtual size_t countNNZ ()
 Count all non-zero entries. More...
 
virtual void matrixVectorMultiplication (const base::DataVector &x, base::DataVector &y)
 Multiply the matrix with a vector. More...
 
 SLE ()
 Constructor. More...
 
virtual ~SLE ()
 Destructor. More...
 

Protected Types

enum  {
  INVALID, BSPLINE, BSPLINE_BOUNDARY, BSPLINE_CLENSHAW_CURTIS,
  BSPLINE_MODIFIED, BSPLINE_MODIFIED_CLENSHAW_CURTIS, FUNDAMENTAL_SPLINE, FUNDAMENTAL_SPLINE_MODIFIED,
  LINEAR, LINEAR_BOUNDARY, LINEAR_CLENSHAW_CURTIS, LINEAR_CLENSHAW_CURTIS_BOUNDARY,
  LINEAR_MODIFIED, WAVELET, WAVELET_BOUNDARY, WAVELET_MODIFIED,
  NAK_BSPLINEBOUNDARY_COMBIGRID
}
 type of grid/basis functions More...
 

Protected Member Functions

double evalBasisFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalBsplineBoundaryFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalBsplineClenshawCurtisFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalBsplineFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalBsplineModifiedClenshawCurtisFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalBsplineModifiedFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalFundamentalSplineFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalFundamentalSplineModifiedFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalLinearBoundaryFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalLinearClenshawCurtisBoundaryFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalLinearClenshawCurtisFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalLinearFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalLinearModifiedFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalNakBsplineBoundaryCombigridFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalWaveletBoundaryFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalWaveletFunctionAtGridPoint (size_t basisI, size_t pointJ)
 
double evalWaveletModifiedFunctionAtGridPoint (size_t basisI, size_t pointJ)
 

Protected Attributes

enum sgpp::optimization::HierarchisationSLE:: { ... }  basisType
 type of grid/basis functions More...
 
std::unique_ptr< base::SBsplineBasebsplineBasis
 B-spline basis. More...
 
std::unique_ptr< base::SBsplineBoundaryBasebsplineBoundaryBasis
 B-spline boundary basis. More...
 
std::unique_ptr< base::SBsplineClenshawCurtisBasebsplineClenshawCurtisBasis
 B-spline Clenshaw-Curtis basis. More...
 
std::unique_ptr< base::SFundamentalSplineBasefundamentalSplineBasis
 fundamental spline basis More...
 
base::Gridgrid
 sparse grid More...
 
base::GridStoragegridStorage
 grid storage More...
 
std::unique_ptr< base::SLinearBaselinearBasis
 linear basis More...
 
std::unique_ptr< base::SLinearClenshawCurtisBaselinearClenshawCurtisBasis
 linear Clenshaw-Curtis basis More...
 
std::unique_ptr< base::SLinearClenshawCurtisBoundaryBaselinearClenshawCurtisBoundaryBasis
 linear Clenshaw-Curtis boundary basis More...
 
std::unique_ptr< base::SLinearBoundaryBaselinearL0BoundaryBasis
 linear boundary basis More...
 
std::unique_ptr< base::SBsplineModifiedBasemodBsplineBasis
 modified B-spline basis More...
 
std::unique_ptr< base::SBsplineModifiedClenshawCurtisBasemodBsplineClenshawCurtisBasis
 modified B-spline Clenshaw-Curtis basis More...
 
std::unique_ptr< base::SFundamentalSplineModifiedBasemodFundamentalSplineBasis
 modified fundamental spline basis More...
 
std::unique_ptr< base::SLinearModifiedBasemodLinearBasis
 modified linear basis More...
 
std::unique_ptr< base::SWaveletModifiedBasemodWaveletBasis
 modified wavelet basis More...
 
std::unique_ptr< base::SNakBsplineBoundaryCombigridBasenakBsplineBoundaryCombigridBasis
 not-a-knot B-spline Boundary basis More...
 
std::unique_ptr< base::SWaveletBasewaveletBasis
 wavelet basis More...
 
std::unique_ptr< base::SWaveletBoundaryBasewaveletBoundaryBasis
 wavelet boundary basis More...
 

Detailed Description

Linear system of the hierarchization in a sparse grid.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected

type of grid/basis functions

Enumerator
INVALID 
BSPLINE 
BSPLINE_BOUNDARY 
BSPLINE_CLENSHAW_CURTIS 
BSPLINE_MODIFIED 
BSPLINE_MODIFIED_CLENSHAW_CURTIS 
FUNDAMENTAL_SPLINE 
FUNDAMENTAL_SPLINE_MODIFIED 
LINEAR 
LINEAR_BOUNDARY 
LINEAR_CLENSHAW_CURTIS 
LINEAR_CLENSHAW_CURTIS_BOUNDARY 
LINEAR_MODIFIED 
WAVELET 
WAVELET_BOUNDARY 
WAVELET_MODIFIED 
NAK_BSPLINEBOUNDARY_COMBIGRID 

Constructor & Destructor Documentation

◆ HierarchisationSLE() [1/2]

sgpp::optimization::HierarchisationSLE::HierarchisationSLE ( base::Grid grid)
inlineexplicit

Constructor.

Do not destruct the grid before this object!

Parameters
gridsparse grid

Referenced by clone().

◆ HierarchisationSLE() [2/2]

sgpp::optimization::HierarchisationSLE::HierarchisationSLE ( base::Grid grid,
base::GridStorage gridStorage 
)
inline

Member Function Documentation

◆ clone()

void sgpp::optimization::HierarchisationSLE::clone ( std::unique_ptr< CloneableSLE > &  clone) const
inlineoverridevirtual
Parameters
[out]clonepointer to cloned object

Implements sgpp::optimization::CloneableSLE.

References grid, gridStorage, and HierarchisationSLE().

◆ evalBasisFunctionAtGridPoint()

◆ evalBsplineBoundaryFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalBsplineBoundaryFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th B-spline boundary basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalBsplineClenshawCurtisFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalBsplineClenshawCurtisFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th B-spline Clenshaw-Curtis basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalBsplineFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalBsplineFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th B-spline basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalBsplineModifiedClenshawCurtisFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalBsplineModifiedClenshawCurtisFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th modified Clenshaw-Curtis B-spline basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalBsplineModifiedFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalBsplineModifiedFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th modified B-spline basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalFundamentalSplineFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalFundamentalSplineFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th fundamental spline basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalFundamentalSplineModifiedFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalFundamentalSplineModifiedFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th modified fundamental spline basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalLinearBoundaryFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalLinearBoundaryFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th linear boundary basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalLinearClenshawCurtisBoundaryFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalLinearClenshawCurtisBoundaryFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th linear Clenshaw-Curtis boundary basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalLinearClenshawCurtisFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalLinearClenshawCurtisFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th linear Clenshaw-Curtis basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalLinearFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalLinearFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th linear basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalLinearModifiedFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalLinearModifiedFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th modified linear basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalNakBsplineBoundaryCombigridFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalNakBsplineBoundaryCombigridFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th not-a-knot B-spline basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getCoordinate(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), and sgpp::base::HashGridPoint::getLevel().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalWaveletBoundaryFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalWaveletBoundaryFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th wavelet boundary basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalWaveletFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalWaveletFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th wavelet basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ evalWaveletModifiedFunctionAtGridPoint()

double sgpp::optimization::HierarchisationSLE::evalWaveletModifiedFunctionAtGridPoint ( size_t  basisI,
size_t  pointJ 
)
inlineprotected
Parameters
basisIbasis function index
pointJgrid point index
Returns
value of the basisI-th modified wavelet basis function at the pointJ-th grid point

References sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getIndex(), sgpp::base::HashGridPoint::getLevel(), and sgpp::base::HashGridStorage::getUnitCoordinate().

Referenced by evalBasisFunctionAtGridPoint().

◆ getDimension()

size_t sgpp::optimization::HierarchisationSLE::getDimension ( ) const
inlineoverridevirtual

Pure virtual method returning the dimension (number of rows/columns) of the system.

Returns
system dimension

Implements sgpp::optimization::SLE.

References sgpp::base::HashGridStorage::getSize(), and gridStorage.

◆ getGrid()

base::Grid& sgpp::optimization::HierarchisationSLE::getGrid ( )
inline
Returns
sparse grid

References grid.

◆ getGridStorage()

base::GridStorage& sgpp::optimization::HierarchisationSLE::getGridStorage ( )
inline
Returns
grid storage

References gridStorage.

◆ getMatrixEntry()

double sgpp::optimization::HierarchisationSLE::getMatrixEntry ( size_t  i,
size_t  j 
)
inlineoverridevirtual
Parameters
irow index
jcolumn index
Returns
value of the j-th basis function at the i-th grid point

Implements sgpp::optimization::SLE.

References evalBasisFunctionAtGridPoint().

Referenced by sgpp::optimization::IterativeGridGeneratorLinearSurplus::generate().

◆ isMatrixEntryNonZero()

bool sgpp::optimization::HierarchisationSLE::isMatrixEntryNonZero ( size_t  i,
size_t  j 
)
inlineoverridevirtual
Parameters
irow index
jcolumn index
Returns
whether the i-th grid point lies in the support of the j-th basis function

Implements sgpp::optimization::SLE.

References evalBasisFunctionAtGridPoint().

Member Data Documentation

◆ basisType

enum { ... } sgpp::optimization::HierarchisationSLE::basisType

type of grid/basis functions

Referenced by HierarchisationSLE().

◆ bsplineBasis

std::unique_ptr<base::SBsplineBase> sgpp::optimization::HierarchisationSLE::bsplineBasis
protected

B-spline basis.

Referenced by HierarchisationSLE().

◆ bsplineBoundaryBasis

std::unique_ptr<base::SBsplineBoundaryBase> sgpp::optimization::HierarchisationSLE::bsplineBoundaryBasis
protected

B-spline boundary basis.

Referenced by HierarchisationSLE().

◆ bsplineClenshawCurtisBasis

std::unique_ptr<base::SBsplineClenshawCurtisBase> sgpp::optimization::HierarchisationSLE::bsplineClenshawCurtisBasis
protected

B-spline Clenshaw-Curtis basis.

Referenced by HierarchisationSLE().

◆ fundamentalSplineBasis

std::unique_ptr<base::SFundamentalSplineBase> sgpp::optimization::HierarchisationSLE::fundamentalSplineBasis
protected

fundamental spline basis

Referenced by HierarchisationSLE().

◆ grid

◆ gridStorage

base::GridStorage& sgpp::optimization::HierarchisationSLE::gridStorage
protected

grid storage

Referenced by clone(), getDimension(), and getGridStorage().

◆ linearBasis

std::unique_ptr<base::SLinearBase> sgpp::optimization::HierarchisationSLE::linearBasis
protected

linear basis

Referenced by HierarchisationSLE().

◆ linearClenshawCurtisBasis

std::unique_ptr<base::SLinearClenshawCurtisBase> sgpp::optimization::HierarchisationSLE::linearClenshawCurtisBasis
protected

linear Clenshaw-Curtis basis

Referenced by HierarchisationSLE().

◆ linearClenshawCurtisBoundaryBasis

std::unique_ptr<base::SLinearClenshawCurtisBoundaryBase> sgpp::optimization::HierarchisationSLE::linearClenshawCurtisBoundaryBasis
protected

linear Clenshaw-Curtis boundary basis

Referenced by HierarchisationSLE().

◆ linearL0BoundaryBasis

std::unique_ptr<base::SLinearBoundaryBase> sgpp::optimization::HierarchisationSLE::linearL0BoundaryBasis
protected

linear boundary basis

Referenced by HierarchisationSLE().

◆ modBsplineBasis

std::unique_ptr<base::SBsplineModifiedBase> sgpp::optimization::HierarchisationSLE::modBsplineBasis
protected

modified B-spline basis

Referenced by HierarchisationSLE().

◆ modBsplineClenshawCurtisBasis

std::unique_ptr<base::SBsplineModifiedClenshawCurtisBase> sgpp::optimization::HierarchisationSLE::modBsplineClenshawCurtisBasis
protected

modified B-spline Clenshaw-Curtis basis

Referenced by HierarchisationSLE().

◆ modFundamentalSplineBasis

std::unique_ptr<base::SFundamentalSplineModifiedBase> sgpp::optimization::HierarchisationSLE::modFundamentalSplineBasis
protected

modified fundamental spline basis

Referenced by HierarchisationSLE().

◆ modLinearBasis

std::unique_ptr<base::SLinearModifiedBase> sgpp::optimization::HierarchisationSLE::modLinearBasis
protected

modified linear basis

Referenced by HierarchisationSLE().

◆ modWaveletBasis

std::unique_ptr<base::SWaveletModifiedBase> sgpp::optimization::HierarchisationSLE::modWaveletBasis
protected

modified wavelet basis

Referenced by HierarchisationSLE().

◆ nakBsplineBoundaryCombigridBasis

std::unique_ptr<base::SNakBsplineBoundaryCombigridBase> sgpp::optimization::HierarchisationSLE::nakBsplineBoundaryCombigridBasis
protected

not-a-knot B-spline Boundary basis

Referenced by HierarchisationSLE().

◆ waveletBasis

std::unique_ptr<base::SWaveletBase> sgpp::optimization::HierarchisationSLE::waveletBasis
protected

wavelet basis

Referenced by HierarchisationSLE().

◆ waveletBoundaryBasis

std::unique_ptr<base::SWaveletBoundaryBase> sgpp::optimization::HierarchisationSLE::waveletBoundaryBasis
protected

wavelet boundary basis

Referenced by HierarchisationSLE().


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