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.
virtual ~RecurrenceBasis ()
Destructor.
virtual ordinal_type order () const
Return order of basis (largest monomial degree ).
virtual ordinal_type size () const
Return total size of basis (given by order() + 1).
virtual const Teuchos::Array< value_type > & norm_squared () const
Return array storing norm-squared of each basis polynomial.
virtual const value_type & norm_squared (ordinal_type i) const
Return norm squared of basis polynomial i
.
virtual Teuchos::RCP< Stokhos::Dense3Tensor < ordinal_type, value_type > > computeTripleProductTensor () const
Compute triple product tensor.
virtual Teuchos::RCP< Stokhos::Sparse3Tensor < ordinal_type, value_type > > computeSparseTripleProductTensor (ordinal_type order ) const
Compute triple product tensor.
virtual Teuchos::RCP< Teuchos::SerialDenseMatrix< ordinal_type, value_type > > computeDerivDoubleProductTensor () const
Compute derivative double product tensor.
virtual void evaluateBases (const value_type &point, Teuchos::Array< value_type > &basis_pts) const
Evaluate each basis polynomial at given point point
.
virtual value_type evaluate (const value_type &point, ordinal_type order ) const
Evaluate basis polynomial given by order order
at given point point
.
virtual void print (std::ostream &os) const
Print basis to stream os
.
virtual const std::string & getName () const
Return string name of basis.
virtual ordinal_type quadDegreeOfExactness (ordinal_type n) const
virtual ordinal_type coefficientGrowth (ordinal_type n) const
Evaluate coefficient growth rule for Smolyak-type bases.
virtual ordinal_type pointGrowth (ordinal_type n) const
Evaluate point growth rule for Smolyak-type bases.
virtual LevelToOrderFnPtr getSparseGridGrowthRule () const
Get sparse grid level_to_order mapping function.
virtual void setSparseGridGrowthRule (LevelToOrderFnPtr ptr)
Set sparse grid rule.
virtual void getRecurrenceCoefficients (Teuchos::Array< value_type > &alpha , Teuchos::Array< value_type > &beta , Teuchos::Array< value_type > &delta , Teuchos::Array< value_type > &gamma ) const
Return recurrence coefficients defined by above formula.
virtual void evaluateBasesAndDerivatives (const value_type &point, Teuchos::Array< value_type > &vals, Teuchos::Array< value_type > &derivs) const
Evaluate basis polynomials and their derivatives at given point point
.
virtual void setQuadZeroTol (value_type tol)
Set tolerance for zero in quad point generation.
OneDOrthogPolyBasis ()
Default constructor.
virtual ~OneDOrthogPolyBasis ()
Destructor.
virtual void setSparseGridGrowthRule (LevelToOrderFnPtr ptr)=0
Set sparse grid rule.
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
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.
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.
LanczosPCEBasis (ordinal_type p , const LanczosPCEBasis &basis)
Copy constructor with specified order.
LanczosPCEBasis (const LanczosPCEBasis &)
LanczosPCEBasis & operator= (const LanczosPCEBasis &b)
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.
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.
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.
Definition at line 84 of file Stokhos_LanczosPCEBasis.hpp .
template<typename ordinal_type , typename value_type >
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 > .
Definition at line 130 of file Stokhos_LanczosPCEBasisImp.hpp .