Quantum Fourier transform and its unitarity (R5) #
Category: 1-Mathlib (CSD-free).
Glossary: https://glossary.constraintsurfacedynamics.com/quantum-fourier-transform/
Plain-language, CSD-role and formal statements of the QFT, with this module as
its Lean anchor. Kept symmetric by scripts/check-glossary.sh.
Phase R5 of specs/nqubit-register-plan.md: the quantum Fourier transform on N
levels, as the N × N matrix
F j k = (1/√N) · ω^{jk}, ω = exp(2πi/N) a primitive N-th root of unity,
and the key fact that it is unitary (qft_unitary, Fᴴ * F = 1). Entrywise the unitary
identity reads
(Fᴴ F) j j' = (1/N) ∑ₖ ω^{k(j'-j)} = [j = j'],
i.e. the roots-of-unity orthogonality ∑_{k=0}^{N-1} ζ^k = N·[ζ=1] (a geometric series),
which is the ℂ-analogue of the ±1-character orthogonality behind the Hadamard transform
(R3). The QFT is a finite N × N unitary; nothing here leaves the finite-dimensional
setting.
The transform is defined on a general level count N (not specialised to N = 2ⁿ), so it is
directly the discrete Fourier unitary; the qubit instance is the N = 2ⁿ case.
The primitive N-th root of unity ω = exp(2πi/N).
Equations
- QuantumInfo.qftω N = Complex.exp (2 * ↑Real.pi * Complex.I / ↑N)
Instances For
ω is a primitive N-th root of unity.
ω is unimodular: conjugation inverts it.
The quantum Fourier transform is unitary: Fᴴ * F = 1. The entrywise identity is the
roots-of-unity orthogonality (1/N) ∑ₖ ω^{k(j'-j)} = [j = j'], a geometric series that
vanishes for j ≠ j' and sums to N for j = j'.