1d Quadrature rule with exponential growth More...
#include <ExponentialGrowthQuadrature.h>
1d Quadrature rule with exponential growth
In many cases, such as pseudo-spectral constructions of polynomial chaos expansions, it can be advantageous for the quadrature order to grow faster than normal. This rule facilitates that by wrapping around another one dimensional quadrature rule but transforming the index. If the original quadrature rule with index \(j\) is denoted by \(Q_0(j)\), then this rule will return \(q_1(k) = Q(2^k)\) for a specified index $k$.
Definition at line 19 of file ExponentialGrowthQuadrature.h.
Public Member Functions | |
ExponentialGrowthQuadrature (std::shared_ptr< Quadrature > const &quadIn) | |
virtual | ~ExponentialGrowthQuadrature ()=default |
virtual void | Compute (unsigned int index) override |
virtual unsigned int | Exactness (unsigned int quadOrder) const override |
virtual Eigen::MatrixXd const & | Points () const override |
virtual Eigen::VectorXd const & | Weights () const override |
Public Member Functions inherited from muq::Approximation::Quadrature | |
Quadrature (unsigned int dimIn) | |
virtual | ~Quadrature ()=default |
virtual void | Compute (Eigen::RowVectorXi const &orders) |
virtual unsigned int | Dim () const |
ExponentialGrowthQuadrature::ExponentialGrowthQuadrature | ( | std::shared_ptr< Quadrature > const & | quadIn | ) |
Definition at line 5 of file ExponentialGrowthQuadrature.cpp.
|
virtualdefault |
|
overridevirtual |
Implements muq::Approximation::Quadrature.
Definition at line 11 of file ExponentialGrowthQuadrature.cpp.
References otherQuad.
|
overridevirtual |
Returns the order of the polynomial that can be integrated exactly by this quadrature rule. An \(n\)-point Gauss quadrature rule integrates polynomials of order \(2n-1\) exactly. Thus, since \(n\)= quadOrder+1, for Gauss quadrature rules, this function will return 2*quadOrder+1.
In the multivariate tensor product rule, the maximum exactness across all dimensions is returned.
If not exactness information is known (or implemented) for a particular quadrature rule, an exception will be thrown.
Reimplemented from muq::Approximation::Quadrature.
Definition at line 16 of file ExponentialGrowthQuadrature.cpp.
References otherQuad.
|
overridevirtual |
Return the quadrature points. The output is (Dim x NumPts), where dim is the dimension of the integral under consideration and NumPts is the number of quadrature points used in the rule.
Reimplemented from muq::Approximation::Quadrature.
Definition at line 21 of file ExponentialGrowthQuadrature.cpp.
References otherQuad.
|
overridevirtual |
Return the quadrature weights.
Reimplemented from muq::Approximation::Quadrature.
Definition at line 26 of file ExponentialGrowthQuadrature.cpp.
References otherQuad.
|
protected |
Definition at line 35 of file ExponentialGrowthQuadrature.h.
Referenced by Compute(), Exactness(), Points(), and Weights().