Generates three-term recurrence using the Discretized Stieltjes procedure. More...
#include <Stokhos_DiscretizedStieltjesBasis.hpp>


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. | |
| 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 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 where = order. | |
| value_type | expectedValue_J_nsquared (const ordinal_type &order, const Teuchos::Array< value_type > &alpha, const Teuchos::Array< value_type > &beta) const |
Approximates where = order. | |
| DiscretizedStieltjesBasis (const ordinal_type &p, const DiscretizedStieltjesBasis &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. | |
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. | |
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.
| 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 | ||
| ) |
Constructor.
| 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 |
| Teuchos::RCP< Stokhos::OneDOrthogPolyBasis< ordinal_type, value_type > > Stokhos::DiscretizedStieltjesBasis< 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 >.
Reimplemented in Stokhos::RysBasis< ordinal_type, value_type >.
1.7.6.1