44 #ifndef STOKHOS_SPARSEGRIDQUADRATURE
45 #define STOKHOS_SPARSEGRIDQUADRATURE
48 #ifdef HAVE_STOKHOS_DAKOTA
53 #include "pecos_global_defs.hpp"
66 template <
typename ordinal_type,
typename value_type>
67 class SparseGridQuadrature :
public Quadrature<ordinal_type,value_type> {
78 const Teuchos::RCP<
const ProductBasis<ordinal_type,value_type> >& product_basis,
81 ordinal_type growth_rate = Pecos::SLOW_RESTRICTED_GROWTH);
84 virtual ~SparseGridQuadrature() {}
87 virtual ordinal_type size()
const {
return quad_weights.size(); }
95 getQuadPoints()
const;
102 getQuadWeights()
const;
110 getBasisAtQuadPoints()
const;
113 virtual std::ostream& print(std::ostream& os)
const;
118 SparseGridQuadrature(
const SparseGridQuadrature&);
121 SparseGridQuadrature& operator=(
const SparseGridQuadrature& b);
123 static void getMyPoints(
int order,
int dim,
double x[] );
125 static void getMyWeights(
int order,
int dim,
double w[] );
142 static SparseGridQuadrature *sgq;
151 #endif // HAVE_STOKHOS_DAKOTA
153 #endif // STOKHOS_SPARSEGRIDQUADRATURE