ParametricDFT.jl
Learning parametric quantum Fourier transforms via Riemannian optimization on manifolds
Overview
ParametricDFT.jl is a Julia package for learning parametric quantum Fourier transforms using manifold optimization. It implements a variational approach to approximate the Discrete Fourier Transform (DFT) using parameterized quantum circuits, with applications to image compression and signal processing.
The core idea: optimize quantum circuit parameters on Riemannian manifolds (products of U(2) and U(1) groups) to learn frequency-domain representations that are more compressible than the standard DFT.
Circuit Architectures
The package supports three parametric circuit designs:
- Standard QFT Basis — Full quantum Fourier transform circuit with Hadamard and controlled-phase gates
- Entangled QFT Basis — QFT with additional learnable 2-qubit entanglement gates between row and column qubits
- TEBD Basis — Time-Evolving Block Decimation with ring topology for 2D separable transforms
Training & Optimization
The package provides Riemannian optimization on the unitary group, with support for multiple solvers:
- Riemannian Gradient Descent
- Riemannian Conjugate Gradient
- Riemannian L-BFGS
- Riemannian Adam
All optimizers support both CPU and GPU execution via a custom CUDA-compatible backend.
GPU Acceleration
A key contribution is GPU-accelerated Riemannian optimization that bypasses limitations of existing manifold optimization libraries. Batched operations on (2,2,n) tensor arrays minimize kernel launches for significant speedups at scale.
Key Dependencies
| Package | Role |
|---|---|
| Yao.jl | Quantum circuit construction |
| OMEinsum.jl | Tensor network contractions |
| Manifolds.jl | Riemannian geometry abstractions |
| Manopt.jl | Riemannian optimization solvers |
| Zygote.jl | Automatic differentiation |
| CUDA.jl | GPU acceleration |
Links
- Source code: github.com/nzy1997/ParametricDFT.jl
- Documentation: ParametricDFT.jl docs
- Theory notes: Available in the repository under
note/