01. Hubbard Model
Stage B - QPE (upgraded from VQE)QPE for 2-site Hubbard ground state. 132k physical qubits, 18 logical. Exponential speedup for strongly-correlated systems. Naturally quantum.
Resource Estimation (Azure Quantum RE)
Resource Breakdown
Calibration Evidence (20-Run Ensemble)
Noise Resilience (Depolarizing Simulation)
Ideal outcome: [One, Zero] (68% probability)
Cross-Platform Emulator Results (100 shots)
Troyer Utility-Scale Classification
Upgraded to QPE targeting 2D Hubbard Hamiltonians naturally quantum systems where tensor networks fail. QPE provides exponential speedup for strongly-correlated 2D systems. Our 2-site instance is pedagogical; utility requires >50-site 2D lattices beyond DMRG reach.
Multi-Model Resource Comparison
Physical qubit requirements across 6 qubit technologies × 2 QEC schemes (inspired by Troyer Architecture Series, Part 3).
| Qubit Model | QEC | Physical Qubits | Logical Qubits |
|---|---|---|---|
| Trapped Ion (μs, 1e-4) | surface_code | 700 | 12 |
| Trapped Ion (μs, 1e-3) | surface_code | 3,388 | 12 |
| Majorana (ns, 1e-6) | surface_code | 6,696 | 12 |
| Superconducting (ns, 1e-4) | surface_code | 18,600 | 12 |
| Majorana (ns, 1e-6) (Floquet) | floquet_code | 21,424 | 12 |
| Superconducting (ns, 1e-3) | surface_code | 177,144 | 12 |
| Majorana (ns, 1e-4) | surface_code | 547,944 | 12 |
| Majorana (ns, 1e-4) (Floquet) | floquet_code | 700,464 | 12 |
Problem Documentation
01 · Hubbard Model
> Exploring strongly correlated electrons in a minimal two-site Hubbard model. This
> serves as the starting point for scaling to larger lattices and more realistic
> Hamiltonians.
🎯 Objectives
- Establish a reproducible **classical baseline** for the half-filled two-site Hubbard model.
- Provide a compiling **Q# analytical benchmark** that mirrors the classical calculation.
- Prepare the scaffolding for future **variational** and **phase estimation** studies on
larger Hubbard instances.
🧱 Project Structure
01_hubbard/
├── README.md # This document
├── Makefile # Convenience targets for the workflows
├── estimates/ # Generated estimation artifacts
├── instances/ # Parameter grids (small/medium/large)
├── plots/ # Generated visualisations
├── python/
│ ├── classical_baseline.py # Classical analytical baseline
│ └── analyze.py # Plot charge/spin gaps
└── qsharp/
├── Program.qs # Analytical Q# baseline
└── qsharp.json # Modern QDK project file
🚀 Quickstart
From the repository root:
cd problems/01_hubbard
# Classical workflow
make classical # writes estimates/classical_baseline.json
make analyze # produces plots/gaps.png
# Quantum analytical baseline (uses modern QDK qsharp Python package)
make build
make run
# Dedicated CLI modes
python tooling/run_all_qsharp.py # runs via qsharp Python package
python tooling/run_all_qsharp.py # runs via qsharp Python package
📈 Current Results
The analytical baseline computes the singlet and triplet energies of the two-site
Hubbard model across a small parameter sweep. The classical and Q# implementations
share the same closed-form expressions, ensuring parity between the two workflows.
Generated artefacts:
- `estimates/classical_baseline.json`: Numerical data for ground and excited states.
- `plots/gaps.png`: Charge and spin gap trends vs interaction strength.
- `STAGE_D_ADVANTAGE_EVIDENCE.md`: Stage D claim-boundary and evidence-tracking scaffold for expansion-queue onboarding.
Objective Maturity Gate
- **Current gate**: **Stage B complete** (classical baseline validated and Q# analytical scaffold builds/runs via modern QDK).
- **Next gate target**: **Stage C** (hardware-aware validation with uncertainty-bounded comparisons for quantum kernels).
Stage C exit criteria for this problem:
- Replace analytical Q# placeholder with at least one executable quantum kernel path (for example VQE or phase-estimation component).
- Report uncertainty-bounded comparisons between classical and quantum outputs on `small` and `medium` instances.
- Document transpilation and connectivity assumptions used for hardware-aware or estimator-backed runs.
- Include calibration or validation artifacts that quantify drift/sensitivity of reported quantum metrics.
DiVincenzo Readiness (Stage C/D Overlay)
| Criterion | Status | Evidence / Notes |
|---|---|---|
| Scalable qubit system | partial | Two-site model is intentionally small; scalable resource projections will be added once non-analytical quantum kernels are benchmarked. |
| Initialization | partial | Initial-state assumptions for analytical parity are clear, but hardware-ready state-preparation routines are pending. |
| Coherence vs gate time | not-yet | No backend-calibrated coherence-vs-depth evidence yet because Stage C kernel execution is still pending. |
| Universal gate set | partial | Q# scaffold compiles and runs, but full gate-level decomposition for VQE/QPE kernels is a Stage C task. |
| Qubit-specific measurement | partial | Measurement semantics are defined in the scaffold; hardware readout error characterization is pending. |
Advantage Claim Contract
- **Claim category (current)**: `theoretical`.
- **Problem class and regime**: Two-site half-filled Hubbard baseline with parameter sweeps in `instances/`.
- **Fair baseline**: Closed-form exact diagonalization style reference in `python/classical_baseline.py`.
- **Quantum resource scaling claim**: No demonstrated speedup claim yet; current Q# path is analytical parity scaffolding.
- **Data-loading and I/O assumptions**: Small fixed-size Hamiltonian instances; no large-scale state-preparation pipeline yet.
- **Noise/error model assumptions**: Not yet characterized for a physical backend because quantum kernel is pending.
- **Confidence/uncertainty method**: Classical outputs deterministic; quantum uncertainty reporting to be added at Stage C.
- **Residual risks**: Placeholder algorithm may not preserve performance once variational or phase-estimation circuits are introduced.
🧭 Roadmap
- [ ] Replace analytical expressions with variational or phase-estimation circuits.
- [ ] Expand classical baselines to include finite-temperature observables.
- [ ] Integrate Azure Quantum Resource Estimator once quantum kernels are implemented.
Contributions and experiments welcome!
Reproduce It
cd problems/01_hubbard
make classical # Run classical baseline
make analyze # Generate plots
make build # Validate Q# compilation
make run # Run Q# entry pointKey Files
qsharp/src/Main.qsQuantum algorithm implementationqsharp/HardwareKernel.qsAzure-submittable QIR kernelpython/classical_baseline.pyClassical reference implementationestimates/classical_baseline.jsonBaseline metrics