Stokhos Development
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Stokhos::LanczosProjPCEBasis< 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_LanczosProjPCEBasis.hpp>

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

List of all members.

Public Member Functions

 LanczosProjPCEBasis (ordinal_type p, const Teuchos::RCP< const Stokhos::OrthogPolyApprox< ordinal_type, value_type > > &pce, const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > &Cijk, bool normalize, bool limit_integration_order=false)
 Constructor.
 ~LanczosProjPCEBasis ()
 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 DenseOperator
< 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

 LanczosProjPCEBasis (ordinal_type p, const LanczosProjPCEBasis &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.
bool limit_integration_order
 Flag indicating whether to limit the integration order.
ordinal_type pce_sz
 Size of PC expansion.
Teuchos::Array< value_type > pce_norms
 Basis norms.
matrix_type Cijk_matrix
 Triple-product matrix used in generating lanczos vectors.
vector_type weights
 Weighting vector used in inner-products.
vector_type u0
 Initial Lanczos vector.
matrix_type lanczos_vecs
 Lanczos vectors.
vector_type new_pce
 Projection of pce in new basis.

Detailed Description

template<typename ordinal_type, typename value_type>
class Stokhos::LanczosProjPCEBasis< 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::LanczosProjPCEBasis< ordinal_type, value_type >::LanczosProjPCEBasis ( ordinal_type  p,
const Teuchos::RCP< const Stokhos::OrthogPolyApprox< ordinal_type, value_type > > &  pce,
const Teuchos::RCP< const Stokhos::Sparse3Tensor< ordinal_type, value_type > > &  Cijk,
bool  normalize,
bool  limit_integration_order = false 
)

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::LanczosProjPCEBasis< 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