|
Doxygen
1.17.0
|
Functions | |
| TasGrid::CustomTabulated | TasGrid::getExoticQuadrature (const int num_levels, const double shift, const TasGrid::TasmanianSparseGrid &grid, const char *description, const bool is_symmetric=false) |
| Constructs an exotic quadrature from a sparse grid object. | |
| TasGrid::CustomTabulated | TasGrid::getExoticQuadrature (const int num_levels, const double shift, std::function< double(double)> weight_fn, const int num_ref_points, const char *description, const bool is_symmetric=false) |
| Similar to getExoticQuadrature() but the weight function is defined by a lambda expression. | |





|
inline |
Constructs an exotic quadrature from a sparse grid object.
Constructs a set of one dimensional quadrature rules with respect to a 1D weight function approximated by grid.
| num_levels | is the number of levels that should be computed |
| shift | is a real-valued scalar that needs to be added to the weight function to make it positive |
| grid | has dimension 1 and at least one loaded point, should use as many points as possible for better accuracy (up to some point where numerical stability is lost) |
| description | is a human readable string that can be used to identify the quadrature rule (could be empty) |
| is_symmetric | indicates whether to assume that the weight is symmetric, which allows for some stability improvements; symmetric means "even" on [-1, 1], which leads to all odd power polynomials integrating to zero; the same holds for shifted domains so long as the weight is "even" with respect to the mid-point of the domain. |
| std::invalid_argument | if grid doesn't have a single input and output or no loaded points, or if the value of the weight function plus the shift is not non-negative |
The grid object is used in two ways: first, it defines a reference quadrature that will be used to compute the inner-product integrals that define orthogonal polynomials; second, it defines the values of the weight function 
Examples of symmetric weight functions are 


|
inline |
Similar to getExoticQuadrature() but the weight function is defined by a lambda expression.
Constructs a CustomTabulated object holding the points and weights for the different levels of the quadrature for the given parameter weight_fn. The num_ref_points parameter sets the number of reference points from a Gauss-Legendre quadrature that will be used to compute the inner-product integrals that define the orthogonal polynomials.