|
Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
|
Go to the documentation of this file.
42 #ifndef STOKHOS_SMOLYAK_PSEUDO_SPECTRAL_OPERATOR_HPP
43 #define STOKHOS_SMOLYAK_PSEUDO_SPECTRAL_OPERATOR_HPP
57 template <
typename ordinal_t,
59 typename point_compare_type =
81 template <
typename coeff_compare_type>
84 bool use_smolyak_apply =
true,
86 const point_compare_type& point_compare = point_compare_type());
125 it ==
points.end(), std::logic_error,
"Invalid term " <<
point);
126 return it->second.second;
145 bool trans =
false)
const;
160 bool trans =
false)
const;
virtual void transformPCE2QP(const value_type &alpha, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result, const value_type &beta, bool trans=false) const
Transform PCE coefficients to quadrature values.
const point_type & point(ordinal_type n) const
Get point for given index.
LexographicLess< TensorProductElement< ordinal_type, value_type >, FloatingPointLess< value_type > > type
An operator interface for building pseudo-spectral approximations.
iterator begin()
Iterator to begining of point set.
An operator for building pseudo-spectral coefficients using a sparse Smolyak construction.
MultiIndex< ordinal_type > multiindex_type
const_set_iterator set_end() const
Iterator to end of point set.
void gather(const Teuchos::Array< ordinal_type > &map, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, bool trans, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result) const
set_iterator set_begin()
Iterator to begining of point set.
std::map< point_type, std::pair< value_type, ordinal_type >, point_compare_type > point_set_type
Teuchos::SerialDenseMatrix< ordinal_type, value_type > qp2pce
Matrix mapping points to coefficients.
point_map_type point_map
Map index to sparse grid term.
point_map_type::const_iterator const_iterator
ordinal_type point_size() const
Number of points.
bool use_smolyak
Use Smolyak apply method.
base_type::point_map_type point_map_type
void transformQP2PCE(const value_type &alpha, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result, const value_type &beta, bool trans=false) const
Transform values at quadrature points to PCE coefficients.
point_set_type::const_iterator const_set_iterator
void transformQP2PCE_smolyak(const value_type &alpha, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result, const value_type &beta, bool trans) const
Transform values at quadrature points to PCE coefficients using Smolyak formula.
point_map_type::iterator iterator
base_type::point_type point_type
void transformPCE2QP_smolyak(const value_type &alpha, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result, const value_type &beta, bool trans) const
Transform PCE coefficients to values at quadrature points using Smolyak formula.
ordinal_type coeff_size() const
Number of coefficients.
const_iterator begin() const
Iterator to begining of point set.
Multivariate orthogonal polynomial basis generated from a Smolyak sparse grid.
void apply_direct(const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &A, const value_type &alpha, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result, const value_type &beta, bool trans) const
Apply transformation operator using direct method.
ordinal_type index(const point_type &point) const
Get point index for given point.
Teuchos::Array< Teuchos::Array< ordinal_type > > scatter_maps
Scatter maps for each operator for Smolyak apply.
void scatter(const Teuchos::Array< ordinal_type > &map, const Teuchos::SerialDenseMatrix< ordinal_type, value_type > &input, bool trans, Teuchos::SerialDenseMatrix< ordinal_type, value_type > &result) const
set_iterator set_end()
Iterator to end of point set.
const_iterator end() const
Iterator to end of point set.
ordinal_type coeff_sz
Number of coefficients.
iterator end()
Iterator to end of point set.
point_set_type::iterator set_iterator
base_type::const_set_iterator const_set_iterator
base_type::point_set_type point_set_type
const_set_iterator set_begin() const
Iterator to begining of point set.
Teuchos::Array< Teuchos::RCP< operator_type > > operator_set_type
Top-level namespace for Stokhos classes and functions.
An operator for building pseudo-spectral coefficients using tensor-product quadrature.
base_type::const_iterator const_iterator
PseudoSpectralOperator< ordinal_type, value_type, point_compare_type > base_type
Teuchos::Array< Teuchos::Array< ordinal_type > > gather_maps
Gather maps for each operator for Smolyak apply.
virtual ~SmolyakPseudoSpectralOperator()
Destructor.
point_set_type points
Smolyak sparse grid.
TensorProductPseudoSpectralOperator< ordinal_type, value_type > operator_type
Container storing a term in a generalized tensor product.
SmolyakPseudoSpectralOperator(const SmolyakBasis< ordinal_type, value_type, coeff_compare_type > &smolyak_basis, bool use_smolyak_apply=true, bool use_pst=true, const point_compare_type &point_compare=point_compare_type())
Constructor.
base_type::set_iterator set_iterator
Teuchos::BLAS< ordinal_type, value_type > blas
BLAS wrappers.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
base_type::iterator iterator
Teuchos::Array< value_type > smolyak_coeffs
Smolyak coefficients.
Teuchos::SerialDenseMatrix< ordinal_type, value_type > pce2qp
Matrix mapping coefficients to points.
operator_set_type operators
Tensor pseudospectral operators.