Elena & Fabrice's Web

Fabrice's web : CV · Blogs (⇢ Madrid · ⇢ Science · ⇢ Everything) |
---|

This is a collection of technical and research notes. Browse only if curious and/or undemanding.

$\sigma$ being the annihilation operator of a two-level system (one of the Pauli matrices), $\sigma^\dagger$ its conjugate, $\mu,\nu,\eta,\theta$ boolean variables (0 or 1), the following general commutator reads in normal order:

$$ [{\sigma}^{\dagger\mu}\sigma^\nu,{\sigma}^{\dagger\eta}\sigma^\theta] = \nu\theta(\eta-\mu)\sigma +\mu\eta(\nu-\theta){\sigma}^\dagger +[(1-\mu)\nu\eta(1-\theta)-\mu(1-\nu)(1-\eta)\theta](1-2{\sigma}^\dagger\sigma). $$

I sometimes need this formula but always have to derive it again, which is very annoying (see this). (Unrelatedly, I also hope it is the last time I typeset something with texvc, as I plan to move to MathJax).

In this note I give some particular cases of the module `NormalOrder` (see here for this module itself).

Something that comes recurrently when you work with quantum fields is, given any operator that consists of products of powers of annihilation \(a\) and creation \(a^\dagger\) Bose operators, such as, e.g.,

\[a^{\dagger3}a^2a^{\dagger3}a^2a^{\dagger}a\]

compute its normal order^{[1]}:

\[:a^{\dagger3}a^2a^{\dagger3}a^2a^{\dagger}a:\]

I am writing a code that computes arbitrary commutation relations. As part of this code is the following module that performs the associative part of the algebra: