iqm-benchmarks 1.6__tar.gz → 1.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of iqm-benchmarks might be problematic. Click here for more details.
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.gitignore +2 -1
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/CHANGELOG.rst +10 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/PKG-INFO +19 -13
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/README.md +13 -6
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_experiment_all.ipynb +3 -3
- iqm_benchmarks-1.8/examples/example_ghz.ipynb +324 -0
- iqm_benchmarks-1.8/examples/example_gst.ipynb +613 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/how_to_make_your_own_benchmark.ipynb +1 -1
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/pyproject.toml +5 -6
- iqm_benchmarks-1.8/src/iqm/benchmarks/compressive_gst/compressive_gst.py +456 -0
- iqm_benchmarks-1.8/src/iqm/benchmarks/compressive_gst/gst_analysis.py +851 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/entanglement/ghz.py +181 -119
- iqm_benchmarks-1.8/src/iqm/benchmarks/randomized_benchmarking/clifford_1q.pkl +0 -0
- iqm_benchmarks-1.8/src/iqm/benchmarks/randomized_benchmarking/clifford_2q.pkl +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/randomized_benchmarking_common.py +6 -4
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/readout_mitigation.py +3 -8
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/utils.py +0 -31
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/PKG-INFO +19 -13
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/SOURCES.txt +2 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/requires.txt +5 -6
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_ghz.py +14 -6
- iqm_benchmarks-1.8/tests/test_gst.py +41 -0
- iqm_benchmarks-1.6/examples/example_gst.ipynb +0 -420
- iqm_benchmarks-1.6/src/iqm/benchmarks/compressive_gst/compressive_gst.py +0 -1029
- iqm_benchmarks-1.6/src/iqm/benchmarks/randomized_benchmarking/clifford_1q.pkl +0 -0
- iqm_benchmarks-1.6/src/iqm/benchmarks/randomized_benchmarking/clifford_2q.pkl +0 -0
- iqm_benchmarks-1.6/tests/test_gst.py +0 -36
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.github/workflows/main.yml +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.github/workflows/publish.yml +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.github/workflows/tag_and_release.yml +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/LICENSE +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/benchmark_runner.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_clifford_rb.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_clops.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_interleaved_rb.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_mirror_rb.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_qscore.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_quantum_volume.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/generate_2qubit_cliffords.ipynb +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/scheduled_experiments/adonis/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/scheduled_experiments/adonis/weekly.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/setup.cfg +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/benchmark.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/benchmark_definition.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/benchmark_experiment.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/compressive_gst/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/entanglement/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/logging_config.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/optimization/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/optimization/qscore.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/quantum_volume/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/quantum_volume/clops.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/quantum_volume/quantum_volume.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/clifford_rb.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/interleaved_rb.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/__init__.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/mirror_rb.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/multi_lmfit.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/dependency_links.txt +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/top_level.txt +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/LICENSE +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/README.md +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/additional_fns.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/algorithm.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/compatibility.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/low_level_jit.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/optimization.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/qiskit_interface.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/reporting/figure_gen.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/reporting/reporting.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tag-from-pipeline.sh +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_qscore.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_qv.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_rb.py +0 -0
- {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tox.ini +0 -0
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
Version 1.8
|
|
6
|
+
===========
|
|
7
|
+
* Changed compressive GST to operate under the new base class and added multiple qubit layouts.
|
|
8
|
+
* Added plot to GHZ benchmark and applied small fixes.
|
|
9
|
+
* Added tutorial notebook for the GHZ benchmark.
|
|
10
|
+
|
|
11
|
+
Version 1.7
|
|
12
|
+
===========
|
|
13
|
+
* Remove explicit dependency on qiskit, instead taking it from qiskit-on-iqm.
|
|
14
|
+
|
|
5
15
|
Version 1.6
|
|
6
16
|
===========
|
|
7
17
|
* Minor change in dependencies for compatibility.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: iqm-benchmarks
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8
|
|
4
4
|
Summary: A package for implementation of Quantum Characterization, Verification and Validation (QCVV) techniques on IQM's hardware at gate level abstraction
|
|
5
5
|
Author-email: IQM Finland Oy <developers@meetiqm.com>, Aniket Rath <aniket.rath@meetiqm.com>, Jami Rönkkö <jami@meetiqm.com>, Pedro Figueroa Romero <pedro.romero@meetiqm.com>, Vicente Pina Canelles <vicente.pina@meetiqm.com>, Raphael Brieger <raphael.brieger@meetiqm.com>, Stefan Seegerer <stefan.seegerer@meetiqm.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/iqm-finland/iqm-benchmarks
|
|
@@ -12,14 +12,13 @@ Requires-Python: >=3.11
|
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
14
|
Requires-Dist: lmfit>=1.2
|
|
15
|
-
Requires-Dist: matplotlib
|
|
15
|
+
Requires-Dist: matplotlib<4,>=3.6.3
|
|
16
16
|
Requires-Dist: more-itertools==10.1.0
|
|
17
|
-
Requires-Dist: mthree
|
|
17
|
+
Requires-Dist: mthree<2.7,>=2.6
|
|
18
18
|
Requires-Dist: networkx==3.3
|
|
19
|
-
Requires-Dist: numpy
|
|
20
|
-
Requires-Dist: qiskit
|
|
21
|
-
Requires-Dist: qiskit-
|
|
22
|
-
Requires-Dist: qiskit-iqm==15.1
|
|
19
|
+
Requires-Dist: numpy<2.0,>=1.25.2
|
|
20
|
+
Requires-Dist: qiskit>=1.0
|
|
21
|
+
Requires-Dist: qiskit-iqm>=15.1
|
|
23
22
|
Requires-Dist: scikit-optimize==0.10.2
|
|
24
23
|
Requires-Dist: tabulate==0.9.0
|
|
25
24
|
Requires-Dist: uncertainties==3.2.2
|
|
@@ -49,15 +48,22 @@ Requires-Dist: pytest-pylint==0.21.0; extra == "test"
|
|
|
49
48
|
|
|
50
49
|
# IQM Benchmarks
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
IQM Benchmarks is a suite of Quantum Characterization, Verification, and Validation (QCVV) tools for quantum computing. It is designed to be a comprehensive tool for benchmarking quantum hardware. The suite is designed to be modular, allowing users to easily add new benchmarks and customize existing ones. The suite is designed to be easy to use, with a simple API that allows users to run benchmarks with a single command.
|
|
53
52
|
|
|
54
53
|
|
|
55
54
|
Below is a list of the benchmarks currently available in the suite:
|
|
56
|
-
*
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
* Gates / Layers:
|
|
56
|
+
- Standard Clifford Randomized Benchmarking [[Phys. Rev. A 85, 042311](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.85.042311) (2012)]
|
|
57
|
+
- Interleaved Randomized Benchmarking [[Phys. Rev. Lett. 109, 080505](https://doi.org/10.1103/PhysRevLett.109.080505) (2012)]
|
|
58
|
+
- Compressive Gate Set Tomography [[PRX Quantum 4, 010325](https://journals.aps.org/prxquantum/abstract/10.1103/PRXQuantum.4.010325) (2023)]
|
|
59
|
+
- Mirror Randomized Benchmarking [[Phys. Rev. Lett. 129, 150502](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.129.150502) (2022)]
|
|
60
|
+
* Holistic:
|
|
61
|
+
- Quantum Volume [[Phys. Rev. A 100, 032328](https://doi.org/10.1103/PhysRevA.100.032328) (2019)]
|
|
62
|
+
- CLOPS [[arXiv:2110.14108 [quant-ph]](https://arxiv.org/abs/2110.14108) (2021)]
|
|
63
|
+
* Entanglement:
|
|
64
|
+
- GHZ State Fidelity [[arXiv:0712.0921 [quant-ph]](https://arxiv.org/abs/0712.0921) (2007)]
|
|
65
|
+
* Optimization:
|
|
66
|
+
- Q-Score [[IEEE Trans. Quantum Eng., 2](https://doi.org/10.1109/TQE.2021.3090207) (2021)]
|
|
61
67
|
|
|
62
68
|
The project is split into different benchmarks, all sharing the `Benchmark` class or the legacy `BenchmarkBase` class. Each individual benchmark takes as an argument their own `BenchmarkConfigurationBase` class. All the (legacy) benchmarks executed at once are wrapped by the `BenchmarkExperiment` class, which handles dependencies among the benchmarks, storing the results, producing the plots...
|
|
63
69
|
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
# IQM Benchmarks
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
IQM Benchmarks is a suite of Quantum Characterization, Verification, and Validation (QCVV) tools for quantum computing. It is designed to be a comprehensive tool for benchmarking quantum hardware. The suite is designed to be modular, allowing users to easily add new benchmarks and customize existing ones. The suite is designed to be easy to use, with a simple API that allows users to run benchmarks with a single command.
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
Below is a list of the benchmarks currently available in the suite:
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
* Gates / Layers:
|
|
8
|
+
- Standard Clifford Randomized Benchmarking [[Phys. Rev. A 85, 042311](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.85.042311) (2012)]
|
|
9
|
+
- Interleaved Randomized Benchmarking [[Phys. Rev. Lett. 109, 080505](https://doi.org/10.1103/PhysRevLett.109.080505) (2012)]
|
|
10
|
+
- Compressive Gate Set Tomography [[PRX Quantum 4, 010325](https://journals.aps.org/prxquantum/abstract/10.1103/PRXQuantum.4.010325) (2023)]
|
|
11
|
+
- Mirror Randomized Benchmarking [[Phys. Rev. Lett. 129, 150502](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.129.150502) (2022)]
|
|
12
|
+
* Holistic:
|
|
13
|
+
- Quantum Volume [[Phys. Rev. A 100, 032328](https://doi.org/10.1103/PhysRevA.100.032328) (2019)]
|
|
14
|
+
- CLOPS [[arXiv:2110.14108 [quant-ph]](https://arxiv.org/abs/2110.14108) (2021)]
|
|
15
|
+
* Entanglement:
|
|
16
|
+
- GHZ State Fidelity [[arXiv:0712.0921 [quant-ph]](https://arxiv.org/abs/0712.0921) (2007)]
|
|
17
|
+
* Optimization:
|
|
18
|
+
- Q-Score [[IEEE Trans. Quantum Eng., 2](https://doi.org/10.1109/TQE.2021.3090207) (2021)]
|
|
12
19
|
|
|
13
20
|
The project is split into different benchmarks, all sharing the `Benchmark` class or the legacy `BenchmarkBase` class. Each individual benchmark takes as an argument their own `BenchmarkConfigurationBase` class. All the (legacy) benchmarks executed at once are wrapped by the `BenchmarkExperiment` class, which handles dependencies among the benchmarks, storing the results, producing the plots...
|
|
14
21
|
|
|
@@ -692,9 +692,9 @@
|
|
|
692
692
|
],
|
|
693
693
|
"metadata": {
|
|
694
694
|
"kernelspec": {
|
|
695
|
-
"display_name": "
|
|
695
|
+
"display_name": "Python 3 (ipykernel)",
|
|
696
696
|
"language": "python",
|
|
697
|
-
"name": "
|
|
697
|
+
"name": "python3"
|
|
698
698
|
},
|
|
699
699
|
"language_info": {
|
|
700
700
|
"codemirror_mode": {
|
|
@@ -706,7 +706,7 @@
|
|
|
706
706
|
"name": "python",
|
|
707
707
|
"nbconvert_exporter": "python",
|
|
708
708
|
"pygments_lexer": "ipython3",
|
|
709
|
-
"version": "3.11.
|
|
709
|
+
"version": "3.11.0"
|
|
710
710
|
}
|
|
711
711
|
},
|
|
712
712
|
"nbformat": 4,
|