qit.utils.fermion_ladder

qit.utils.fermion_ladder(*args)

Fermionic ladder operators.

Parameters

n (int) – number of fermionic modes

Returns

fermionic annihilation operators \((f_1, f_2, \ldots, f_n)\)

Return type

array[object]

Returns the fermionic annihilation operators for a system of n fermionic modes in the second quantization.

The annihilation operators are built using the Jordan-Wigner transformation for a chain of n qubits, where the state of each qubit denotes the occupation number of the corresponding mode. First define annihilation and number operators for a lone fermion mode:

\[\begin{split}\sigma^- &:= (\sigma_x + i \sigma_y)/2,\\ n &:= \sigma^+ \sigma^- = (\I-\sigma_z)/2,\\ &\sigma^-\ket{0} = 0, \quad \sigma^-\ket{1} = \ket{0}, \quad n\ket{k} = k\ket{k}.\end{split}\]

Then define a phase operator to keep track of sign changes when permuting the order of the operators: \(\phi_k := \sum_{j=1}^{k-1} n_j\). Now, the fermionic annihilation operators for the n-mode system are given by

\[f_k := (-1)^{\phi_k} \sigma^-_k = \left(\bigotimes_{j=1}^{k-1} {\sigma_z}_j \right) \sigma^-_k.\]

These operators fulfill the required anticommutation relations:

\[\begin{split}\{f_j, f_k\} &= 0,\\ \{f_j, f_k^\dagger\} &= \I \delta_{jk},\\ f_k^\dagger f_k &= n_k.\end{split}\]