class EDMDModel

class deeptime.decomposition.EDMDModel(operator: ndarray, basis: Callable[[ndarray], ndarray], eigenvalues, modes)

The EDMD model which can be estimated from a EDMD estimator. It possesses the estimated operator as well as capabilities to project onto modes.

Parameters:
  • operator ((n, n) ndarray) – The estimated operator.

  • basis (callable) – The basis transform that was used.

  • eigenvalues ((n, ) ndarray) – Eigenvalues for the modes.

  • modes ((k, n) ndarray) – The EDMD modes.

See also

EDMD

Attributes

instantaneous_obs

Transforms the current state xtx_t to f(xt)f(x_t).

koopman_matrix

Same as operator.

operator

The operator KK so that E[g(xt+τ)]=KE[f(xt)]\mathbb{E}[g(x_{t+\tau})] = K^\top \mathbb{E}[f(x_t)] in transformed bases.

operator_inverse

Inverse of the operator KK, i.e., K1K^{-1}.

output_dimension

The dimension of data after propagation by KK.

timelagged_obs

Transforms the future state xt+τx_{t+\tau} to g(xt+τ)g(x_{t+\tau}).

Methods

backward(data[, propagate])

Maps data backward in time.

copy()

Makes a deep copy of this model.

forward(data[, propagate])

Maps data forward in time.

get_params([deep])

Get the parameters.

set_params(**params)

Set the parameters of this estimator.

transform(data, **kw)

Transforms the data by first applying the basis and then the estimated modes, i.e.,

__call__(*args, **kwargs)

Call self as a function.

backward(data: ndarray, propagate=True)

Maps data backward in time.

Parameters:
  • data ((T, n) ndarray) – Input data

  • propagate (bool, default=True) – Whether to apply the Koopman operator to the featurized data.

Returns:

mapped_data – Mapped data.

Return type:

(T, m) ndarray

copy() Model

Makes a deep copy of this model.

Returns:

A new copy of this model.

Return type:

copy

forward(data: ndarray, propagate=True)

Maps data forward in time.

Parameters:
  • data ((T, n) ndarray) – Input data

  • propagate (bool, default=True) – Whether to apply the Koopman operator to the featurized data.

Returns:

mapped_data – Mapped data.

Return type:

(T, m) ndarray

get_params(deep=False)

Get the parameters.

Returns:

params – Parameter names mapped to their values.

Return type:

mapping of string to any

set_params(**params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters:

**params (dict) – Estimator parameters.

Returns:

self – Estimator instance.

Return type:

object

transform(data: ndarray, **kw)

Transforms the data by first applying the basis and then the estimated modes, i.e.,

XΨ(X)φX \mapsto \Psi(X)\varphi

where XX is the input data, Ψ\Psi the basis transform, and φ\varphi the Koopman operator’s

Parameters:

data ((T, n) ndarray) – Input data

Returns:

transformed – The forward transform of the input data.

Return type:

(T, n) ndarray

property instantaneous_obs: Callable[[ndarray], ndarray]

Transforms the current state xtx_t to f(xt)f(x_t). Defaults to f(x) = x.

property koopman_matrix: ndarray

Same as operator.

property operator: ndarray

The operator KK so that E[g(xt+τ)]=KE[f(xt)]\mathbb{E}[g(x_{t+\tau})] = K^\top \mathbb{E}[f(x_t)] in transformed bases.

property operator_inverse: ndarray

Inverse of the operator KK, i.e., K1K^{-1}. Potentially pseudo-inverse instead of true inverse.

property output_dimension

The dimension of data after propagation by KK.

property timelagged_obs: Callable[[ndarray], ndarray]

Transforms the future state xt+τx_{t+\tau} to g(xt+τ)g(x_{t+\tau}). Defaults to f(x) = x.