Class representing a KL expansion of an exponential random field.
This class provides a means for evaluating a random field , , through the KL expansion
where is a -dimensional hyper-rectangle, for the case when the covariance function of is exponential:
In this case, the covariance function and domain factor into a product 1-dimensional covariance functions over 1-dimensional domains, and thus the eigenfunctions and eigenvalues factor into a product of corresponding 1-dimensional eigenfunctions and values. These are computed by the OneDExponentialCovarianceFunction class For a given value of , the code works by computing the eigenfunctions for each direction using this class. Then all possible tensor products of these one-dimensional eigenfunctions are formed, with corresponding eigenvalue given by the product of the one-dimensional eigenvalues. These eigenvalues are then sorted in increasing order, and the first are chosen as the KL eigenpairs. Then given values for the random variables , the class provides a routine for evaluating a realization of the random field.
The idea for this approach was provided by Chris Miller.
All data is passed into this class through a Teuchos::ParameterList, which accepts the following parameters:
"Number of KL Terms" – [int] (Required) Number of KL terms
"Domain Upper Bounds" – [Teuchos::Array<value_type>] (Required) Domain upper bounds for each dimension
"Domain Lower Bounds" – [Teuchos::Array<value_type>] (Required) Domain lower bounds for each dimension
"Correlation Lengths" – [Teuchos::Array<value_type>[ (Required) Correlation length for each dimension
"Mean" – [value_type] (Required) Mean of the random field
"Standard Deviation" – [value_type] (Required) Standard devation of the random field