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(
70 const Teuchos::RCP<Pecos::OrthogonalPolynomial>& pecosPoly,
74 virtual ~PecosOneDOrthogPolyBasis();
90 virtual const Teuchos::Array<value_type>& norm_squared()
const;
106 virtual Teuchos::RCP< Stokhos::Dense3Tensor<ordinal_type, value_type> >
107 computeTripleProductTensor()
const;
110 Teuchos::RCP< Stokhos::Sparse3Tensor<ordinal_type, value_type> >
111 computeSparseTripleProductTensor(
ordinal_type order)
const;
123 virtual Teuchos::RCP< Teuchos::SerialDenseMatrix<ordinal_type, value_type> > computeDerivDoubleProductTensor()
const;
130 virtual void evaluateBases(
const value_type& point,
131 Teuchos::Array<value_type>& basis_pts)
const;
141 virtual void print(std::ostream& os)
const;
144 virtual const std::string& getName()
const;
165 Teuchos::Array<value_type>& points,
166 Teuchos::Array<value_type>& weights,
167 Teuchos::Array< Teuchos::Array<value_type> >& values)
const;
194 virtual LevelToOrderFnPtr getSparseGridGrowthRule()
const {
195 return sparse_grid_growth_rule; }
198 virtual void setSparseGridGrowthRule(LevelToOrderFnPtr ptr) {
199 sparse_grid_growth_rule = ptr; }
211 virtual Teuchos::RCP<OneDOrthogPolyBasis<ordinal_type,value_type> > cloneWithOrder(
ordinal_type p)
const;
216 virtual void evaluateBasesAndDerivatives(
const value_type& point,
217 Teuchos::Array<value_type>& vals,
218 Teuchos::Array<value_type>& derivs)
const;
224 const PecosOneDOrthogPolyBasis& basis);
229 PecosOneDOrthogPolyBasis(
const PecosOneDOrthogPolyBasis&);
232 PecosOneDOrthogPolyBasis& operator=(
const PecosOneDOrthogPolyBasis& b);
237 Teuchos::RCP<Pecos::OrthogonalPolynomial> pecosPoly;
246 LevelToOrderFnPtr sparse_grid_growth_rule;
249 Teuchos::Array<value_type> norms;
258 #endif // HAVE_STOKHOS_DAKOTA 260 #endif // STOKHOS_PECOS_ONED_ORTHOG_POLY_BASIS_HPP
int(* LevelToOrderFnPtr)(int level, int growth)
Function pointer needed for level_to_order mappings.
Top-level namespace for Stokhos classes and functions.