|
Stokhos Development
|
An operator for building pseudo-spectral coefficients using a sparse Smolyak construction. More...
#include <Stokhos_SmolyakPseudoSpectralOperator.hpp>


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_type > | point_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_type & | point (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. | |
| 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. | |
| 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. | |
An operator for building pseudo-spectral coefficients using a sparse Smolyak construction.
| Stokhos::SmolyakPseudoSpectralOperator< ordinal_type, value_type, point_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.
References coeff_sz, Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::dimension(), Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::evaluateBases(), gather_maps, Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::getCoordinateBases(), Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::getNumSmolyakTerms(), Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::getSmolyakCoefficient(), Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::getTensorProductBasis(), Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::index(), Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::norm_squared(), operators, pce2qp, point(), point_map, points, qp2pce, scatter_maps, Stokhos::SmolyakBasis< ordinal_type, value_type, coeff_compare_type >::size(), smolyak_coeffs, and use_smolyak.
|
protected |
Apply transformation operator using direct method.
References blas.
Referenced by transformPCE2QP(), and transformQP2PCE().
|
inlinevirtual |
Iterator to begining of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References point_map.
|
inlinevirtual |
Iterator to begining of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References point_map.
|
inlinevirtual |
Number of coefficients.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References coeff_sz.
|
inlinevirtual |
Iterator to end of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References point_map.
|
inlinevirtual |
Iterator to end of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References point_map.
|
inlinevirtual |
Get point index for given point.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
|
inlinevirtual |
Get point for given index.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References point_map.
Referenced by index(), and SmolyakPseudoSpectralOperator().
|
inlinevirtual |
Number of points.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References points.
|
inlinevirtual |
Iterator to begining of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References points.
|
inlinevirtual |
Iterator to begining of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References points.
|
inlinevirtual |
Iterator to end of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References points.
|
inlinevirtual |
Iterator to end of point set.
Implements Stokhos::PseudoSpectralOperator< ordinal_t, value_t, point_compare_type >.
References points.
|
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 apply_direct(), and pce2qp.
|
protected |
Transform PCE coefficients to values at quadrature points using Smolyak formula.
References gather_maps, operators, scatter_maps, and smolyak_coeffs.
|
virtual |
Transform values at quadrature points to PCE coefficients.
input is a vector storing values of a function at the quadrature points, and result will contain the resulting polynomial chaos coefficients. 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 apply_direct(), qp2pce, transformQP2PCE_smolyak(), and use_smolyak.
|
protected |
Transform values at quadrature points to PCE coefficients using Smolyak formula.
References gather_maps, operators, scatter_maps, and smolyak_coeffs.
Referenced by transformQP2PCE().
|
protected |
BLAS wrappers.
Referenced by apply_direct().
|
protected |
Number of coefficients.
Referenced by coeff_size(), and SmolyakPseudoSpectralOperator().
|
protected |
Gather maps for each operator for Smolyak apply.
Referenced by SmolyakPseudoSpectralOperator(), transformPCE2QP_smolyak(), and transformQP2PCE_smolyak().
|
protected |
Tensor pseudospectral operators.
Referenced by SmolyakPseudoSpectralOperator(), transformPCE2QP_smolyak(), and transformQP2PCE_smolyak().
|
protected |
Matrix mapping coefficients to points.
Referenced by SmolyakPseudoSpectralOperator(), and transformPCE2QP().
|
protected |
|
protected |
Smolyak sparse grid.
Referenced by index(), point_size(), set_begin(), set_begin(), set_end(), set_end(), and SmolyakPseudoSpectralOperator().
|
protected |
Matrix mapping points to coefficients.
Referenced by SmolyakPseudoSpectralOperator(), and transformQP2PCE().
|
protected |
Scatter maps for each operator for Smolyak apply.
Referenced by SmolyakPseudoSpectralOperator(), transformPCE2QP_smolyak(), and transformQP2PCE_smolyak().
|
protected |
Smolyak coefficients.
Referenced by SmolyakPseudoSpectralOperator(), transformPCE2QP_smolyak(), and transformQP2PCE_smolyak().
|
protected |
Use Smolyak apply method.
Referenced by SmolyakPseudoSpectralOperator(), and transformQP2PCE().