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 ordinal_type order () const =0
Return order of basis (largest monomial degree ).
virtual ordinal_type size () const =0
Return total size of basis (given by order() + 1).
virtual const Teuchos::Array< value_type > & norm_squared () const =0
Return array storing norm-squared of each basis polynomial.
virtual const value_type & norm_squared (ordinal_type i) const =0
Return norm squared of basis polynomial i
.
virtual Teuchos::RCP< Stokhos::Dense3Tensor < ordinal_type, value_type > > computeTripleProductTensor () const =0
Compute triple product tensor.
virtual Teuchos::RCP< Stokhos::Sparse3Tensor < ordinal_type, value_type > > computeSparseTripleProductTensor (ordinal_type order ) const =0
Compute triple product tensor.
virtual Teuchos::RCP< Teuchos::SerialDenseMatrix< ordinal_type, value_type > > computeDerivDoubleProductTensor () const =0
Compute derivative double product tensor.
virtual void evaluateBases (const value_type &point, Teuchos::Array< value_type > &basis_pts) const =0
Evaluate each basis polynomial at given point point
.
virtual value_type evaluate (const value_type &point, ordinal_type order ) const =0
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 =0
Return string name of basis.
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 =0
Compute quadrature points, weights, and values of basis polynomials at given set of points points
.
virtual ordinal_type quadDegreeOfExactness (ordinal_type n) const =0
virtual Teuchos::RCP< OneDOrthogPolyBasis < ordinal_type, value_type > > cloneWithOrder (ordinal_type p) const =0
Clone this object with the option of building a higher order basis.
virtual ordinal_type coefficientGrowth (ordinal_type n) const =0
Evaluate coefficient growth rule for Smolyak-type bases.
virtual ordinal_type pointGrowth (ordinal_type n) const =0
Evaluate point growth rule for Smolyak-type bases.
virtual LevelToOrderFnPtr getSparseGridGrowthRule () const =0
Get sparse grid level_to_order mapping function.
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)
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 .