The TEMPO Collaboration is continuously developing new methods to make this package applicable to a wider set of scenarios. This calls for a flexible API design to allow to reuse the same objects with different algorithms. We therefore choose an almost fully object oriented approach. The functions and objects fall into 4 categories:
Physical: Consists of objects that describe physical quantities, like for example a system Hamiltonian or the spectral density of an environment.
Methods: Gathers the information from physical objects and applies a numerical method using particular simulation parameters.
Results: Encode the results of a computation. Unlike physical objects, these objects may depend on computational parameters (like for example a specific time step length).
Utilities: Supplies some handy utilities such as shorthands for the Pauli operators.
Abstract class representing a quantum system of interest.
Encodes system Hamiltonian and possibly some additional Markovian decay.
Encodes a time dependent system Hamiltonian and possibly some additional time dependent Markovian decay.
Encodes a system Hamiltonian (and possibly some additional time dependent Markovian decay) that depends on both time and the expectation value of a field (a complex scalar) to which the system couples.
Encodes a collection of time dependent systems that couple to a common field which evolves according to a prescribed equation of motion.
Encodes a 1D chain of systems and possibly some additional Markovian decay.
Abstract class representing the environments auto-correlations.
Encode an explicitly given environment auto-correlation function.
Encodes the auto-correlations for a given spectral density.
Encodes the auto-correlations for a given spectral density of a power law form.
oqupy.correlations.BaseCorrelationsobject together with a coupling operator.
(Time Evolving Matrix Product Operator)
Stores a set of parameters for a TEMPO computation.
Class to facilitate a TEMPO computation.
Class to facilitate a TEMPO computation with concurrent evolution of a coherent field.
Method that carries out a TEMPO computation while evolving a coherent field, and creates a
Function that chooses an appropriate set of parameters for a particular TEMPO computation.
(Process Tensor - Time Evolving Matrix Product Operator)
Process Tensor Applications
Class to facilitate calculation of two-time bath correlations.
Function to calculate the change in bath occupation in a particular bandwidth.
Function to calculate two-time correlation function between two frequency bands of a bath.
(Process Tensor - Time Evolving Block Decimation)
Object that encodes the discretized evolution of the reduced density matrix of a system.
Object that encodes the discretized evolution of the reduced density matrix of one or more time-dependent systems together with that of a classical field coupled to the systems.
Object that encodes a so called process tensor (which captures all possible Markovian and non-Markovian interactions between some system and an environment).
Supplies several commonly used operators, such as the Pauli matrices and spin density matrices.
A helper function to plot an auto-correlation function and the sampling points given by a set of parameters for a TEMPO computation.