https://github.com/altaris/pauli-coloring-benchmark
Or "colouring" if you prefer π¨
https://github.com/altaris/pauli-coloring-benchmark
benchmark hamiltonian qiskit quantum-computing trotter-suzuki
Last synced: 3 months ago
JSON representation
Or "colouring" if you prefer π¨
- Host: GitHub
- URL: https://github.com/altaris/pauli-coloring-benchmark
- Owner: altaris
- License: mit
- Created: 2025-01-10T02:02:29.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-02-15T04:51:51.000Z (8 months ago)
- Last Synced: 2025-02-15T05:24:01.340Z (8 months ago)
- Topics: benchmark, hamiltonian, qiskit, quantum-computing, trotter-suzuki
- Language: Jupyter Notebook
- Homepage:
- Size: 2.53 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Pauli Coloring Benchmark

[](https://choosealicense.com/licenses/mit/)
[](https://docs.astral.sh/ruff/)
[](https://cedric.hothanh.fr/pauli-coloring-benchmark/pcb.html)## How to do the thing?
### Prep. work
1. Install [`uv`](https://docs.astral.sh/uv/).
```sh
curl -LsSf https://astral.sh/uv/install.sh | sh
```2. Install dependencies:
```sh
uv sync
```3. Build binaries (requires `gcc`). This is only required if you want to use the
`degree_c` reordering method.```sh
make dll
```4. Build the index. This is a SQlite3 file that lists all the Hamiltonian from
all the `hdf5` files present in the HamLib website.```sh
uv run python -m pcb build-index out/index.db
```5. Download the Hamiltonian ZIP files.
```sh
uv run python -m pcb download out/index.db out/ham
# it is also possible to apply a filter to only download files in a given subdirectory
uv run python -m pcb download out/index.db out/ham --prefix binaryoptimization/maxcut
```### Reordering benchmark
1. Run the benchmark.
```sh
uv run python -m pcb benchmark-reorder out/index.db out/ham out/reordering
#Β or
uv run python -m pcb benchmark-reorder out/index.db out/ham out/reordering --prefix binaryoptimization/maxcut --n-trials 1 --n-jobs 200 --methods none,saturation,misra_gries --min-qubits 32 --max-qubits 127 --min-terms 16 --max-terms 256
```2. You can obtain temporary consolidated results during the benchmark by running:
```sh
uv run python -m pcb consolidate out/reordering
```This is automatically done at the end of the benchmark.
## More help
```sh
uv run python -m pcb --help
```