1 #ifndef ADAPTIVESMOLYAKPCE_H
2 #define ADAPTIVESMOLYAKPCE_H
11 namespace Approximation {
17 std::vector<std::shared_ptr<Quadrature>>
const& quad1dIn,
18 std::vector<std::shared_ptr<IndexedScalarBasis>>
const& polys1dIn);
23 virtual std::vector<Eigen::VectorXd>
OneTermPoints(std::shared_ptr<muq::Utilities::MultiIndex>
const& multi)
override;
25 virtual std::shared_ptr<PolynomialChaosExpansion>
ComputeOneTerm(std::shared_ptr<muq::Utilities::MultiIndex>
const& multi,
26 std::vector<std::reference_wrapper<const Eigen::VectorXd>>
const& modEvals)
override;
28 virtual std::shared_ptr<PolynomialChaosExpansion>
AddEstimates(
double w1, std::shared_ptr<PolynomialChaosExpansion>
const& part1,
29 double w2, std::shared_ptr<PolynomialChaosExpansion>
const& part2)
const override;
31 virtual double ComputeMagnitude(std::shared_ptr<PolynomialChaosExpansion>
const& estimate)
const override;
virtual ~AdaptiveSmolyakPCE()=default
virtual std::vector< Eigen::VectorXd > OneTermPoints(std::shared_ptr< muq::Utilities::MultiIndex > const &multi) override
virtual double ComputeMagnitude(std::shared_ptr< PolynomialChaosExpansion > const &estimate) const override
AdaptiveSmolyakPCE(std::shared_ptr< muq::Modeling::ModPiece > const &modelIn, std::vector< std::shared_ptr< Quadrature >> const &quad1dIn, std::vector< std::shared_ptr< IndexedScalarBasis >> const &polys1dIn)
virtual std::shared_ptr< PolynomialChaosExpansion > AddEstimates(double w1, std::shared_ptr< PolynomialChaosExpansion > const &part1, double w2, std::shared_ptr< PolynomialChaosExpansion > const &part2) const override
virtual std::shared_ptr< PolynomialChaosExpansion > ComputeOneTerm(std::shared_ptr< muq::Utilities::MultiIndex > const &multi, std::vector< std::reference_wrapper< const Eigen::VectorXd >> const &modEvals) override
Factory class for constructing a pseudo-spectral polynomial chaos approximation using a fixed quadrat...