pyemma.thermo.StationaryModel¶
-
class
pyemma.thermo.
StationaryModel
(pi=None, f=None, normalize_energy=True, label='ground state')¶ StationaryModel combines a stationary vector with discrete-state free energies.
-
__init__
(pi=None, f=None, normalize_energy=True, label='ground state')¶ StationaryModel combines a stationary vector with discrete-state free energies.
- Parameters
pi (ndarray(n)) – Stationary distribution. If not already normalized, pi will be scaled to fulfill \(\sum_i \pi_i = 1\). The free energies f will be computed from pi via \(f_i = - \log(\pi_i)\). Only if normalize_f is True, a constant will be added to ensure consistency with \(\sum_i \pi_i = 1\).
f (ndarray(n)) – Discrete-state free energies. If normalized_f = True, a constant will be added to normalize the stationary distribution. Otherwise f is left as given. If both (pi and f) are given, f takes precedence.
normalize_energy (bool, default=True) – If parametrized by free energy f, normalize them such that \(\sum_i \pi_i = 1\), which is achieved by \(\log \sum_i \exp(-f_i) = 0\).
label (str, default='ground state') – Human-readable description for the thermodynamic state of this model. May contain a temperature description, such as ‘300 K’ or a description of bias energy such as ‘unbiased’ or ‘Umbrella 1’
Methods
__init__
([pi, f, normalize_energy, label])StationaryModel combines a stationary vector with discrete-state free energies.
expectation
(a)Equilibrium expectation value of a given observable.
get_model_params
([deep])Get parameters for this model.
load
(file_name[, model_name])Loads a previously saved PyEMMA object from disk.
save
(file_name[, model_name, overwrite, …])saves the current state of this object to given file and name.
set_model_params
([pi, f, normalize_f, label])Call to set all basic model parameters.
update_model_params
(**params)Update given model parameter if they are set to specific values
Attributes
The active set of states on which all computations and estimations will be done.
The free energies (in units of kT) on the configuration states.
f_full_state
The free energies (in units of kT) on the configuration states.
free_energies_full_state
Human-readable description for the thermodynamic state of this model.
Number of active states on which all computations and estimations are done.
Size of the full set of states.
The stationary distribution on the configuration states.
pi_full_state
The stationary distribution on the configuration states.
stationary_distribution_full_state
-
active_set
¶ The active set of states on which all computations and estimations will be done.
-
expectation
(a)¶ Equilibrium expectation value of a given observable.
- Parameters
a ((M,) ndarray) – Observable vector
- Returns
val – Equilibrium expectation value of the given observable
- Return type
float
Notes
The equilibrium expectation value of an observable a is defined as follows
\[\mathbb{E}_{\mu}[a] = \sum_i \mu_i a_i\]\(\mu=(\mu_i)\) is the stationary vector of the transition matrix \(T\).
-
f
¶ The free energies (in units of kT) on the configuration states.
-
free_energies
¶ The free energies (in units of kT) on the configuration states.
-
get_model_params
(deep=True)¶ Get parameters for this model.
- Parameters
deep (boolean, optional) – If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns
params – Parameter names mapped to their values.
- Return type
mapping of string to any
-
label
¶ Human-readable description for the thermodynamic state of this model.
-
classmethod
load
(file_name, model_name='default')¶ Loads a previously saved PyEMMA object from disk.
- Parameters
file_name (str or file like object (has to provide read method)) – The file like object tried to be read for a serialized object.
model_name (str, default='default') – if multiple models are contained in the file, these can be accessed by their name. Use
pyemma.list_models()
to get a representation of all stored models.
- Returns
obj
- Return type
the de-serialized object
-
nstates
¶ Number of active states on which all computations and estimations are done.
-
nstates_full
¶ Size of the full set of states.
-
pi
¶ The stationary distribution on the configuration states.
-
save
(file_name, model_name='default', overwrite=False, save_streaming_chain=False)¶ saves the current state of this object to given file and name.
- Parameters
file_name (str) – path to desired output file
model_name (str, default='default') – creates a group named ‘model_name’ in the given file, which will contain all of the data. If the name already exists, and overwrite is False (default) will raise a RuntimeError.
overwrite (bool, default=False) – Should overwrite existing model names?
save_streaming_chain (boolean, default=False) – if True, the data_producer(s) of this object will also be saved in the given file.
Examples
>>> import pyemma, numpy as np >>> from pyemma.util.contexts import named_temporary_file >>> m = pyemma.msm.MSM(P=np.array([[0.1, 0.9], [0.9, 0.1]]))
>>> with named_temporary_file() as file: # doctest: +SKIP ... m.save(file, 'simple') # doctest: +SKIP ... inst_restored = pyemma.load(file, 'simple') # doctest: +SKIP >>> np.testing.assert_equal(m.P, inst_restored.P) # doctest: +SKIP
-
set_model_params
(pi=None, f=None, normalize_f=None, label=None)¶ Call to set all basic model parameters.
- Parameters
pi (ndarray(n)) – Stationary distribution. If not already normalized, pi will be scaled to fulfill \(\sum_i \pi_i = 1\). The free energies f will then be computed from pi via \(f_i = - \log(\pi_i)\).
f (ndarray(n)) – Discrete-state free energies. If normalized_f = True, a constant will be added to normalize the stationary distribution. Otherwise f is left as given. Then, pi will be computed from f via \(\pi_i = \exp(-f_i)\) and, if necessary, scaled to fulfill \(\sum_i \pi_i = 1\). If both (pi and f) are given, f takes precedence over pi.
normalize_energy (bool, default=True) – If parametrized by free energy f, normalize them such that \(\sum_i \pi_i = 1\), which is achieved by \(\log \sum_i \exp(-f_i) = 0\).
label (str, default=None) – Human-readable description for the thermodynamic state of this model. May contain a temperature description, such as ‘300 K’ or a description of bias energy such as ‘unbiased’ or ‘Umbrella 1’.
-
stationary_distribution
¶ The stationary distribution on the configuration states.
-
update_model_params
(**params)¶ Update given model parameter if they are set to specific values
-