MUQ  0.4.3
GaussQuadrature.h
Go to the documentation of this file.
1 #ifndef GAUSSQUADRATURE_H_
2 #define GAUSSQUADRATURE_H_
3 
5 
7 
8 #include <Eigen/Core>
9 #include <Eigen/Eigenvalues>
10 
11 namespace muq {
12 
13  namespace Approximation {
14 
20  class GaussQuadrature : public Quadrature {
21 
22  public:
23 
25 
26  virtual ~GaussQuadrature() = default;
27 
28  GaussQuadrature(std::shared_ptr<OrthogonalPolynomial> polyIn);
29 
30  GaussQuadrature(std::shared_ptr<OrthogonalPolynomial> polyIn,
31  int polyOrderIn);
32 
33  virtual void Compute(unsigned int quadOrder) override;
34 
35  virtual unsigned int Exactness(unsigned int quadOrder) const override{return 2*quadOrder+1;};
36 
37  private:
38 
39  std::shared_ptr<OrthogonalPolynomial> poly;
40 
41  int polyOrder;
42 
43  };
44 
45  }
46 
47 }
48 
49 #endif
Class for computing Gauss Quadrature rules from an orthogonal polynomial family.
virtual void Compute(unsigned int quadOrder) override
std::shared_ptr< OrthogonalPolynomial > poly
virtual unsigned int Exactness(unsigned int quadOrder) const override
Base class for multivariate quadrature rules. @detail An abstract class for computing nodes and weigh...
Definition: Quadrature.h:124