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, value_type(*weightFn)(const value_type &), const value_type &leftEndPt, const value_type &rightEndPt, 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.

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.
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,
value_type(*)(const value_type &)  weightFn,
const value_type &  leftEndPt,
const value_type &  rightEndPt,
bool  normalize 
) [inline]

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

The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Generated on Wed Apr 13 09:58:14 2011 for Stokhos by  doxygen 1.6.3