Declares multiindices as feasible if their entries for less important dimensions are not too high. More...
#include <MultiIndexLimiter.h>
Declares multiindices as feasible if their entries for less important dimensions are not too high.
Given a weight vector \( w = (w_i)_{i=1}^d \) with \( w_i \in [0,1] \) and a cutoff threshold \( \epsilon \in (0,1)\), this limiter declares a multiindex \( \nu = (\nu_i)_{i=1}^d \) as feasible if \( w^\nu := \prod_{i=1}^d w_i^{\nu_i} > \epsilon \). It thus implements the multiindex selection criterion for the construction of a priori anisotropic sparse grids as described in Algorithm 2 in
Definition at line 81 of file MultiIndexLimiter.h.
Public Member Functions | |
AnisotropicLimiter (const Eigen::RowVectorXf &weightsIn, const double epsilonIn) | |
virtual bool | IsFeasible (std::shared_ptr< MultiIndex > multi) const override |
Public Member Functions inherited from muq::Utilities::MultiIndexLimiter | |
virtual | ~MultiIndexLimiter ()=default |
muq::Utilities::AnisotropicLimiter::AnisotropicLimiter | ( | const Eigen::RowVectorXf & | weightsIn, |
const double | epsilonIn | ||
) |
Definition at line 13 of file MultiIndexLimiter.cpp.
References epsilon, nlohmann::to_string(), and weights.
|
overridevirtual |
This function is overloaded by children to define what terms are included.
Implements muq::Utilities::MultiIndexLimiter.
Definition at line 25 of file MultiIndexLimiter.cpp.
|
private |
Definition at line 91 of file MultiIndexLimiter.h.
Referenced by AnisotropicLimiter().
|
private |
Definition at line 90 of file MultiIndexLimiter.h.
Referenced by AnisotropicLimiter().