1 #ifndef ADAPTIVESMOLYAKPCE_H
2 #define ADAPTIVESMOLYAKPCE_H
10 namespace Approximation {
16 std::vector<std::shared_ptr<Quadrature>>
const& quad1d);
22 virtual std::vector<Eigen::VectorXd>
OneTermPoints(std::shared_ptr<muq::Utilities::MultiIndex>
const& multi)
override;
24 virtual Eigen::VectorXd
ComputeOneTerm(std::shared_ptr<muq::Utilities::MultiIndex>
const& multi,
25 std::vector<std::reference_wrapper<const Eigen::VectorXd>>
const& modEvals)
override;
27 virtual Eigen::VectorXd
AddEstimates(
double w1, Eigen::VectorXd
const& part1,
28 double w2, Eigen::VectorXd
const& part2)
const override;
30 virtual double ComputeMagnitude(Eigen::VectorXd
const& estimate)
const override;
std::shared_ptr< muq::Utilities::MultiIndex > cachedMulti
virtual Eigen::VectorXd ComputeOneTerm(std::shared_ptr< muq::Utilities::MultiIndex > const &multi, std::vector< std::reference_wrapper< const Eigen::VectorXd >> const &modEvals) override
AdaptiveSmolyakQuadrature(std::shared_ptr< muq::Modeling::ModPiece > const &modelIn, std::vector< std::shared_ptr< Quadrature >> const &quad1d)
virtual double ComputeMagnitude(Eigen::VectorXd const &estimate) const override
FullTensorQuadrature tensQuad
virtual Eigen::VectorXd AddEstimates(double w1, Eigen::VectorXd const &part1, double w2, Eigen::VectorXd const &part2) const override
virtual std::vector< Eigen::VectorXd > OneTermPoints(std::shared_ptr< muq::Utilities::MultiIndex > const &multi) override
virtual ~AdaptiveSmolyakQuadrature()=default
Multivariate quadrature rule defined by the tensor product of 1d rules.