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.

Files changed (79) hide show
  1. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.gitignore +2 -1
  2. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/CHANGELOG.rst +10 -0
  3. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/PKG-INFO +19 -13
  4. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/README.md +13 -6
  5. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_experiment_all.ipynb +3 -3
  6. iqm_benchmarks-1.8/examples/example_ghz.ipynb +324 -0
  7. iqm_benchmarks-1.8/examples/example_gst.ipynb +613 -0
  8. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/how_to_make_your_own_benchmark.ipynb +1 -1
  9. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/pyproject.toml +5 -6
  10. iqm_benchmarks-1.8/src/iqm/benchmarks/compressive_gst/compressive_gst.py +456 -0
  11. iqm_benchmarks-1.8/src/iqm/benchmarks/compressive_gst/gst_analysis.py +851 -0
  12. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/entanglement/ghz.py +181 -119
  13. iqm_benchmarks-1.8/src/iqm/benchmarks/randomized_benchmarking/clifford_1q.pkl +0 -0
  14. iqm_benchmarks-1.8/src/iqm/benchmarks/randomized_benchmarking/clifford_2q.pkl +0 -0
  15. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/randomized_benchmarking_common.py +6 -4
  16. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/readout_mitigation.py +3 -8
  17. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/utils.py +0 -31
  18. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/PKG-INFO +19 -13
  19. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/SOURCES.txt +2 -0
  20. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/requires.txt +5 -6
  21. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_ghz.py +14 -6
  22. iqm_benchmarks-1.8/tests/test_gst.py +41 -0
  23. iqm_benchmarks-1.6/examples/example_gst.ipynb +0 -420
  24. iqm_benchmarks-1.6/src/iqm/benchmarks/compressive_gst/compressive_gst.py +0 -1029
  25. iqm_benchmarks-1.6/src/iqm/benchmarks/randomized_benchmarking/clifford_1q.pkl +0 -0
  26. iqm_benchmarks-1.6/src/iqm/benchmarks/randomized_benchmarking/clifford_2q.pkl +0 -0
  27. iqm_benchmarks-1.6/tests/test_gst.py +0 -36
  28. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.github/workflows/main.yml +0 -0
  29. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.github/workflows/publish.yml +0 -0
  30. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/.github/workflows/tag_and_release.yml +0 -0
  31. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/LICENSE +0 -0
  32. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/benchmark_runner.py +0 -0
  33. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_clifford_rb.ipynb +0 -0
  34. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_clops.ipynb +0 -0
  35. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_interleaved_rb.ipynb +0 -0
  36. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_mirror_rb.ipynb +0 -0
  37. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_qscore.ipynb +0 -0
  38. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/example_quantum_volume.ipynb +0 -0
  39. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/examples/generate_2qubit_cliffords.ipynb +0 -0
  40. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/scheduled_experiments/adonis/__init__.py +0 -0
  41. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/scheduled_experiments/adonis/weekly.py +0 -0
  42. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/setup.cfg +0 -0
  43. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/__init__.py +0 -0
  44. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/benchmark.py +0 -0
  45. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/benchmark_definition.py +0 -0
  46. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/benchmark_experiment.py +0 -0
  47. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/compressive_gst/__init__.py +0 -0
  48. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/entanglement/__init__.py +0 -0
  49. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/logging_config.py +0 -0
  50. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/optimization/__init__.py +0 -0
  51. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/optimization/qscore.py +0 -0
  52. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/quantum_volume/__init__.py +0 -0
  53. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/quantum_volume/clops.py +0 -0
  54. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/quantum_volume/quantum_volume.py +0 -0
  55. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/__init__.py +0 -0
  56. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/__init__.py +0 -0
  57. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/clifford_rb.py +0 -0
  58. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/__init__.py +0 -0
  59. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/interleaved_rb.py +0 -0
  60. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/__init__.py +0 -0
  61. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/mirror_rb.py +0 -0
  62. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm/benchmarks/randomized_benchmarking/multi_lmfit.py +0 -0
  63. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/dependency_links.txt +0 -0
  64. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/iqm_benchmarks.egg-info/top_level.txt +0 -0
  65. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/LICENSE +0 -0
  66. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/README.md +0 -0
  67. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/additional_fns.py +0 -0
  68. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/algorithm.py +0 -0
  69. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/compatibility.py +0 -0
  70. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/low_level_jit.py +0 -0
  71. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/optimization.py +0 -0
  72. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/qiskit_interface.py +0 -0
  73. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/reporting/figure_gen.py +0 -0
  74. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/src/mGST/reporting/reporting.py +0 -0
  75. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tag-from-pipeline.sh +0 -0
  76. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_qscore.py +0 -0
  77. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_qv.py +0 -0
  78. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tests/test_rb.py +0 -0
  79. {iqm_benchmarks-1.6 → iqm_benchmarks-1.8}/tox.ini +0 -0
@@ -28,4 +28,5 @@ version.txt
28
28
  .idea/*
29
29
 
30
30
  /Outputs/
31
- /tests/Outputs/
31
+ /tests/Outputs/
32
+ /examples/Outputs/*
@@ -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.6
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==3.9.0
15
+ Requires-Dist: matplotlib<4,>=3.6.3
16
16
  Requires-Dist: more-itertools==10.1.0
17
- Requires-Dist: mthree==2.6.3
17
+ Requires-Dist: mthree<2.7,>=2.6
18
18
  Requires-Dist: networkx==3.3
19
- Requires-Dist: numpy>=1.25.2
20
- Requires-Dist: qiskit==0.45.3
21
- Requires-Dist: qiskit-aer==0.13.3
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
- The 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.
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
- * Randomized Benchmarking: A suite of randomized benchmarking protocols for characterizing the performance of quantum gates (Clifford Randomized Benchmarking, Mirror Randomized Benchmarking, Interleaved Randomized Benchmarking).
57
- * Quantum Volume: A benchmark for characterizing the performance of quantum computers.
58
- * Q-Score: A benchmark that estimates the size of combinatorial optimization problems a given number of qubits can execute with meaningful results.
59
- * GHZ State Benchmarking: A benchmark for characterizing the performance of multi-qubit entangled states.
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
- The 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.
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
- * Randomized Benchmarking: A suite of randomized benchmarking protocols for characterizing the performance of quantum gates (Clifford Randomized Benchmarking, Mirror Randomized Benchmarking, Interleaved Randomized Benchmarking).
8
- * Quantum Volume: A benchmark for characterizing the performance of quantum computers.
9
- * Q-Score: A benchmark that estimates the size of combinatorial optimization problems a given number of qubits can execute with meaningful results.
10
- * GHZ State Benchmarking: A benchmark for characterizing the performance of multi-qubit entangled states.
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": "qcvv-suite",
695
+ "display_name": "Python 3 (ipykernel)",
696
696
  "language": "python",
697
- "name": "qcvv-suite"
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.2"
709
+ "version": "3.11.0"
710
710
  }
711
711
  },
712
712
  "nbformat": 4,