Why this blog post
I have just finished Ticket [#124], which introduced some renaming of very basic classes. And while aksing Burkhard for his opinion, he was not able to dig through my explanations. Plus, the Matlab version started a new blog, so I thought I would try to wrap up all the ideas why the new names are great in a blog post and explain along the way how a good part of the C++ version works.
The problem
Let us look at four different equations for propagating some quantum-mechanical state:

The equations are:
- An ordinary real-time Schrödinger equation with some Hamiltonian that describes the time-evolution of a wave function.
- An ordinary Liouville-von-Neumann (LvN) equation with the same Hamiltonian that describes the time evolution of a density operator.
- The Schrödinger equation in imaginary time, again with the same Hamiltonian. This equation has some special uses. In particular, it can be used to relax a wave function to the Hamiltonian's ground state (whose norm decays the slowest).
- A LvN equation in imaginary time. This equation is pretty useful in thermodynamics: If you use the unit operator at t=0, the solution of this equation is exp(-Ht), which is exactly the form of the density operator in thermal equilibrium.
If we look at these four equations, we note that they are all different (of course), but there are several common concepts that occur again and again.
... to be continued tomorrow