10 #ifndef STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP
11 #define STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP
14 #ifdef HAVE_STOKHOS_DAKOTA
17 #include "TriKota_ConfigDefs.hpp"
18 #include "OrthogonalPolynomial.hpp"
25 template <
typename ordinal_type,
typename value_type>
26 class PecosOneDOrthogPolyBasis :
27 public OneDOrthogPolyBasis<ordinal_type, value_type> {
35 PecosOneDOrthogPolyBasis(
40 virtual ~PecosOneDOrthogPolyBasis();
73 computeTripleProductTensor()
const;
77 computeSparseTripleProductTensor(
ordinal_type order)
const;
96 virtual void evaluateBases(
const value_type& point,
107 virtual void print(std::ostream& os)
const;
110 virtual const std::string& getName()
const;
148 typedef typename OneDOrthogPolyBasis<ordinal_type,value_type>::LevelToOrderFnPtr LevelToOrderFnPtr;
160 virtual LevelToOrderFnPtr getSparseGridGrowthRule()
const {
161 return sparse_grid_growth_rule; }
164 virtual void setSparseGridGrowthRule(LevelToOrderFnPtr ptr) {
165 sparse_grid_growth_rule = ptr; }
182 virtual void evaluateBasesAndDerivatives(
const value_type& point,
190 const PecosOneDOrthogPolyBasis& basis);
195 PecosOneDOrthogPolyBasis(
const PecosOneDOrthogPolyBasis&);
198 PecosOneDOrthogPolyBasis& operator=(
const PecosOneDOrthogPolyBasis& b);
212 LevelToOrderFnPtr sparse_grid_growth_rule;
224 #endif // HAVE_STOKHOS_DAKOTA
226 #endif // STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP