Stokhos  Development
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type > Class Template Reference

An operator for building pseudo-spectral coefficients using a sparse Smolyak construction. More...

#include <Stokhos_SmolyakPseudoSpectralOperator.hpp>

Inheritance diagram for Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >:
Inheritance graph
[legend]
Collaboration diagram for Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >:
Collaboration graph
[legend]

Public Types

typedef ordinal_t ordinal_type
 
typedef value_t value_type
 
typedef PseudoSpectralOperator< ordinal_type, value_type, point_compare_type > base_type
 
typedef base_type::point_type point_type
 
typedef base_type::point_set_type point_set_type
 
typedef base_type::point_map_type point_map_type
 
typedef base_type::iterator iterator
 
typedef base_type::const_iterator const_iterator
 
typedef base_type::set_iterator set_iterator
 
typedef base_type::const_set_iterator const_set_iterator
 
typedef MultiIndex< ordinal_type > multiindex_type
 
typedef TensorProductPseudoSpectralOperator< ordinal_type, value_type > operator_type
 
typedef Teuchos::Array< Teuchos::RCP< operator_type > > operator_set_type
 
- Public Types inherited from Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >
typedef ordinal_t ordinal_type
 
typedef value_t value_type
 
typedef TensorProductElement< ordinal_type, value_type > point_type
 
typedef std::map< point_type, std::pair< value_type, ordinal_type >, point_compare_type > point_set_type
 
typedef Teuchos::Array< point_typepoint_map_type
 
typedef point_map_type::iterator iterator
 
typedef point_map_type::const_iterator const_iterator
 
typedef point_set_type::iterator set_iterator
 
typedef point_set_type::const_iterator const_set_iterator
 

Public Member Functions

template<typename coeff_compare_type >
 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.
 
virtual ~SmolyakPseudoSpectralOperator ()
 Destructor.
 
ordinal_type point_size () const
 Number of points.
 
ordinal_type coeff_size () const
 Number of coefficients.
 
iterator begin ()
 Iterator to begining of point set.
 
iterator end ()
 Iterator to end of point set.
 
const_iterator begin () const
 Iterator to begining of point set.
 
const_iterator end () const
 Iterator to end of point set.
 
set_iterator set_begin ()
 Iterator to begining of point set.
 
set_iterator set_end ()
 Iterator to end of point set.
 
const_set_iterator set_begin () const
 Iterator to begining of point set.
 
const_set_iterator set_end () const
 Iterator to end of point set.
 
ordinal_type index (const point_type &point) const
 Get point index for given point.
 
const point_typepoint (ordinal_type n) const
 Get point for given index.
 
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. More...
 
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. More...
 
- Public Member Functions inherited from Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >
 PseudoSpectralOperator ()
 Constructor.
 
virtual ~PseudoSpectralOperator ()
 Destructor.
 

Protected Member Functions

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.
 
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.
 
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.
 
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
 
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
 

Protected Attributes

bool use_smolyak
 Use Smolyak apply method.
 
ordinal_type coeff_sz
 Number of coefficients.
 
point_set_type points
 Smolyak sparse grid.
 
point_map_type point_map
 Map index to sparse grid term.
 
Teuchos::Array< value_type > smolyak_coeffs
 Smolyak coefficients.
 
operator_set_type operators
 Tensor pseudospectral operators.
 
Teuchos::Array< Teuchos::Array< ordinal_type > > gather_maps
 Gather maps for each operator for Smolyak apply.
 
Teuchos::Array< Teuchos::Array< ordinal_type > > scatter_maps
 Scatter maps for each operator for Smolyak apply.
 
Teuchos::SerialDenseMatrix< ordinal_type, value_type > qp2pce
 Matrix mapping points to coefficients.
 
Teuchos::SerialDenseMatrix< ordinal_type, value_type > pce2qp
 Matrix mapping coefficients to points.
 
Teuchos::BLAS< ordinal_type, value_type > blas
 BLAS wrappers.
 

Detailed Description

template<typename ordinal_t, typename value_t, typename point_compare_type = typename DefaultPointCompare<ordinal_t,value_t>::type>
class Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >

An operator for building pseudo-spectral coefficients using a sparse Smolyak construction.

Member Function Documentation

template<typename ordinal_type , typename value_type , typename point_compare_type >
void Stokhos::SmolyakPseudoSpectralOperator< ordinal_type, value_type, point_compare_type >::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
virtual

Transform PCE coefficients to quadrature values.

input is a vector storing polynomial chaos coefficients and result will contain the resulting values at the quadrature points. input and result can have multiple columns for vector-valued functions and set trans to true if these (multi-) vectors are layed out in a transposed fashion.

Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.

References Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >::apply_direct(), and Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >::pce2qp.

Referenced by Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >::point(), and Stokhos::SmolyakPseudoSpectralOperator< ordinal_t, value_t, point_compare_type >::transformQP2PCE().

template<typename ordinal_type , typename value_type , typename point_compare_type >
void Stokhos::SmolyakPseudoSpectralOperator< ordinal_type, value_type, point_compare_type >::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
virtual

The documentation for this class was generated from the following files: