![]() |
SG++-Doxygen-Documentation
|
Implementation of the application of a diagonal matrix to a DataVector for regularization. More...
#include <OperationRegularizationDiagonal.hpp>
Public Member Functions | |
| virtual void | mult (base::DataVector &alpha, base::DataVector &result) |
| Multiplication with diagonal matrix. More... | |
| OperationRegularizationDiagonal (base::GridStorage *storage, int mode, double k) | |
| Constructor of OperationRegularizationDiagonal. More... | |
| virtual | ~OperationRegularizationDiagonal () |
| Destructor. More... | |
Public Member Functions inherited from sgpp::base::OperationMatrix | |
| OperationMatrix () | |
| Constructor. More... | |
| virtual | ~OperationMatrix () |
| Destructor. More... | |
Static Public Attributes | |
| static const int | ANISOTROPIC_PENALTY = 4 |
| static const int | H0HKLAPLACE = 2 |
| Diagonal scaling for pseudo-laplace, replacing \(L_2\) with \(H^0\) in 1d. More... | |
| static const int | HKMIX = 1 |
| Diagonal scaling for \(H^k_\textbf{mix}\)-norm (product of \(H^k\) 1D norms) More... | |
| static const int | ISOTROPIC_PENALTY = 3 |
Protected Member Functions | |
| virtual void | init () |
| Check for mode and run corresponding init. More... | |
| virtual void | initAnisotropicPenalty () |
| Initialize ANISOTROPIC_PENALTY, ignores constructor parameter k. More... | |
| virtual void | initH0HkLaplace (double k)=0 |
| Initialize H0HkLaplace. More... | |
| virtual void | initHkmix (double k)=0 |
| Initialize Hkmix. More... | |
| virtual void | initIsotropicPenalty () |
| Initialize ISOTROPIC_PENALTY, ignores constructor parameter k. More... | |
Protected Attributes | |
| base::DataVector | diagonal |
| double | k |
| int | mode |
| size_t | size |
| base::GridStorage * | storage |
Implementation of the application of a diagonal matrix to a DataVector for regularization.
This class implements several scaling possibilities.
| sgpp::datadriven::OperationRegularizationDiagonal::OperationRegularizationDiagonal | ( | base::GridStorage * | storage, |
| int | mode, | ||
| double | k | ||
| ) |
Constructor of OperationRegularizationDiagonal.
Constructor should most likely call init() in subclasses.
| storage | Pointer to grid's storage object |
| mode | Mode, specifying which regularization to use. Example: OperationRegularizationDiagonal::HKMIX. |
| k | Parameter for \(H^k\) |
References sgpp::base::HashGridStorage::getSize(), and size.
|
inlinevirtual |
|
protectedvirtual |
Check for mode and run corresponding init.
References ANISOTROPIC_PENALTY, H0HKLAPLACE, HKMIX, initAnisotropicPenalty(), initH0HkLaplace(), initHkmix(), initIsotropicPenalty(), ISOTROPIC_PENALTY, k, and mode.
Referenced by mult(), and sgpp::datadriven::OperationRegularizationDiagonalLinearBoundary::OperationRegularizationDiagonalLinearBoundary().
|
protectedvirtual |
Initialize ANISOTROPIC_PENALTY, ignores constructor parameter k.
Diagonal entries are \(\frac{1}{2}\log(1+(\frac{\max\{l_1,\dots,l_d\}}{\max\{\min\{l_1,\dots,l_d\},1\}})d)\).
References diagonal, chess::dim, sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getLevelMax(), sgpp::base::HashGridPoint::getLevelMin(), sgpp::base::HashGridStorage::getPoint(), python.statsfileInfo::i, size, and storage.
Referenced by init().
|
protectedpure virtual |
Initialize H0HkLaplace.
Diagonal entries are \(\sum_{k=1}^d \langle \phi_k(x_k),\phi_k(x_k) \rangle_{H^k} \prod_{l\neq k} \langle \phi_k(x_k),\phi_k(x_k) \rangle_{H^0}\).
| k | Parameter k |
Implemented in sgpp::datadriven::OperationRegularizationDiagonalLinearBoundary.
Referenced by init().
|
protectedpure virtual |
Initialize Hkmix.
Diagonal entries are \(\prod_{k=1}^d \langle \phi_k(x_k),\phi_k(x_k) \rangle_{H^k}\).
| k | Parameter k |
Implemented in sgpp::datadriven::OperationRegularizationDiagonalLinearBoundary.
Referenced by init().
|
protectedvirtual |
Initialize ISOTROPIC_PENALTY, ignores constructor parameter k.
Diagonal entries are \(\frac{1}{\max\{l_1,\dots,l_d\}-\min\{l_1,\dots,l_d\}+1}d\).
References diagonal, chess::dim, sgpp::base::HashGridStorage::getDimension(), sgpp::base::HashGridPoint::getLevelMax(), sgpp::base::HashGridPoint::getLevelMin(), sgpp::base::HashGridStorage::getPoint(), python.statsfileInfo::i, size, and storage.
Referenced by init().
|
virtual |
Multiplication with diagonal matrix.
| alpha | Source vector |
| result | Result vector (entries are overwritten) |
Implements sgpp::base::OperationMatrix.
References sgpp::base::DataVector::componentwise_mult(), sgpp::base::DataVector::copyFrom(), diagonal, sgpp::base::HashGridStorage::getSize(), init(), size, and storage.
Referenced by ~OperationRegularizationDiagonal().
|
static |
Referenced by init().
|
protected |
|
static |
Diagonal scaling for pseudo-laplace, replacing \(L_2\) with \(H^0\) in 1d.
Referenced by init().
|
static |
Diagonal scaling for \(H^k_\textbf{mix}\)-norm (product of \(H^k\) 1D norms)
Referenced by init().
|
static |
Referenced by init().
|
protected |
Referenced by init().
|
protected |
Referenced by init().
|
protected |
|
protected |