44 #ifndef STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP
45 #define STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP
48 #ifdef HAVE_STOKHOS_DAKOTA
51 #include "TriKota_ConfigDefs.hpp"
52 #include "OrthogonalPolynomial.hpp"
59 template <
typename ordinal_type,
typename value_type>
60 class PecosOneDOrthogPolyBasis :
61 public OneDOrthogPolyBasis<ordinal_type, value_type> {
69 PecosOneDOrthogPolyBasis(
74 virtual ~PecosOneDOrthogPolyBasis();
107 computeTripleProductTensor()
const;
111 computeSparseTripleProductTensor(
ordinal_type order)
const;
130 virtual void evaluateBases(
const value_type& point,
141 virtual void print(std::ostream& os)
const;
144 virtual const std::string& getName()
const;
182 typedef typename OneDOrthogPolyBasis<ordinal_type,value_type>::LevelToOrderFnPtr LevelToOrderFnPtr;
194 virtual LevelToOrderFnPtr getSparseGridGrowthRule()
const {
195 return sparse_grid_growth_rule; }
198 virtual void setSparseGridGrowthRule(LevelToOrderFnPtr ptr) {
199 sparse_grid_growth_rule = ptr; }
216 virtual void evaluateBasesAndDerivatives(
const value_type& point,
224 const PecosOneDOrthogPolyBasis& basis);
229 PecosOneDOrthogPolyBasis(
const PecosOneDOrthogPolyBasis&);
232 PecosOneDOrthogPolyBasis& operator=(
const PecosOneDOrthogPolyBasis& b);
246 LevelToOrderFnPtr sparse_grid_growth_rule;
258 #endif // HAVE_STOKHOS_DAKOTA
260 #endif // STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP