8 AdaptiveSmolyakQuadrature::AdaptiveSmolyakQuadrature(std::shared_ptr<muq::Modeling::ModPiece>
const& modelIn,
9 std::vector<std::shared_ptr<Quadrature>>
const& quad1d)
14 assert(modelIn->inputSizes.size()==1);
15 assert(modelIn->inputSizes(0)==quad1d.size());
35 std::vector<std::reference_wrapper<const Eigen::VectorXd>>
const& modEvals)
45 Eigen::VectorXd output = modEvals.at(0).get() * wts(0);
46 for(
unsigned int i=1; i<wts.size(); ++i)
47 output += modEvals.at(i).get() * wts(i);
53 double w2, Eigen::VectorXd
const& part2)
const
55 return w1*part1 + w2*part2;
60 return estimate.array().abs().matrix().maxCoeff();
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
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 void Compute(unsigned int order) override
virtual Eigen::MatrixXd const & Points() const
virtual Eigen::VectorXd const & Weights() const