Introduction¶
Although in some cases, we want to find the stationary states of a quantum system, often we are interested in the dynamics: how the state of a system or an ensemble of systems evolves with time. QuTiP provides many ways to model dynamics.
Broadly speaking, there are two categories of dynamical models: unitary and nonunitary. In unitary evolution, the state of the system remains normalized. In nonunitary, or dissipative, systems, it does not.
There are two kinds of quantum systems: open systems that interact with a larger environment and closed systems that do not. In a closed system, the state can be described by a state vector, although when there is entanglement a density matrix may be needed instead. When we are modeling an open system, or an ensemble of systems, the use of the density matrix is mandatory.
Collapse operators are used to model the collapse of the state vector that can occur when a measurement is performed.
The following tables lists some of the solvers QuTiP provides for dynamic quantum systems and indicates the type of object returned by the solver:
Solver 
Returns 
Remarks 

sesolve() 

Unitary evolution, single system 
mesolve() 

Lindblad master eqn. or Von Neuman eqn. Density matrix. 
mcsolve() 

Monte Carlo with collapse operators 
essolve() 
Array of expectation values 
Exponential series with collapse operators 
bloch_redfield_solve() 


floquet_markov_solve() 

FloquetMarkov master equation 
fmmesolve() 

FloquetMarkov master equation 
smesolve() 

Stochastic master equation 
ssesolve() 

Stochastic Schrödinger equation 