48 template <
typename ordinal_type,
typename value_type>
53 ordinal_type new_order,
bool use_pce_qp,
bool normalize) :
58 Teuchos::Array< Teuchos::RCP<const OneDOrthogPolyBasis<ordinal_type, value_type> > > new_coordinate_bases(new_dim);
62 new_coordinate_bases[k] = Teuchos::rcp(
63 new StieltjesPCEBasis<ordinal_type,value_type>(
64 new_order, Teuchos::rcp(&(pces[k]),
false),
quad, use_pce_qp,
71 new CompletePolynomialBasis<ordinal_type,value_type>(new_coordinate_bases)
75 const Teuchos::Array<value_type>& weights =
quad->getQuadWeights();
76 const Teuchos::Array< Teuchos::Array<value_type> >& points =
77 quad->getQuadPoints();
79 Teuchos::RCP< Teuchos::Array< Teuchos::Array<value_type> > > new_points =
80 Teuchos::rcp(
new Teuchos::Array< Teuchos::Array<value_type> >(nqp));
81 Teuchos::RCP< Teuchos::Array<value_type> > new_weights =
82 Teuchos::rcp(
new Teuchos::Array<value_type>(weights));
84 (*new_points)[i].resize(new_dim);
86 Teuchos::Array<value_type> st_points;
87 Teuchos::Array<value_type> st_weights;
88 Teuchos::Array< Teuchos::Array<value_type> > st_values;
89 new_coordinate_bases[k]->getQuadPoints(new_order+1, st_points, st_weights,
93 (*new_points)[i][k] = st_points[i];
96 new GramSchmidtBasis<ordinal_type,value_type>(
tensor_basis,
103 Teuchos::RCP<const OrthogPolyBasis<ordinal_type,value_type> > new_basis =
106 new UserDefinedQuadrature<ordinal_type,value_type>(new_basis,
113 template <
typename ordinal_type,
typename value_type>
114 Teuchos::RCP<const Stokhos::OrthogPolyBasis<ordinal_type, value_type> >
121 template <
typename ordinal_type,
typename value_type>
122 Teuchos::RCP<Stokhos::Quadrature<ordinal_type, value_type> >
129 template <
typename ordinal_type,
typename value_type>
138 if (new_pces.size() != pces.size())
139 new_pces.resize(dim);
142 p_tensor.
term(k, 0) = pces[k].mean();
143 p_tensor.
term(k, 1) = 1.0;
144 new_pces[k].reset(gs_basis);
145 gs_basis->transformCoeffs(p_tensor.
coeff(), new_pces[k].coeff());