KarhunenLoeveAlgorithm

class KarhunenLoeveAlgorithm(*args)

Base class for Karhunen Loeve algorithms.

Available constructors:
KarhunenLoeveAlgorithm(covModel, s)
Parameters:

covModel : CovarianceModel

The covariance model.

s : float, positive

The minimal relative amplitude of the eigenvalues to consider in the decomposition wrt the maximum eigenvalue.

Notes

We suppose that C:\cD \times \cD \rightarrow  \cS^+_d(\Rset) is a covariance function defined on \cD \in \Rset^n, continuous at \vect{0}.

The class KarhunenLoeveAlgorithm enables to determine the solutions of the second kind Fredholm equation associated to C, ie to find the (\lambda_k,  \vect{\varphi}_k)_{k \geq 1} such that:

(1)\int_{\cD} \mat{C}(\vect{s},\vect{t}) \vect{\varphi}_k(\vect{t})\,  d\vect{t} = \lambda_k  \vect{\varphi}_k(\vect{s}) \quad \forall \vect{s} \in \cD

where (\lambda_k)_{k \geq 1} is a nonincreasing sequence of nonnegative values (the eigenvalues) and (\vect{\varphi}_k)_{k \geq 1} the associated sequence of eigenfunctions, normalized by \int_{\cD}\|\vect{\varphi}_k(\vect{s})\|^2\di{\vect{s}}=1. They constitue an hilbertian basis of L^2(\cD, \Rset^d).

OpenTURNS uses the threshold s in order to select the most significant eigenvalues, ie all the eigenvalues such that \lambda_k \geq s \lambda_1.

The integrals in (1) can be evaluated with:

Methods

getClassName() Accessor to the object’s name.
getCovarianceModel() Accessor to the covariance model.
getId() Accessor to the object’s id.
getImplementation(*args) Accessor to the underlying implementation.
getName() Accessor to the object’s name.
getResult() Get the result structure.
getThreshold() Accessor to the limit ratio on eigenvalues.
run() Launch the algorithm.
setCovarianceModel(covariance) Accessor to the covariance model.
setName(name) Accessor to the object’s name.
setThreshold(threshold) Accessor to the limit ratio on eigenvalues.
__init__(*args)
getClassName()

Accessor to the object’s name.

Returns:

class_name : str

The object class name (object.__class__.__name__).

getCovarianceModel()

Accessor to the covariance model.

Returns:

covModel : CovarianceModel

The covariance model.

getId()

Accessor to the object’s id.

Returns:

id : int

Internal unique identifier.

getImplementation(*args)

Accessor to the underlying implementation.

Returns:

impl : Implementation

The implementation class.

getName()

Accessor to the object’s name.

Returns:

name : str

The name of the object.

getResult()

Get the result structure.

Returns:

resKL : KarhunenLoeveResult

The structure containing all the results of the Fredholm problem.

Notes

The structure contains all the results of the Fredholm problem.

getThreshold()

Accessor to the limit ratio on eigenvalues.

Returns:

s : float, positive

The minimal relative amplitude of the eigenvalues to consider in the decomposition wrt the maximum eigenvalue.

Notes

OpenTURNS truncates the sequence (\lambda_k,  \vect{\varphi}_k)_{k \geq 1} at the highest index K such that \lambda_K \geq s \lambda_1.

run()

Launch the algorithm.

Notes

It launches the algorithm and creates a KarhunenLoeveResult, structure containing all the results.

setCovarianceModel(covariance)

Accessor to the covariance model.

Parameters:

covModel : CovarianceModel

The covariance model.

setName(name)

Accessor to the object’s name.

Parameters:

name : str

The name of the object.

setThreshold(threshold)

Accessor to the limit ratio on eigenvalues.

Parameters:

s : float, positive

The minimal relative amplitude of the eigenvalues to consider in the decomposition wrt the maximum eigenvalue.

Notes

OpenTURNS truncates the sequence (\lambda_k,  \vect{\varphi}_k)_{k \geq 1} at the highest index K such that \lambda_K \geq s \lambda_1.