ffsim.qiskit.FermionicFFTJW¶
- class ffsim.qiskit.FermionicFFTJW(norb, *, label=None)[source]¶
Bases:
GateFermionic fast Fourier transform under the Jordan-Wigner transformation.
Performs the discrete Fourier transform (DFT) on creation operators:
\[a^\dagger_k \mapsto \frac{1}{\sqrt{N}} \sum_{n=0}^{N-1} e^{-i 2\pi k n / N} a^\dagger_n\]Implemented using a Cooley-Tukey decomposition into DFTs of prime size. Most of the resulting rotations are at fixed angles: \(\pi/2\) for mode permutations, \(\pi/4\) for DFTs of size 2, and twiddle-factor phases that are multiples of \(2\pi/N\). This is especially true when \(N\) is a power of 2. Compared with decomposing the DFT matrix directly with
OrbitalRotationJW, the circuit needs far fewer arbitrary-angle rotations, which matters when those are expensive, as on fault-tolerant hardware. It uses more two-qubit gates, though, so preferOrbitalRotationJWwhen two-qubit gate count is what matters.Assumes qubits are ordered with the first
norbqubits for spin alpha and the nextnorbqubits for spin beta.Attributes
Methods