44template <
typename ordinal_type,
typename value_type>
48const Teuchos::RCP<
const Teuchos::Array< Teuchos::Array<value_type> > >& points,
49 const Teuchos::RCP<
const Teuchos::Array<value_type> >& weights)
50 : quad_points(points),
53 ordinal_type nqp = points->size();
54 Teuchos::RCP<Teuchos::Array< Teuchos::Array<value_type> > > qv =
55 Teuchos::rcp(
new Teuchos::Array< Teuchos::Array<value_type> >(nqp));
56 for (ordinal_type i=0; i<nqp; i++) {
57 (*qv)[i].resize(basis->size());
58 basis->evaluateBases((*points)[i], (*qv)[i]);
63template <
typename ordinal_type,
typename value_type>
66const Teuchos::RCP<
const Teuchos::Array< Teuchos::Array<value_type> > >& points,
67const Teuchos::RCP<
const Teuchos::Array<value_type> >& weights,
68const Teuchos::RCP<
const Teuchos::Array< Teuchos::Array<value_type> > >& values)
69 : quad_points(points),
70 quad_weights(weights),
75template <
typename ordinal_type,
typename value_type>
76const Teuchos::Array< Teuchos::Array<value_type> >&
83template <
typename ordinal_type,
typename value_type>
84const Teuchos::Array<value_type>&
91template <
typename ordinal_type,
typename value_type>
92const Teuchos::Array< Teuchos::Array<value_type> >&
99template <
typename ordinal_type,
typename value_type>
102print(std::ostream& os)
const
104 ordinal_type nqp = quad_weights->size();
105 os <<
"Sparse Grid Quadrature with " << nqp <<
" points:"
106 << std::endl <<
"Weight : Points" << std::endl;
107 for (ordinal_type i=0; i<nqp; i++) {
108 os << i <<
": " << (*quad_weights)[i] <<
" : ";
109 for (ordinal_type
j=0;
110 j<static_cast<ordinal_type>((*quad_points)[i].size());
112 os << (*quad_points)[i][
j] <<
" ";
115 os <<
"Basis values at quadrature points:" << std::endl;
116 for (ordinal_type i=0; i<nqp; i++) {
117 os << i <<
" " <<
": ";
118 for (ordinal_type
j=0;
119 j<static_cast<ordinal_type>((*quad_values)[i].size());
121 os << (*quad_values)[i][
j] <<
" ";
Abstract base class for multivariate orthogonal polynomials.
virtual const Teuchos::Array< Teuchos::Array< value_type > > & getQuadPoints() const
Get quadrature points.
virtual const Teuchos::Array< Teuchos::Array< value_type > > & getBasisAtQuadPoints() const
Get values of basis at quadrature points.
Teuchos::RCP< const Teuchos::Array< Teuchos::Array< value_type > > > quad_values
Quadrature values.
UserDefinedQuadrature(const Teuchos::RCP< const OrthogPolyBasis< ordinal_type, value_type > > &basis, const Teuchos::RCP< const Teuchos::Array< Teuchos::Array< value_type > > > &points, const Teuchos::RCP< const Teuchos::Array< value_type > > &weights)
Constructor.
virtual std::ostream & print(std::ostream &os) const
Print quadrature data.
virtual const Teuchos::Array< value_type > & getQuadWeights() const
Get quadrature weights.