|
Stokhos Package Browser (Single Doxygen Collection) Version of the Day
|
Class representing an exponential covariance function and its KL eigevalues/eigenfunctions. More...
#include <Stokhos_KL_OneDExponentialCovarianceFunction.hpp>
Classes | |
| struct | EigFuncCos |
| Nonlinear function whose roots define eigenvalues for cos() eigenfunction. More... | |
| struct | EigFuncSin |
| Nonlinear function whose roots define eigenvalues for sin() eigenfunction. More... | |
Public Types | |
| typedef ExponentialOneDEigenFunction< value_type > | eigen_function_type |
| typedef OneDEigenPair< eigen_function_type > | eigen_pair_type |
Public Member Functions | |
| OneDExponentialCovarianceFunction (int M, const value_type &a, const value_type &b, const value_type &L, const int dim_name, Teuchos::ParameterList &solverParams) | |
| Constructor. | |
| ~OneDExponentialCovarianceFunction () | |
| Destructor. | |
| value_type | evaluateCovariance (const value_type &x, const value_type &xp) const |
| Evaluate covariance. | |
| const Teuchos::Array< eigen_pair_type > & | getEigenPairs () const |
| Get eigenpairs. | |
Protected Types | |
| typedef Teuchos::ScalarTraits< value_type >::magnitudeType | magnitude_type |
Protected Member Functions | |
| template<class Func> | |
| value_type | newton (const Func &func, const value_type &a, const value_type &b, magnitude_type tol, int max_num_its) |
| A basic root finder based on Newton's method. | |
| template<class Func> | |
| value_type | bisection (const Func &func, const value_type &a, const value_type &b, magnitude_type tol, int max_num_its) |
| A basic root finder based on bisection. | |
Protected Attributes | |
| value_type | L |
| Correlation length. | |
| Teuchos::Array< eigen_pair_type > | eig_pair |
| Eigenpairs. | |
Private Member Functions | |
| OneDExponentialCovarianceFunction (const OneDExponentialCovarianceFunction &) | |
| Prohibit copying. | |
| OneDExponentialCovarianceFunction & | operator= (const OneDExponentialCovarianceFunction &) |
| Prohibit copying. | |
Class representing an exponential covariance function and its KL eigevalues/eigenfunctions.
This class provides the exponential covariance function
![\[ \mbox{cov}(x,x') = \exp(-|x-x'|/L).
\]](form_89.png)
The corresponding eigenfunctions can be shown to be 

![$x\in[a,b]$](form_92.png)


![\[ 1 - L\omega_n\tan(\omega_n\alpha) = 0
\]](form_95.png)
and
![\[ L\omega^\ast_n + \tan(\omega^\ast_n\alpha) = 0
\]](form_96.png)
respectively, where 

![\[ A_n = \frac{1}{\left(\int_a^b\cos^2(\omega_n(x-\beta)) dx\right)^{1/2}}
= \frac{1}{\sqrt{\alpha + \frac{\sin(2\omega_n\alpha)}{2\omega_n}}},
\]](form_99.png)
![\[ B_n
= \frac{1}{\left(\int_a^b\sin^2(\omega^\ast_n(x-\beta)) dx\right)^{1/2}}
= \frac{1}{\sqrt{\alpha - \frac{\sin(2\omega_n^\ast\alpha)}{2\omega^\ast_n}}}
\]](form_100.png)
and the corresponding eigenvalues are given by
![\[ \lambda_n = \frac{2L}{(L\omega_n)^2 + 1}
\]](form_101.png)
and
![\[ \lambda^\ast_n = \frac{2L}{(L\omega^\ast_n)^2 + 1}.
\]](form_102.png)
It is straightforward to show that for each 


For a given value of 



Data for the root solver is passed through a Teuchos::ParameterList, which accepts the following parameters:


Definition at line 119 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
| typedef ExponentialOneDEigenFunction<value_type> Stokhos::KL::OneDExponentialCovarianceFunction< value_type >::eigen_function_type |
Definition at line 122 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
| typedef OneDEigenPair<eigen_function_type> Stokhos::KL::OneDExponentialCovarianceFunction< value_type >::eigen_pair_type |
Definition at line 123 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
|
protected |
Definition at line 157 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
| Stokhos::KL::OneDExponentialCovarianceFunction< value_type >::OneDExponentialCovarianceFunction | ( | int | M, |
| const value_type & | a, | ||
| const value_type & | b, | ||
| const value_type & | L, | ||
| const int | dim_name, | ||
| Teuchos::ParameterList & | solverParams ) |
Constructor.
Definition at line 45 of file Stokhos_KL_OneDExponentialCovarianceFunctionImp.hpp.
|
inline |
Destructor.
Definition at line 134 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
|
private |
Prohibit copying.
|
inline |
Evaluate covariance.
Definition at line 137 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
|
inline |
Get eigenpairs.
Definition at line 143 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
|
private |
Prohibit copying.
|
protected |
A basic root finder based on Newton's method.
Definition at line 99 of file Stokhos_KL_OneDExponentialCovarianceFunctionImp.hpp.
|
protected |
A basic root finder based on bisection.
Definition at line 123 of file Stokhos_KL_OneDExponentialCovarianceFunctionImp.hpp.
|
protected |
Correlation length.
Definition at line 160 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.
|
protected |
Eigenpairs.
Definition at line 163 of file Stokhos_KL_OneDExponentialCovarianceFunction.hpp.