Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Stokhos_DiscretizedStieltjesBasis.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Stokhos Package
4 //
5 // Copyright 2009 NTESS and the Stokhos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef STOKHOS_DISCRETIZEDSTIELTJESBASIS_HPP
11 #define STOKHOS_DISCRETIZEDSTIELTJESBASIS_HPP
12 
14 
15 namespace Stokhos {
16 
18 
30  template <typename ordinal_type, typename value_type>
32  public RecurrenceBasis<ordinal_type, value_type> {
33  public:
34 
36 
45  const std::string& name, const ordinal_type& p,
46  value_type (*weightFn)(const value_type&),
47  const value_type& leftEndPt,
48  const value_type& rightEndPt,
49  bool normalize,
51 
54 
57  const ordinal_type& order2) const;
58 
70 
71  protected:
72 
74 
75 
77  virtual bool
83 
85 
89  const Teuchos::Array<value_type>& alpha,
90  const Teuchos::Array<value_type>& beta) const;
91 
93  value_type evaluateWeight(const value_type& x) const;
94 
96  value_type
98  const Teuchos::Array<value_type>& alpha,
99  const Teuchos::Array<value_type>& beta) const;
100 
102  value_type
104  const Teuchos::Array<value_type>& alpha,
105  const Teuchos::Array<value_type>& beta) const;
106 
107  protected:
108 
111  const DiscretizedStieltjesBasis& basis);
112 
113  private:
114 
115  // Prohibit copying
117 
118  // Prohibit Assignment
120 
121  protected:
122 
125 
128 
131 
134 
137 
140 
143 
144  }; // class DiscretizedStieltjesBasis
145 
146 } // Namespace Stokhos
147 
148 // Include template definitions
149 
151 #endif
Teuchos::Array< value_type > delta
Recurrence coefficients.
value_type evaluateWeight(const value_type &x) const
Evaluates the scaled weight function.
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.
Implementation of OneDOrthogPolyBasis based on the general three-term recurrence relationship: for ...
Generates three-term recurrence using the Discretized Stieltjes procedure.
std::string name
Name of basis.
value_type eval_inner_product(const ordinal_type &order1, const ordinal_type &order2) const
Evaluate inner product of two basis functions to test orthogonality.
Teuchos::Array< value_type > beta
Recurrence coefficients.
GrowthPolicy
Enumerated type for determining Smolyak growth policies.
Teuchos::Array< value_type > quad_weights
Quadrature points for discretized stieltjes procedure.
Teuchos::Array< value_type > alpha
Recurrence coefficients.
const value_type leftEndPt_
Left end point of domain.
Teuchos::Array< Teuchos::Array< value_type > > quad_values
Quadrature values for discretized stieltjes procedure.
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.
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.
Teuchos::Array< value_type > quad_points
Quadrature points for discretized stieltjes procedure.
const value_type rightEndPt_
Right end point of domain.
virtual ordinal_type order() const
Return order of basis (largest monomial degree ).
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.
ordinal_type p
Order of basis.
DiscretizedStieltjesBasis & operator=(const DiscretizedStieltjesBasis &b)
Teuchos::Array< value_type > gamma
Recurrence coefficients.
value_type(* weightFn_)(const value_type &)
Weight function.
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, GrowthPolicy growth=SLOW_GROWTH)
Constructor.
GrowthPolicy growth
Smolyak growth policy.
int n