MUQ  0.4.3
FullTensorQuadrature.h
Go to the documentation of this file.
1 #ifndef FULLTENSORQUADRATURE_H_
2 #define FULLTENSORQUADRATURE_H_
3 
4 #include <Eigen/Core>
5 #include <vector>
6 
8 
9 
10 namespace muq {
11  namespace Approximation {
12 
29 public:
30 
35  FullTensorQuadrature(unsigned int dim,
36  std::shared_ptr<Quadrature> const& rules);
37 
40  FullTensorQuadrature(unsigned int dim,
41  std::shared_ptr<Quadrature> const& rules,
42  unsigned int order);
43 
49  FullTensorQuadrature(std::vector<std::shared_ptr<Quadrature>> const& rules,
50  Eigen::RowVectorXi orders = Eigen::RowVectorXi());
51 
52 
53  virtual ~FullTensorQuadrature() = default;
54 
55  virtual void Compute(unsigned int order) override;
56  virtual void Compute(Eigen::RowVectorXi const& orders) override;
57 
58  virtual unsigned int Exactness(unsigned int quadOrder) const override;
59 
60 private:
61 
62  std::vector<std::shared_ptr<Quadrature>> rules;
63 };
64 }
65 }
66 
67 #endif /* FULLTENSORQUADRATURE_H_ */
Multivariate quadrature rule defined by the tensor product of 1d rules.
virtual unsigned int Exactness(unsigned int quadOrder) const override
std::vector< std::shared_ptr< Quadrature > > rules
FullTensorQuadrature(unsigned int dim, std::shared_ptr< Quadrature > const &rules)
virtual void Compute(unsigned int order) override
Base class for multivariate quadrature rules. @detail An abstract class for computing nodes and weigh...
Definition: Quadrature.h:124