42#ifndef STOKHOS_KL_ONE_D_EXPONENTIAL_EIGENPAIR_HPP
43#define STOKHOS_KL_ONE_D_EXPONENTIAL_EIGENPAIR_HPP
48#include "Kokkos_Core.hpp"
56 template <
typename eigen_function_type>
58 typedef typename eigen_function_type::value_type
value_type;
72 template <
typename Value>
85 KOKKOS_INLINE_FUNCTION
90 KOKKOS_INLINE_FUNCTION
94 const int dim_name_) :
95 type(type_),
a((b_-a_)/2.0),
b((b_+a_)/2.0),
omega(omega_),
104 KOKKOS_INLINE_FUNCTION
108 template <
typename po
int_type>
109 KOKKOS_INLINE_FUNCTION
118 void print(std::ostream& os)
const {
128 KOKKOS_INLINE_FUNCTION
132 KOKKOS_INLINE_FUNCTION
136 KOKKOS_INLINE_FUNCTION
140 KOKKOS_INLINE_FUNCTION
One-dimensional eigenfunction for exponential covariance function.
KOKKOS_INLINE_FUNCTION ExponentialOneDEigenFunction(TYPE type_, const value_type &a_, const value_type &b_, const value_type &omega_, const int dim_name_)
Constructor.
value_type omega
Frequency of eigenfunction.
KOKKOS_INLINE_FUNCTION point_type evaluate(const point_type &x) const
Evaluate eigenfunction.
KOKKOS_INLINE_FUNCTION TYPE getType() const
Return type.
TYPE
Enum identifying the type of eigenfunction.
value_type a
Domain length.
TYPE type
Type of eigenfunction (sin or cos)
KOKKOS_INLINE_FUNCTION ~ExponentialOneDEigenFunction()
Destructor.
int dim_name
Dimesion name (e.g., x_1) for printing eigenfunction.
KOKKOS_INLINE_FUNCTION value_type getMultiplier() const
Return multiplier.
value_type A
Multiplier for eigenfunction.
void print(std::ostream &os) const
Print eigenfunction.
KOKKOS_INLINE_FUNCTION value_type getFrequency() const
Return frequency.
value_type b
Domain center.
KOKKOS_INLINE_FUNCTION value_type getShift() const
Get shift.
KOKKOS_INLINE_FUNCTION ExponentialOneDEigenFunction()
Default Constructor.
Top-level namespace for Stokhos classes and functions.
Container for one-dimensional eigenfunction and eigenvalue.
eigen_function_type::value_type value_type
eigen_function_type eig_func