Skip to content

Example scripts

The package ships a handful of batch/benchmark scripts under atomqc/scripts/.

Script What it does
aluminum_example.py Runs VQE on the Al Hamiltonian sweeping COBYLA, L-BFGS-B, SLSQP, CG, SPSA optimizers and plots convergence, alongside VQD electron and phonon bandstructures.
circuit_comparison.py Benchmarks the ansätze in QuantumCircuitLibrary at several \(k\)-points.
compare_elect_vqe.py Loops over JARVIS jids, computes min/max electronic eigenvalues with VQE and NumPy, and dumps JSON.
compare_phonons_vqe.py Same as above for phonon Hamiltonians.

Qiskit API version

aluminum_example.py and the other scripts were written against the older qiskit.aqua API (from qiskit.aqua ... import VQE, QuantumInstance, EfficientSU2, op_converter). They are kept as historical references for the workflow used in the paper. For current qiskit>=2.0, use the HermitianSolver / get_bandstruct paths shown in the Quick start and Methods pages.

Benchmark data

The CSV files under atomqc/data/ hold pre-computed VQE-vs-classical benchmark results referenced in the paper:

  • electron_vqe_np_jid.csv — electron VQE vs classical eigenvalues per JARVIS id.
  • phonon_vqe_np_jid.csv — phonon VQE vs classical eigenvalues per JARVIS id.

Repository layout

atomqc/
├── atomqc/
│   ├── __init__.py                 # version
│   ├── scripts/
│   │   ├── aluminum_example.py     # VQE on Al with several classical optimizers
│   │   ├── circuit_comparison.py   # compare ansätze from QuantumCircuitLibrary
│   │   ├── compare_elect_vqe.py    # batch electron VQE vs NumPy over JARVIS jids
│   │   └── compare_phonons_vqe.py  # batch phonon VQE vs NumPy over JARVIS jids
│   ├── tests/
│   │   └── test_qiskit.py          # fast offline tests: H(k) -> Pauli -> VQE
│   └── data/
│       ├── electron_vqe_np_jid.csv # benchmark: electron VQE vs classical
│       └── phonon_vqe_np_jid.csv   # benchmark: phonon VQE vs classical
├── environment.yml                 # pinned conda environment
├── mkdocs.yml                      # documentation site config
├── docs/                           # documentation sources
├── setup.py
└── README.md