paramham is a research codebase and publication artifact repository for studying implicit differentiation (ID) versus black-box finite differences (FD) in bilevel optimization of parametrized Max-Cut Hamiltonians.
This repository is intentionally trimmed to the final paper-facing experiment suite:
- exactly 8 public experiments
- one clean output tree under
output/exp01tooutput/exp08 - cache-backed rerender support under
output/cache - a single standard runner interface through
paramham-reproduce
pip install -e ".[dev]"Run from the repository root:
make test
paramham-reproduce all
paramham-reproduce rerender
make finalparamham-reproduce is the canonical suite runner. The Makefile is now a thin wrapper around the same target registry, so make final and make exp03 stay in sync with the Python runner automatically.
The standard environment is handled for both interfaces (PYTHONPATH=src, MPLCONFIGDIR=/tmp/mpl).
All final figures use the shared helper in experiments/plot_style.py.
- fixed publication width:
5.7295 in(0.98\textwidthin the thesis) - TeX serif typography with
10 ptbase font and11 ptaxis labels - white figure backgrounds
- exact PDF saving without
bbox_inches='tight'
Exp 2 is the canonical layout reference for the rest of the suite. The other experiments reuse the same physical sizing rules, footer-legend mechanism, and panel geometry conventions.
| Experiment | Public script | Output folder |
|---|---|---|
Exp 1 |
experiments/exp01_id_vs_fd_core_demo.py |
output/exp01 |
Exp 2 |
experiments/exp02_budget_efficiency_multiseed.py |
output/exp02 |
Exp 3 |
experiments/exp03_readout_realism_best_mode.py |
output/exp03 |
Exp 4 |
experiments/exp04_robustness_sweep_periodic_k.py |
output/exp04 |
Exp 5 |
experiments/exp05_inner_budget_ablation.py |
output/exp05 |
Exp 6 |
experiments/exp06_graphclass_regime_heatmap.py |
output/exp06 |
Exp 7 |
experiments/exp07_multi_dimensional_outer_control.py |
output/exp07 |
Exp 8 |
experiments/exp08_vqe_vs_qaoa_readout_bridge.py |
output/exp08 |
There are no legacy wrapper scripts in the public repo surface.
Unless an experiment sweeps over that variable, the final paper runs use:
budget_evals = 2000kind/family = periodicperiodic_K = 6n = 12p_edge = 0.45lam_min = -5.0lam_max = 5.0lam0 = 0.8graph_seed = 7
Experiment-specific sweep settings are documented in docs/experiments.md.
Versioned paper artifacts live in:
output/exp01tooutput/exp08output/cache/exp02tooutput/cache/exp08
Each experiment output folder contains:
- final figure PDFs
- CSV and TeX exports where applicable
SUMMARY.txt
MIT