Stokhos::DiscretizedStieltjesBasis< ordinal_type, value_type > Class Template Reference

Generates three-term recurrence using the Discretized Stieltjes procedure. More...

#include <Stokhos_DiscretizedStieltjesBasis.hpp>

Inheritance diagram for Stokhos::DiscretizedStieltjesBasis< ordinal_type, value_type >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DiscretizedStieltjesBasis (const std::string &name, const ordinal_type &p, const value_type(*weightFn)(const value_type), const value_type &leftEndPt, const value_type &rightEndPt, const bool normalize)
 Constructor.
 ~DiscretizedStieltjesBasis ()
 Destructor.
value_type eval_inner_product (const ordinal_type &order1, const ordinal_type &order2) const
 Evaluate inner product of two basis functions to test orthogonality.
Implementation of Stokhos::OneDOrthogPolyBasis methods
virtual ordinal_type getRule () const
 Get sparse grid rule number as defined by Dakota's webbur package.
virtual value_type getQuadWeightFactor () const
 Get quadrature weight factor as defined by Dakota's webbur package.
virtual value_type getQuadPointFactor () const
 Get quadrature point factor as defined by Dakota's webbur package.

Protected Member Functions

value_type evaluateRecurrence (const value_type &point, ordinal_type order, const Teuchos::Array< value_type > &alpha, const Teuchos::Array< value_type > &beta) const
 Evaluate 3-term recurrence formula using supplied coefficients.
value_type evaluateWeight (const value_type &x) const
 Evaluates the scaled weight function.
value_type expectedValue_tJ_nsquared (const ordinal_type &order, const Teuchos::Array< value_type > &alpha, const Teuchos::Array< value_type > &beta) const
 Approximates $\langle t\psi_k(t) \rangle$ where $k$ = order.
value_type expectedValue_J_nsquared (const ordinal_type &order, const Teuchos::Array< value_type > &alpha, const Teuchos::Array< value_type > &beta) const
 Approximates $\langle \psi_k(t) \rangle$ where $k$ = order.
Implementation of Stokhos::RecurrenceBasis methods
virtual void computeRecurrenceCoefficients (ordinal_type n, Teuchos::Array< value_type > &alpha, Teuchos::Array< value_type > &beta, Teuchos::Array< value_type > &delta) const
 Compute recurrence coefficients.

Protected Attributes

value_type scaleFactor
 Scale for the weight.
const value_type leftEndPt_
 Left end point of domain.
const value_type rightEndPt_
 Right end point of domain.
const value_type(* weightFn_ )(const value_type)
 Weight function.
Teuchos::Array< value_type > quad_points
 Quadrature points for discretized stieltjes procedure.
Teuchos::Array< value_type > quad_weights
 Quadrature points for discretized stieltjes procedure.
Teuchos::Array< Teuchos::Array<
value_type > > 
quad_values
 Quadrature values for discretized stieltjes procedure.

Detailed Description

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

Generates three-term recurrence using the Discretized Stieltjes procedure.

Class generates an orthogonal polynomial basis for a given weight function and interval. The Discretized Stiltjes procedure described in "On the Calculation of Rys Polynomials and Quadratures", Robin P. Sagar, Vedene H. Smith is used to generate the recurrence coefficients.

Please be aware that this method is not fullproof and that it appears to encounter trouble with strongly singular weights since Gaussan quadrature is used to compute the relevant integrals. For 'nice' weight functions the method seems relatively robust.


Constructor & Destructor Documentation

template<typename ordinal_type, typename value_type>
Stokhos::DiscretizedStieltjesBasis< ordinal_type, value_type >::DiscretizedStieltjesBasis ( const std::string &  name,
const ordinal_type &  p,
const value_type(*)(const value_type)  weightFn,
const value_type &  leftEndPt,
const value_type &  rightEndPt,
const bool  normalize 
)

Constructor.

Parameters:
name name of the basis displayed when printing
p order of the basis
weightFn function pointer defining weight function
leftEndPt left end point of the domain of the weight function
rightEndPt right end point of the domain of the weight function
normalize whether polynomials should be given unit norm


Member Function Documentation

template<typename ordinal_type, typename value_type>
virtual value_type Stokhos::DiscretizedStieltjesBasis< ordinal_type, value_type >::getQuadPointFactor (  )  const [inline, virtual]

Get quadrature point factor as defined by Dakota's webbur package.

This method is needed for building Smolyak sparse grids out of this basis.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
virtual value_type Stokhos::DiscretizedStieltjesBasis< ordinal_type, value_type >::getQuadWeightFactor (  )  const [inline, virtual]

Get quadrature weight factor as defined by Dakota's webbur package.

This method is needed for building Smolyak sparse grids out of this basis.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.

template<typename ordinal_type, typename value_type>
virtual ordinal_type Stokhos::DiscretizedStieltjesBasis< ordinal_type, value_type >::getRule (  )  const [inline, virtual]

Get sparse grid rule number as defined by Dakota's webbur package.

This method is needed for building Smolyak sparse grids out of this basis. A rule number of 10 is not defined by the webbur package, and this rule number is used internally by Stokhos::SparseGridQuadrature to pass an arbitrary one-dimensional basis to that package.

Implements Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type >.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:25:04 2010 for Stokhos by  doxygen 1.4.7