Stokhos Development
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Stokhos::LanczosPCEBasis< ordinal_type, value_type > Class Template Reference

Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis. More...

#include <Stokhos_LanczosPCEBasis.hpp>

Inheritance diagram for Stokhos::LanczosPCEBasis< ordinal_type, value_type >:
Inheritance graph
[legend]
Collaboration diagram for Stokhos::LanczosPCEBasis< ordinal_type, value_type >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LanczosPCEBasis (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 normalize, bool limit_integration_order)
 Constructor.
 ~LanczosPCEBasis ()
 Destructor.
value_type getNewCoeffs (ordinal_type i) const
 Get new coefficients in this new basis.
void transformCoeffsFromLanczos (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 WeightedVectorSpace
< ordinal_type, value_type > 
vectorspace_type
typedef DiagonalOperator
< ordinal_type, value_type > 
operator_type
typedef Stokhos::Lanczos
< vectorspace_type,
operator_type
lanczos_type
typedef lanczos_type::matrix_type matrix_type
typedef lanczos_type::vector_type vector_type

Protected Member Functions

 LanczosPCEBasis (ordinal_type p, const LanczosPCEBasis &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
 PCE Lanczos procedure is based on.
Teuchos::RCP< const
Stokhos::Quadrature
< ordinal_type, value_type > > 
quad
 Quadrature object.
bool limit_integration_order
 Flag indicating whether to limit the integration order.
ordinal_type nqp
 Number of quadrature points.
vector_type pce_weights
 Quadrature weights.
vector_type pce_vals
 Values of PCE at quadrature points.
vector_type u0
 Initial Lanczos vector.
matrix_type lanczos_vecs
 Lanczos vectors.
matrix_type fromStieltjesMat
 Matrix mapping coefficients in Stieltjes basis back to original basis.
vector_type new_pce
 Projection of pce in new basis.

Detailed Description

template<typename ordinal_type, typename value_type>
class Stokhos::LanczosPCEBasis< ordinal_type, value_type >

Generates three-term recurrence using the Lanczos procedure applied to a polynomial chaos expansion in another basis.


Constructor & Destructor Documentation

template<typename ordinal_type , typename value_type >
Stokhos::LanczosPCEBasis< ordinal_type, value_type >::LanczosPCEBasis ( 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  normalize,
bool  limit_integration_order 
)

Constructor.

Parameters:
porder of the basis
pcepolynomial chaos expansion defining new density function
quadquadrature data for basis of PC expansion

Member Function Documentation

template<typename ordinal_type , typename value_type >
Teuchos::RCP< Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > > Stokhos::LanczosPCEBasis< 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 >.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator