Generates three-term recurrence using the Discretized Stieltjes procedure applied to a polynomial chaos expansion in another basis. More...
#include <Stokhos_StieltjesPCEBasis.hpp>


Public Member Functions | |
| StieltjesPCEBasis (ordinal_type p, const Teuchos::RCP< const Stokhos::OrthogPolyApprox< ordinal_type, value_type > > &pce, const Teuchos::RCP< const Stokhos::Quadrature< ordinal_type, value_type > > &quad, bool use_pce_quad_points, bool normalize=false, bool project_integrals=false, const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > &Cijk=Teuchos::null) | |
| Constructor. | |
| ~StieltjesPCEBasis () | |
| Destructor. | |
| void | transformCoeffsFromStieltjes (const value_type *in, value_type *out) const |
| Map expansion coefficients from this basis to original. | |
Implementation of Stokhos::OneDOrthogPolyBasis methods | |
| virtual void | getQuadPoints (ordinal_type quad_order, Teuchos::Array< value_type > &points, Teuchos::Array< value_type > &weights, Teuchos::Array< Teuchos::Array< value_type > > &values) const |
| Get Gauss quadrature points, weights, and values of basis at points. | |
| virtual Teuchos::RCP < OneDOrthogPolyBasis < ordinal_type, value_type > > | cloneWithOrder (ordinal_type p) const |
| Clone this object with the option of building a higher order basis. | |
Protected Types | |
|
typedef Stokhos::Sparse3Tensor < ordinal_type, value_type > | Cijk_type |
| Short-hand for triple product. | |
Protected Member Functions | |
| void | stieltjes (ordinal_type nstart, ordinal_type nfinish, const Teuchos::Array< value_type > &weights, const Teuchos::Array< value_type > &points, Teuchos::Array< value_type > &a, Teuchos::Array< value_type > &b, Teuchos::Array< value_type > &nrm, Teuchos::Array< Teuchos::Array< value_type > > &phi_vals) const |
| Compute 3-term recurrence using Stieljtes procedure. | |
| void | integrateBasisSquared (ordinal_type k, const Teuchos::Array< value_type > &a, const Teuchos::Array< value_type > &b, const Teuchos::Array< value_type > &weights, const Teuchos::Array< value_type > &points, Teuchos::Array< Teuchos::Array< value_type > > &phi_vals, value_type &val1, value_type &val2) const |
Compute and . | |
| void | integrateBasisSquaredProj (ordinal_type k, const Teuchos::Array< value_type > &a, const Teuchos::Array< value_type > &b, const Teuchos::Array< value_type > &weights, const Teuchos::Array< value_type > &points, Teuchos::Array< Teuchos::Array< value_type > > &phi_vals, value_type &val1, value_type &val2) const |
Compute and by projecting onto original PCE basis. | |
| void | evaluateRecurrence (ordinal_type k, const Teuchos::Array< value_type > &a, const Teuchos::Array< value_type > &b, const Teuchos::Array< value_type > &points, Teuchos::Array< Teuchos::Array< value_type > > &values) const |
| Evaluate polynomials via 3-term recurrence. | |
| StieltjesPCEBasis (ordinal_type p, const StieltjesPCEBasis &basis) | |
| Copy constructor with specified order. | |
Implementation of Stokhos::RecurrenceBasis methods | |
| virtual bool | computeRecurrenceCoefficients (ordinal_type n, Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta, Teuchos::Array< value_type > &gamma) const |
| Compute recurrence coefficients. | |
| virtual void | setup () |
| Setup basis after computing recurrence coefficients. | |
Protected Attributes | |
|
Teuchos::RCP< const Stokhos::OrthogPolyApprox < ordinal_type, value_type > > | pce |
| PC expansion. | |
|
Teuchos::RCP< const Stokhos::Quadrature < ordinal_type, value_type > > | quad |
| Quadrature object. | |
|
const Teuchos::Array < value_type > & | pce_weights |
| PCE quadrature weights. | |
|
const Teuchos::Array < Teuchos::Array< value_type > > & | basis_values |
| Values of PCE basis functions at quadrature points. | |
| Teuchos::Array< value_type > | pce_vals |
| Values of PCE at quadrature points. | |
|
Teuchos::Array< Teuchos::Array < value_type > > | phi_vals |
| Values of generated polynomials at PCE quadrature points. | |
| bool | use_pce_quad_points |
| Use underlying pce's quadrature data. | |
|
Teuchos::SerialDenseMatrix < ordinal_type, value_type > | fromStieltjesMat |
| Matrix mapping coefficients in Stieltjes basis back to original basis. | |
| bool | project_integrals |
| Project Stieltjes integrals to original PCE basis. | |
|
Teuchos::RCP< const Stokhos::OrthogPolyBasis < ordinal_type, value_type > > | basis |
| PCE basis (needed for integral projection method) | |
| Teuchos::RCP< const Cijk_type > | Cijk |
| Triple product tensor (needed for integral projection method) | |
| Teuchos::Array< value_type > | phi_pce_coeffs |
| Array store PC expansion of generated orthogonal polynomials. | |
Generates three-term recurrence using the Discretized Stieltjes procedure applied to a polynomial chaos expansion in another basis.
| Stokhos::StieltjesPCEBasis< ordinal_type, value_type >::StieltjesPCEBasis | ( | ordinal_type | p, |
| const Teuchos::RCP< const Stokhos::OrthogPolyApprox< ordinal_type, value_type > > & | pce, | ||
| const Teuchos::RCP< const Stokhos::Quadrature< ordinal_type, value_type > > & | quad, | ||
| bool | use_pce_quad_points, | ||
| bool | normalize = false, |
||
| bool | project_integrals = false, |
||
| const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > & | Cijk = Teuchos::null |
||
| ) |
Constructor.
| p | order of the basis |
| pce | polynomial chaos expansion defining new density function |
| quad | quadrature data for basis of PC expansion |
| use_pce_quad_points | whether to use quad to define quadrature points for the new basis, or whether to use the Golub-Welsch system. |
| normalize | whether polynomials should be given unit norm |
| Teuchos::RCP< Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > > Stokhos::StieltjesPCEBasis< ordinal_type, value_type >::cloneWithOrder | ( | ordinal_type | p | ) | const [virtual] |
Clone this object with the option of building a higher order basis.
This method is following the Prototype pattern (see Design Pattern's textbook). The slight variation is that it allows the order of the polynomial to be modified, otherwise an exact copy is formed. The use case for this is creating basis functions for column indices in a spatially varying adaptive refinement context.
Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.
1.7.6.1