supergrad.time_evolution.mesolve

Contents

supergrad.time_evolution.mesolve#

supergrad.time_evolution.mesolve(hamiltonian, rho0, tlist, c_ops=None, args=None, options={}, solver='ode_expm')[source]#

Master equation evolution of a density matrix for a given Hamiltonian and set of collapse operators, or a Liouvillian.

Evolve the density matrix (rho0) using a given Hamiltonian or Liouvillian (LindbladObj) and an optional set of collapse operators (c_ops), by integrating the set of ordinary differential equations that define the system. In the absence of collapse operators the system is evolved according to the unitary evolution of the Hamiltonian.

The output is either the density matrix at arbitrary points in time (tlist).

Parameters:
  • hamiltonian (list, array) – System Hamiltonian as a KronObj , list of KronObj and coefficient. List format and options can be found in description. or alternatively a system Liouvillian LindbladObj.

  • rho0 (array) – Initial density matrix (rho) or initial set of density matrices. Alternatively evolve a set of density matrix use vmap transformation.

  • tlist (list, array) – List of times for \(t\).

  • c_ops – None / list of KronObj / list of LindbladObj single collapse operator, or list of collapse operators, or a list of Liouvillian super-operators.

  • args (dict, optional) – Dictionary of scope parameters for time-dependent Hamiltonian.

  • options (dict, optional) – multi_device (bool): True for enable multi-device parallelism evolution support, if many states are evolved simultaneously, the compiler can automatically batch the states to different devices. diag_ops (bool): It is only for ode_expm, if True the Hermitian super-operator will be convert to diagonal form before exponentiation.

  • solver (str, optional) – select differentiable ODE solver. odeint for using Dormand-Prince ODE integration, ode_expm for using the matrix exponential at each time step.

Returns: Values of the solution density matrix at each time point in tlist,

represented as an array with the same shape/structure as rho0 except with a new leading axis of length len(t). if a set of states be evolved simultaneously, the returns with another new leading axis of length len(rho0).