SG++-Doxygen-Documentation
|
Implements the Up/Down scheme with one dimension with a special operation. More...
#include <UpDownOneOpDimWithShadow.hpp>
Public Member Functions | |
virtual void | mult (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result) |
starts the Multiplication with the matrix More... | |
UpDownOneOpDimWithShadow (sgpp::base::GridStorage *storage, sgpp::base::GridStorage *shadowStorage) | |
Constructor. More... | |
virtual | ~UpDownOneOpDimWithShadow () |
Destructor. More... | |
Public Member Functions inherited from sgpp::base::OperationMatrix | |
OperationMatrix () | |
Constructor. More... | |
virtual | ~OperationMatrix () |
Destructor. More... | |
Protected Types | |
typedef sgpp::base::GridStorage::grid_iterator | grid_iterator |
Protected Member Functions | |
virtual void | down (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, size_t dim)=0 |
std 1D down operation More... | |
virtual void | downOpDim (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, size_t dim)=0 |
special 1D down operation that is only executed in one direction More... | |
void | expandGrid () |
This functions adds all grid points of the shadow storage into the actual grid. More... | |
void | shrinkGrid () |
Removes the previously added shadow grid points from the actual grid. More... | |
virtual void | specialOP (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, size_t dim, size_t op_dim) |
All calculations for op_dim. More... | |
virtual void | up (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, size_t dim)=0 |
std 1D up operation More... | |
void | updown (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, size_t dim, size_t op_dim) |
Recursive procedure for updown(). More... | |
virtual void | upOpDim (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, size_t dim)=0 |
special 1D up operation that is only executed in one direction More... | |
Protected Attributes | |
sgpp::base::GridStorage * | shadowStorage |
sgpp::base::GridStorage * | storage |
Pointer to the grid's storage object. More... | |
Implements the Up/Down scheme with one dimension with a special operation.
Before the actual operation starts, all grid points from the shadow storage are copied into the actual grid. After the calculation, all shadow grid points are deleted, the result vector is adapted accordingly.
|
protected |
sgpp::pde::UpDownOneOpDimWithShadow::UpDownOneOpDimWithShadow | ( | sgpp::base::GridStorage * | storage, |
sgpp::base::GridStorage * | shadowStorage | ||
) |
Constructor.
storage | the grid's sgpp::base::GridStorage object |
shadowStorage | shadow storage |
References shadowStorage, and storage.
|
virtual |
Destructor.
|
protectedpure virtual |
std 1D down operation
dim | dimension in which to apply the down-part |
alpha | vector of coefficients |
result | vector to store the results in |
Implemented in sgpp::pde::OperationLaplacePrewavelet.
Referenced by updown().
|
protectedpure virtual |
special 1D down operation that is only executed in one direction
alpha | the coefficients of the gridpoints |
result | vector with the result of this operation |
dim | the dimension in that down-Gradient is applied |
Implemented in sgpp::pde::OperationLaplacePrewavelet.
Referenced by specialOP().
|
protected |
This functions adds all grid points of the shadow storage into the actual grid.
References sgpp::base::HashGridStorage::getPoint(), sgpp::base::HashGridStorage::getSize(), python.statsfileInfo::i, sgpp::base::HashGridStorage::insert(), shadowStorage, and storage.
Referenced by mult().
|
virtual |
starts the Multiplication with the matrix
alpha | DataVector that contains the ansatzfunctions' coefficients |
result | DataVector into which the result of the Laplace operation is stored |
Implements sgpp::base::OperationMatrix.
References expandGrid(), sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridStorage::getSize(), sgpp::base::DataVector::getSize(), python.statsfileInfo::i, sgpp::base::DataVector::setAll(), shrinkGrid(), storage, and updown().
|
protected |
Removes the previously added shadow grid points from the actual grid.
Thus, the grid is the same shape as before the call of mult.
References sgpp::base::HashGridStorage::deleteLast(), sgpp::base::HashGridStorage::getSize(), python.statsfileInfo::i, shadowStorage, and storage.
Referenced by mult().
|
protectedvirtual |
All calculations for op_dim.
alpha | the coefficients of the grid points |
result | the result of the operations |
dim | the current dimension in the recursion |
op_dim | the dimension in that a special operation is applied |
References sgpp::base::DataVector::add(), downOpDim(), sgpp::base::DataVector::getSize(), sgpp::base::DataVector::setAll(), updown(), and upOpDim().
Referenced by updown().
|
protectedpure virtual |
std 1D up operation
dim | dimension in which to apply the up-part |
alpha | vector of coefficients |
result | vector to store the results in |
Implemented in sgpp::pde::OperationLaplacePrewavelet.
Referenced by updown().
|
protected |
Recursive procedure for updown().
dim | the current dimension |
op_dim | the dimension in which a special operation is applied |
alpha | vector of coefficients |
result | vector to store the results in |
References sgpp::base::DataVector::add(), down(), sgpp::base::DataVector::getSize(), sgpp::base::DataVector::setAll(), specialOP(), and up().
Referenced by mult(), and specialOP().
|
protectedpure virtual |
special 1D up operation that is only executed in one direction
alpha | the coefficients of the gridpoints |
result | vector with the result of this operation |
dim | the dimension in that up-Gradient is applied |
Implemented in sgpp::pde::OperationLaplacePrewavelet.
Referenced by specialOP().
|
protected |
Referenced by expandGrid(), shrinkGrid(), and UpDownOneOpDimWithShadow().
|
protected |
Pointer to the grid's storage object.
Referenced by sgpp::pde::OperationLaplacePrewavelet::downOpDim(), expandGrid(), mult(), shrinkGrid(), sgpp::pde::OperationLaplacePrewavelet::up(), UpDownOneOpDimWithShadow(), and sgpp::pde::OperationLaplacePrewavelet::upOpDim().