Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Stokhos_RysBasis.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_RYSBASIS_HPP
11 #define STOKHOS_RYSBASIS_HPP
12 
14 
15 namespace Stokhos {
16 
18 
32  template <typename ordinal_type, typename value_type>
33  class RysBasis :
34  public DiscretizedStieltjesBasis<ordinal_type, value_type> {
35  public:
36 
38 
46  "Rys", p, rysWeight, -c, c, normalize, growth) {}
47 
49  ~RysBasis() {}
50 
52  static value_type rysWeight(const value_type& x) {
53  return std::exp(-x*x/2.0);
54  }
55 
67  { return Teuchos::rcp(new RysBasis<ordinal_type,value_type>(p,*this)); }
68 
69  protected:
70 
72  RysBasis(ordinal_type p, const RysBasis& basis) :
74 
75  private:
76 
77  // Prohibit copying
78  RysBasis(const RysBasis&);
79 
80  // Prohibit Assignment
81  RysBasis& operator=(const RysBasis& b);
82 
83  }; // class RysBasis
84 
85 } // Namespace Stokhos
86 
87 #endif
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.
Generates three-term recurrence using the Discretized Stieltjes procedure.
GrowthPolicy
Enumerated type for determining Smolyak growth policies.
static value_type rysWeight(const value_type &x)
The Rys weight function.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Rys polynomial basis.
KOKKOS_INLINE_FUNCTION PCE< Storage > exp(const PCE< Storage > &a)
ordinal_type p
Order of basis.
RysBasis(ordinal_type p, const RysBasis &basis)
Copy constructor with specified order.
RysBasis & operator=(const RysBasis &b)
RysBasis(ordinal_type p, value_type c, bool normalize, GrowthPolicy growth=SLOW_GROWTH)
Constructor.
GrowthPolicy growth
Smolyak growth policy.
~RysBasis()
Destructor.