12 #include <boost/property_tree/ptree.hpp>
15 namespace Approximation {
25 PCEFactory(std::vector<std::shared_ptr<Quadrature>>
const& quadTypesIn,
26 std::vector<std::shared_ptr<IndexedScalarBasis>>
const& polyTypesIn);
36 PCEFactory(std::vector<std::shared_ptr<Quadrature>>
const& quadTypesIn,
37 std::shared_ptr<muq::Utilities::MultiIndex>
const& quadOrders,
38 std::vector<std::shared_ptr<IndexedScalarBasis>>
const& polyTypesIn);
57 PCEFactory(std::vector<std::shared_ptr<Quadrature>>
const& quadTypesIn,
58 std::shared_ptr<muq::Utilities::MultiIndex>
const& quadOrders,
59 std::vector<std::shared_ptr<IndexedScalarBasis>>
const& polyTypesIn,
60 std::shared_ptr<muq::Utilities::MultiIndexSet>
const& polyMultisIn);
69 std::shared_ptr<PolynomialChaosExpansion>
Compute(std::shared_ptr<muq::Modeling::ModPiece>
const& model);
95 std::shared_ptr<PolynomialChaosExpansion>
Compute(std::vector<Eigen::VectorXd>
const& quadEvals);
97 std::shared_ptr<PolynomialChaosExpansion>
Compute(std::vector<std::reference_wrapper<const Eigen::VectorXd>>
const& quadEvals);
99 std::shared_ptr<PolynomialChaosExpansion>
Compute(std::vector<Eigen::VectorXd>
const& quadEvals,
100 std::shared_ptr<muq::Utilities::MultiIndex>
const& quadOrders);
102 std::shared_ptr<PolynomialChaosExpansion>
Compute(std::vector<std::reference_wrapper<const Eigen::VectorXd>>
const& quadEvals,
103 std::shared_ptr<muq::Utilities::MultiIndex>
const& quadOrders);
108 std::vector<Eigen::VectorXd>
const&
QuadPts(std::shared_ptr<muq::Utilities::MultiIndex>
const& quadOrders);
117 void Setup(std::shared_ptr<muq::Utilities::MultiIndex>
const& quadOrders);
123 std::vector<std::shared_ptr<IndexedScalarBasis>>
polyTypes;
Multivariate quadrature rule defined by the tensor product of 1d rules.
Factory class for constructing a pseudo-spectral polynomial chaos approximation using a fixed quadrat...
std::shared_ptr< muq::Utilities::MultiIndex > quadOrdersCache
FullTensorQuadrature tensQuad
PCEFactory(std::vector< std::shared_ptr< Quadrature >> const &quadTypesIn, std::vector< std::shared_ptr< IndexedScalarBasis >> const &polyTypesIn)
std::vector< Eigen::VectorXd > const & QuadPts() const
void Setup(std::shared_ptr< muq::Utilities::MultiIndex > const &quadOrders)
std::vector< Eigen::VectorXd > quadPts
std::shared_ptr< PolynomialChaosExpansion > Compute(std::shared_ptr< muq::Modeling::ModPiece > const &model)
std::vector< std::shared_ptr< Quadrature > > quadTypes
std::shared_ptr< muq::Utilities::MultiIndexSet > polyMultis
std::vector< std::shared_ptr< IndexedScalarBasis > > polyTypes