Liouville Pathway Analysis#

Liouville pathway analysis module

This module defines classes and function to help in Liouvile pathway analysis

Classes#

LiouvillePathwayAnalyzer

Functions#

max_amplitude(pathways)

class quantarhei.spectroscopy.pathwayanalyzer.LiouvillePathwayAnalyzer(pathways: Any = None)[source]#

Bases: UnitsManaged

Class providing methods for Liouville pathway analysis

Parameters:

pathways (list) – List of pathways to analyze

set_pathways(pathways=None)[source]#

Set the pathways for the analysis

get_pathways()[source]#

Returns current list of pathways

max_amplitude()[source]#

Returns a tuple containing the value of the amplitude of the pathway from current list of pathways with the maximum amplitude and its index in the list

select_amplitide_GT(val, replace=True, verbose=False)#

In the current list of pathways this method selects those that have absolute value of amplitude larger that a given value

set_pathways(pathways: Any) None[source]#

Sets pathways to be analyzed

get_pathways() Any[source]#

Returns Liouville pathways

get_number_of_pathways() int[source]#

Returns the number of available pathways

max_pref(pathways: Any) tuple[float, int][source]#

Return the maximum of pathway prefactors

Parameters:

pathways (list) – List of Liouville pathways

Returns:

  • pmax (float) – Maximum prefactor of the pathways

  • rec (int) – position of the pathway with the maximum prefactor

max_amplitude() tuple[float, int][source]#

Return the maximum of pathway prefactors

Parameters:

pathways (list) – List of Liouville pathways

Returns:

  • pmax (float) – Maximum prefactor of the pathways

  • rec (int) – position of the pathway with the maximum prefactor

select_pref_GT(val: float, pathways: Any = None, replace: bool = True, verbose: bool = False) Any[source]#

Select all pathways with prefactors greater than a value

select_amplitude_GT(val: float, replace: bool = True, verbose: bool = False) Any[source]#

Select all pathways with abs value of prefactors greater than a value

select_frequency_window(window: Any, replace: bool = True, verbose: bool = False) Any[source]#

Selects pathways with omega_1 and omega_3 in a certain range

select_omega2(interval: Any, replace: bool = True, verbose: bool = False) Any[source]#

Selects pathways with omega_2 in a certain interval

order_by_pref(pthways: Any) Any[source]#

Orders the list of pathways by pathway prefactors

order_by_amplitude(replace: bool = True) Any[source]#
select_sign(sign: float, replace: bool = True) Any[source]#
select_type(ptype: str = 'REPH', replace: bool = True) Any[source]#
quantarhei.spectroscopy.pathwayanalyzer.max_amplitude(pathways: Any) tuple[float, int][source]#

Return the maximum of pathway prefactors

Parameters:

pathways (list) – List of Liouville pathways

Returns:

  • pmax (float) – Maximum prefactor of the pathways

  • rec (int) – position of the pathway with the maximum prefactor

quantarhei.spectroscopy.pathwayanalyzer.select_amplitude_GT(val: float, pathways: Any, verbose: bool = False) list[Any][source]#

Select all pathways with abs value of prefactors greater than a value

Parameters:
  • val (float) – Value to compare with the pathway prefactor

  • pathways (list of pathways) – List of the Liouville pathways to analyze

  • verbose (bool) – If set True, number of selected pathways is reported

Returns:

selected (list) – List of selected pathways

quantarhei.spectroscopy.pathwayanalyzer.select_frequency_window(window: Any, pathways: Any, verbose: bool = False) list[Any][source]#

Selects pathways with omega_1 and omega_3 in a certain range

quantarhei.spectroscopy.pathwayanalyzer.select_omega2(interval: Any, pathways: Any, secular: bool = True, tolerance: float = 0.0018836515673088532, verbose: bool = False) list[Any][source]#

Selects pathways with omega_2 in a certain interval

quantarhei.spectroscopy.pathwayanalyzer.order_by_amplitude(pthways: Any) list[Any][source]#

Orders the list of pathways by pathway prefactors

quantarhei.spectroscopy.pathwayanalyzer.select_sign(pathways: Any, sign: float) list[Any][source]#

Selects all pathways depending on the overall sign

quantarhei.spectroscopy.pathwayanalyzer.select_type(pathways: Any, stype: str) list[Any][source]#

Selects all pathways of a given type

Parameters:
  • pathways (list) – List of pathways to be analyzed

  • stype (str) – Type of the pathways to be selected. Possible values are “REPH”, “NONR”.

quantarhei.spectroscopy.pathwayanalyzer.select_by_states(pathways: Any, states: Any) Any[source]#

Returns one pathway which goes through a given pattern of states

Returns unique pathway which goes through a given pattern of states or does not return anything

The following diagram

—>|———–|

|48 12| 2.0

—>|———–|

|21 12| 0.0

>>|***********|<<

|6 6| 0.0

—>|———–|

|0 6| -2.0 |-----------|<--- | | |0 0|

turns into the following tuple

((0,0), (0,6), (6,6), (21, 12), (48, 12), (12,12))

Parameters:
  • pathways (list, tuple) – List of tuple of states to analyze

  • states (list, tuple) – List of dyads which describe the states involved in a given Liouville pathway. States are listed from left to right, from bottom to the top

quantarhei.spectroscopy.pathwayanalyzer.look_for_pathways(name: str = 'pathways', ext: str = 'qrp', check: bool = False, directory: str = '.') ndarray[source]#

Load pathways by t2

quantarhei.spectroscopy.pathwayanalyzer.load_pathways_by_t2(t2: float, name: str = 'pathways', ext: str = 'qrp', directory: str = '.', tag_type: Any = <class 'numpy.float64'>) list[Any][source]#

Load pathways by t2 time

quantarhei.spectroscopy.pathwayanalyzer.save_pathways_by_t2(t2: float, name: str = 'pathways', ext: str = 'qrp', directory: str = '.', tag_type: Any = <class 'numpy.float64'>) None[source]#
quantarhei.spectroscopy.pathwayanalyzer.get_evolution_from_saved_pathways(states: Any, name: str = 'pathways', ext: str = 'qrp', directory: str = '.', tag_type: Any = <class 'numpy.float64'>, repl: float = 0.0) Any[source]#

Reconstructs the evolution of the pathway contribution in t2 time

quantarhei.spectroscopy.pathwayanalyzer.get_prefactors_from_saved_pathways(states: Any, name: str = 'pathways', ext: str = 'qrp', directory: str = '.', tag_type: Any = <class 'numpy.float64'>, repl: float = 0.0) Any[source]#

Reconstructs the evolution of the pathway contribution in t2 time

quantarhei.spectroscopy.pathwayanalyzer.get_TwoDSpectrum_from_saved_pathways(t2: float, t1axis: Any, t3axis: Any, name: str = 'pathways', ext: str = 'qrp', directory: str = '.', tag_type: Any = <class 'numpy.float64'>) Any[source]#

Returns a 2D spectrum calculated based on the saved Liouville pathways

quantarhei.spectroscopy.pathwayanalyzer.get_TwoDSpectrum_from_pathways(pathways: Any, t1axis: Any, t3axis: Any) Any[source]#

Returns a 2D spectrum calculated based on submitted Liouville pathways

quantarhei.spectroscopy.pathwayanalyzer.get_TwoDSpectrumContainer_from_saved_pathways(t1axis: Any, t3axis: Any, name: str = 'pathways', ext: str = 'qrp', directory: str = '.', tag_type: Any = <class 'numpy.float64'>) Any[source]#

Returns a container with 2D spectra calculated from saved pathways