iqm-benchmarks 2.18__tar.gz → 2.20__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-2.18 → iqm_benchmarks-2.20}/CHANGELOG.rst +9 -0
- {iqm_benchmarks-2.18/src/iqm_benchmarks.egg-info → iqm_benchmarks-2.20}/PKG-INFO +1 -1
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/requirements.txt +3 -3
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/__init__.py +2 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/quantum_volume/clops.py +15 -4
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/mirror_rb.py +22 -5
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/readout_mitigation.py +12 -21
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20/src/iqm_benchmarks.egg-info}/PKG-INFO +1 -1
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/tests/test_ghz.py +15 -16
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/tests/test_gst.py +13 -9
- iqm_benchmarks-2.20/tests/test_qscore.py +37 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/tests/test_qv.py +14 -10
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/tests/test_rb.py +12 -9
- iqm_benchmarks-2.18/tests/test_qscore.py +0 -50
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/.github/workflows/main.yml +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/.github/workflows/publish.yml +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/.github/workflows/tag_and_release.yml +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/.gitignore +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/LICENSE +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/MANIFEST.in +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/README.md +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/benchmark_runner.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docbuild +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/API.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/Makefile +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/_static/images/favicon.ico +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/_static/images/logo.png +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/_templates/autosummary-class-template.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/_templates/autosummary-module-template.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/changelog.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/conf.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/development/development.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/development/generate_2qubit_cliffords.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/development/how_to_make_your_own_benchmark.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/devices/devices.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/devices/spark.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/devices/star.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_clifford_rb.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_clops.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_experiment_all.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_ghz.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_ghz_deneb.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_gst.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_interleaved_rb.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_mirror_rb.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_qscore.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_quantum_volume.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_quantum_volume_deneb.ipynb +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/examples.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/index.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/license.rst +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/readme.md +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/format +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/pyproject.toml +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/scheduled_experiments/adonis/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/scheduled_experiments/adonis/weekly.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/setup.cfg +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/benchmark.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/benchmark_definition.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/circuit_containers.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/compressive_gst/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/compressive_gst/compressive_gst.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/compressive_gst/gst_analysis.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/entanglement/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/entanglement/ghz.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/logging_config.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/optimization/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/optimization/qscore.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/quantum_volume/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/quantum_volume/quantum_volume.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/clifford_1q.pkl +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/clifford_2q.pkl +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/clifford_rb/clifford_rb.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/interleaved_rb/interleaved_rb.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/mirror_rb/__init__.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/multi_lmfit.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/randomized_benchmarking_common.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/utils.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm_benchmarks.egg-info/SOURCES.txt +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm_benchmarks.egg-info/dependency_links.txt +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm_benchmarks.egg-info/requires.txt +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm_benchmarks.egg-info/top_level.txt +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/LICENSE +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/README.md +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/additional_fns.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/algorithm.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/compatibility.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/low_level_jit.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/optimization.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/qiskit_interface.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/reporting/figure_gen.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/mGST/reporting/reporting.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/tag-from-pipeline.sh +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/test +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/tests/unit/test_benchmark_circuit.py +0 -0
- {iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/update-requirements.py +0 -0
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
Version 2.20
|
|
6
|
+
============
|
|
7
|
+
* Standardizes observations for CLOPS and Mirror RB.
|
|
8
|
+
|
|
9
|
+
Version 2.19
|
|
10
|
+
============
|
|
11
|
+
* All functional tests extended to the fake Deneb backend.
|
|
12
|
+
* Added backend transpilation to REM calibration circuits to fix errors with REM on fake Deneb.
|
|
13
|
+
|
|
5
14
|
Version 2.18
|
|
6
15
|
============
|
|
7
16
|
* Added notebook to benchmark IQM Star QPUs and bug fixes done for Qscore.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: iqm-benchmarks
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.20
|
|
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>, Miikka Koistinen <miikka@meetiqm.com>, Adrian Auer <adrian.auer@meetiqm.com>, Nadia Milazzo <nadia.milazzo@meetiqm.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/iqm-finland/iqm-benchmarks
|
|
@@ -1119,9 +1119,9 @@ mypy-extensions==1.0.0 \
|
|
|
1119
1119
|
myst-nb==1.1.0 \
|
|
1120
1120
|
--hash=sha256:0ac29b2a346f9a1257edbfb5d6c47d528728a37e6b9438903c2821f69fda9235 \
|
|
1121
1121
|
--hash=sha256:9278840e844f5d780b5acc5400cbf63d97caaccf8eb442a55ebd9a03e2522d5e
|
|
1122
|
-
myst-parser==4.0.
|
|
1123
|
-
--hash=sha256:
|
|
1124
|
-
--hash=sha256:
|
|
1122
|
+
myst-parser==4.0.1 \
|
|
1123
|
+
--hash=sha256:5cfea715e4f3574138aecbf7d54132296bfd72bb614d31168f48c477a830a7c4 \
|
|
1124
|
+
--hash=sha256:9134e88959ec3b5780aedf8a99680ea242869d012e8821db3126d427edc9c95d
|
|
1125
1125
|
nbclient==0.10.2 \
|
|
1126
1126
|
--hash=sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d \
|
|
1127
1127
|
--hash=sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193
|
|
@@ -27,6 +27,7 @@ from .benchmark_definition import (
|
|
|
27
27
|
)
|
|
28
28
|
from .circuit_containers import BenchmarkCircuit, CircuitGroup, Circuits
|
|
29
29
|
from .entanglement.ghz import GHZBenchmark, GHZConfiguration
|
|
30
|
+
from .optimization.qscore import QScoreBenchmark, QScoreConfiguration
|
|
30
31
|
from .quantum_volume.clops import CLOPSBenchmark, CLOPSConfiguration
|
|
31
32
|
from .quantum_volume.quantum_volume import QuantumVolumeBenchmark, QuantumVolumeConfiguration
|
|
32
33
|
from .randomized_benchmarking.clifford_rb.clifford_rb import CliffordRandomizedBenchmarking, CliffordRBConfiguration
|
|
@@ -44,6 +45,7 @@ AVAILABLE_BENCHMARKS = {
|
|
|
44
45
|
CliffordRandomizedBenchmarking.name: CliffordRandomizedBenchmarking,
|
|
45
46
|
InterleavedRandomizedBenchmarking.name: InterleavedRandomizedBenchmarking,
|
|
46
47
|
MirrorRandomizedBenchmarking.name: MirrorRandomizedBenchmarking,
|
|
48
|
+
QScoreBenchmark.name: QScoreBenchmark,
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
try:
|
|
@@ -30,7 +30,12 @@ import xarray as xr
|
|
|
30
30
|
|
|
31
31
|
from iqm.benchmarks import Benchmark
|
|
32
32
|
from iqm.benchmarks.benchmark import BenchmarkConfigurationBase
|
|
33
|
-
from iqm.benchmarks.benchmark_definition import
|
|
33
|
+
from iqm.benchmarks.benchmark_definition import (
|
|
34
|
+
BenchmarkAnalysisResult,
|
|
35
|
+
BenchmarkObservation,
|
|
36
|
+
BenchmarkObservationIdentifier,
|
|
37
|
+
BenchmarkRunResult,
|
|
38
|
+
)
|
|
34
39
|
from iqm.benchmarks.circuit_containers import BenchmarkCircuit, CircuitGroup, Circuits
|
|
35
40
|
from iqm.benchmarks.logging_config import qcvv_logger
|
|
36
41
|
from iqm.benchmarks.utils import (
|
|
@@ -232,11 +237,12 @@ def clops_analysis(run: BenchmarkRunResult) -> BenchmarkAnalysisResult:
|
|
|
232
237
|
AnalysisResult corresponding to CLOPS
|
|
233
238
|
"""
|
|
234
239
|
plots: Dict[str, Any] = {}
|
|
235
|
-
|
|
240
|
+
obs_dict = {}
|
|
236
241
|
dataset = run.dataset
|
|
237
242
|
|
|
238
243
|
# Retrieve dataset values
|
|
239
244
|
# backend_name = dataset.attrs["backend_configuration_name"]
|
|
245
|
+
qubits = dataset.attrs["qubits"]
|
|
240
246
|
num_circuits = dataset.attrs["num_circuits"]
|
|
241
247
|
num_updates = dataset.attrs["num_updates"]
|
|
242
248
|
num_shots = dataset.attrs["num_shots"]
|
|
@@ -291,7 +297,7 @@ def clops_analysis(run: BenchmarkRunResult) -> BenchmarkAnalysisResult:
|
|
|
291
297
|
)
|
|
292
298
|
|
|
293
299
|
# UPDATE OBSERVATIONS
|
|
294
|
-
|
|
300
|
+
obs_dict.update({1: processed_results})
|
|
295
301
|
|
|
296
302
|
# PLOT
|
|
297
303
|
# Get all execution elapsed times
|
|
@@ -305,7 +311,7 @@ def clops_analysis(run: BenchmarkRunResult) -> BenchmarkAnalysisResult:
|
|
|
305
311
|
else:
|
|
306
312
|
qcvv_logger.info(f'\t"{k}": {overall_elapsed[k]:.2f} sec')
|
|
307
313
|
|
|
308
|
-
fig_name, fig = plot_times(dataset,
|
|
314
|
+
fig_name, fig = plot_times(dataset, obs_dict)
|
|
309
315
|
plots[fig_name] = fig
|
|
310
316
|
else:
|
|
311
317
|
qcvv_logger.info("There is no elapsed-time data associated to jobs (e.g., execution on simulator)")
|
|
@@ -313,6 +319,11 @@ def clops_analysis(run: BenchmarkRunResult) -> BenchmarkAnalysisResult:
|
|
|
313
319
|
# Sort the final dataset
|
|
314
320
|
dataset.attrs = dict(sorted(dataset.attrs.items()))
|
|
315
321
|
|
|
322
|
+
observations = [
|
|
323
|
+
BenchmarkObservation(name="clops_v", value=int(clops_v), identifier=BenchmarkObservationIdentifier(qubits)),
|
|
324
|
+
BenchmarkObservation(name="clops_h", value=int(clops_h), identifier=BenchmarkObservationIdentifier(qubits)),
|
|
325
|
+
]
|
|
326
|
+
|
|
316
327
|
return BenchmarkAnalysisResult(dataset=dataset, plots=plots, observations=observations)
|
|
317
328
|
|
|
318
329
|
|
|
@@ -15,7 +15,12 @@ from qiskit_aer import Aer, AerSimulator
|
|
|
15
15
|
from scipy.spatial.distance import hamming
|
|
16
16
|
import xarray as xr
|
|
17
17
|
|
|
18
|
-
from iqm.benchmarks import
|
|
18
|
+
from iqm.benchmarks import (
|
|
19
|
+
BenchmarkAnalysisResult,
|
|
20
|
+
BenchmarkObservation,
|
|
21
|
+
BenchmarkObservationIdentifier,
|
|
22
|
+
BenchmarkRunResult,
|
|
23
|
+
)
|
|
19
24
|
from iqm.benchmarks.benchmark import BenchmarkConfigurationBase
|
|
20
25
|
from iqm.benchmarks.benchmark_definition import Benchmark, add_counts_to_dataset
|
|
21
26
|
from iqm.benchmarks.circuit_containers import BenchmarkCircuit, CircuitGroup, Circuits
|
|
@@ -431,7 +436,8 @@ def mrb_analysis(run: BenchmarkRunResult) -> BenchmarkAnalysisResult:
|
|
|
431
436
|
AnalysisResult corresponding to MRB
|
|
432
437
|
"""
|
|
433
438
|
plots = {}
|
|
434
|
-
|
|
439
|
+
obs_dict = {}
|
|
440
|
+
observations: list[BenchmarkObservation] = []
|
|
435
441
|
dataset = run.dataset.copy(deep=True)
|
|
436
442
|
|
|
437
443
|
# shots = dataset.attrs["shots"]
|
|
@@ -539,25 +545,36 @@ def mrb_analysis(run: BenchmarkRunResult) -> BenchmarkAnalysisResult:
|
|
|
539
545
|
)
|
|
540
546
|
|
|
541
547
|
# Update observations
|
|
542
|
-
|
|
548
|
+
obs_dict.update({qubits_idx: processed_results})
|
|
543
549
|
|
|
544
550
|
# Generate plots
|
|
545
551
|
fig_name, fig = plot_rb_decay(
|
|
546
552
|
"mrb",
|
|
547
553
|
[qubits],
|
|
548
554
|
dataset,
|
|
549
|
-
|
|
555
|
+
obs_dict,
|
|
550
556
|
mrb_2q_density=density_2q_gates,
|
|
551
557
|
mrb_2q_ensemble=two_qubit_gate_ensemble,
|
|
552
558
|
)
|
|
553
559
|
plots[fig_name] = fig
|
|
554
560
|
|
|
561
|
+
observations.extend(
|
|
562
|
+
[
|
|
563
|
+
BenchmarkObservation(
|
|
564
|
+
name="decay_rate",
|
|
565
|
+
identifier=BenchmarkObservationIdentifier(qubits),
|
|
566
|
+
value=popt["decay_rate"].value,
|
|
567
|
+
uncertainty=popt["decay_rate"].stderr,
|
|
568
|
+
)
|
|
569
|
+
]
|
|
570
|
+
)
|
|
571
|
+
|
|
555
572
|
# Generate the combined plot
|
|
556
573
|
fig_name, fig = plot_rb_decay(
|
|
557
574
|
"mrb",
|
|
558
575
|
qubits_array,
|
|
559
576
|
dataset,
|
|
560
|
-
|
|
577
|
+
obs_dict,
|
|
561
578
|
mrb_2q_density=density_2q_gates,
|
|
562
579
|
mrb_2q_ensemble=two_qubit_gate_ensemble,
|
|
563
580
|
)
|
|
@@ -198,29 +198,20 @@ class M3IQM(mthree.M3Mitigation):
|
|
|
198
198
|
trans_qcs[(num_jobs - 1) * circ_slice :]
|
|
199
199
|
]
|
|
200
200
|
# Do job submission here
|
|
201
|
-
# This Backend check is here for Qiskit direct access. Should be removed later.
|
|
202
201
|
jobs = []
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
202
|
+
for circs in circs_list:
|
|
203
|
+
transpiled_circuit = transpile(circs, self.system, optimization_level=0)
|
|
204
|
+
if cal_id is None:
|
|
206
205
|
_job = self.system.run(transpiled_circuit, shots=shots, rep_delay=self.rep_delay)
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
_job = self.system.run(
|
|
217
|
-
circs,
|
|
218
|
-
shots=shots,
|
|
219
|
-
rep_delay=self.rep_delay,
|
|
220
|
-
calibration_set_id=cal_id,
|
|
221
|
-
)
|
|
222
|
-
jobs.append(_job)
|
|
223
|
-
qcvv_logger.info(f"REM: {len(circs)} calibration circuits to be executed!")
|
|
206
|
+
else:
|
|
207
|
+
_job = self.system.run(
|
|
208
|
+
transpiled_circuit,
|
|
209
|
+
shots=shots,
|
|
210
|
+
rep_delay=self.rep_delay,
|
|
211
|
+
calibration_set_id=cal_id,
|
|
212
|
+
)
|
|
213
|
+
jobs.append(_job)
|
|
214
|
+
qcvv_logger.info(f"REM: {len(circs)} calibration circuits to be executed!")
|
|
224
215
|
|
|
225
216
|
# Execute job and cal building in new thread.
|
|
226
217
|
self._job_error = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: iqm-benchmarks
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.20
|
|
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>, Miikka Koistinen <miikka@meetiqm.com>, Adrian Auer <adrian.auer@meetiqm.com>, Nadia Milazzo <nadia.milazzo@meetiqm.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/iqm-finland/iqm-benchmarks
|
|
@@ -4,23 +4,19 @@ from unittest.mock import patch
|
|
|
4
4
|
|
|
5
5
|
from iqm.benchmarks.entanglement.ghz import GHZBenchmark, GHZConfiguration
|
|
6
6
|
from iqm.qiskit_iqm.fake_backends.fake_apollo import IQMFakeApollo
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
backend = IQMFakeApollo()
|
|
10
|
-
|
|
7
|
+
from iqm.qiskit_iqm.fake_backends.fake_deneb import IQMFakeDeneb
|
|
11
8
|
|
|
12
9
|
class TestGHZ:
|
|
10
|
+
backend = IQMFakeApollo()
|
|
11
|
+
|
|
13
12
|
@patch('matplotlib.pyplot.figure')
|
|
14
13
|
def test_layouts(self, mock_fig):
|
|
15
14
|
MINIMAL_GHZ = GHZConfiguration(
|
|
16
15
|
state_generation_routine=f"tree",
|
|
17
16
|
custom_qubits_array=[
|
|
18
|
-
[
|
|
19
|
-
[
|
|
20
|
-
[
|
|
21
|
-
# [0,1,2,3,4],
|
|
22
|
-
# [0,1,2,3,4,5],
|
|
23
|
-
# [0,1,2,3,4,5,6],
|
|
17
|
+
[5, 6],
|
|
18
|
+
[1, 3, 4],
|
|
19
|
+
[1, 3, 4, 5],
|
|
24
20
|
],
|
|
25
21
|
shots=3,
|
|
26
22
|
qiskit_optim_level=3,
|
|
@@ -30,17 +26,17 @@ class TestGHZ:
|
|
|
30
26
|
rem=False,
|
|
31
27
|
mit_shots=10,
|
|
32
28
|
)
|
|
33
|
-
benchmark = GHZBenchmark(backend, MINIMAL_GHZ)
|
|
29
|
+
benchmark = GHZBenchmark(self.backend, MINIMAL_GHZ)
|
|
34
30
|
benchmark.run()
|
|
35
31
|
benchmark.analyze()
|
|
36
32
|
mock_fig.assert_called()
|
|
37
33
|
|
|
38
34
|
@patch('matplotlib.pyplot.figure')
|
|
39
35
|
def test_state_routine(self, mock_fig):
|
|
40
|
-
for gen_routine in [f"tree", f"naive", "log_depth"]:
|
|
36
|
+
for gen_routine in [f"tree", f"naive", "log_depth", "star"]:
|
|
41
37
|
MINIMAL_GHZ = GHZConfiguration(
|
|
42
38
|
state_generation_routine=gen_routine,
|
|
43
|
-
custom_qubits_array=[[
|
|
39
|
+
custom_qubits_array=[[2, 3, 4]],
|
|
44
40
|
shots=3,
|
|
45
41
|
qiskit_optim_level=3,
|
|
46
42
|
optimize_sqg=True,
|
|
@@ -49,7 +45,7 @@ class TestGHZ:
|
|
|
49
45
|
rem=False,
|
|
50
46
|
mit_shots=10,
|
|
51
47
|
)
|
|
52
|
-
benchmark = GHZBenchmark(backend, MINIMAL_GHZ)
|
|
48
|
+
benchmark = GHZBenchmark(self.backend, MINIMAL_GHZ)
|
|
53
49
|
benchmark.run()
|
|
54
50
|
benchmark.analyze()
|
|
55
51
|
mock_fig.assert_called()
|
|
@@ -59,7 +55,7 @@ class TestGHZ:
|
|
|
59
55
|
for fidelity_routine in [f"coherences", f"randomized_measurements"]:
|
|
60
56
|
MINIMAL_GHZ = GHZConfiguration(
|
|
61
57
|
state_generation_routine=f"tree",
|
|
62
|
-
custom_qubits_array=[[
|
|
58
|
+
custom_qubits_array=[[2, 3, 4]],
|
|
63
59
|
shots=3,
|
|
64
60
|
qiskit_optim_level=3,
|
|
65
61
|
optimize_sqg=True,
|
|
@@ -68,7 +64,10 @@ class TestGHZ:
|
|
|
68
64
|
rem=True,
|
|
69
65
|
mit_shots=10,
|
|
70
66
|
)
|
|
71
|
-
benchmark = GHZBenchmark(backend, MINIMAL_GHZ)
|
|
67
|
+
benchmark = GHZBenchmark(self.backend, MINIMAL_GHZ)
|
|
72
68
|
benchmark.run()
|
|
73
69
|
benchmark.analyze()
|
|
74
70
|
mock_fig.assert_called()
|
|
71
|
+
|
|
72
|
+
class TestGHZDeneb(TestGHZ):
|
|
73
|
+
backend = IQMFakeDeneb()
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
from unittest.mock import patch
|
|
4
4
|
|
|
5
5
|
from iqm.benchmarks.compressive_gst.compressive_gst import CompressiveGST, GSTConfiguration
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
backend = "iqmfakeapollo"
|
|
6
|
+
from iqm.qiskit_iqm.fake_backends.fake_apollo import IQMFakeApollo
|
|
7
|
+
from iqm.qiskit_iqm.fake_backends.fake_deneb import IQMFakeDeneb
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
class TestGST:
|
|
11
|
+
backend = IQMFakeApollo()
|
|
12
|
+
|
|
12
13
|
@patch('matplotlib.pyplot.figure')
|
|
13
14
|
def test_1q(self, mock_fig):
|
|
14
15
|
minimal_1Q_config = GSTConfiguration(
|
|
15
|
-
qubit_layouts=[[5], [
|
|
16
|
+
qubit_layouts=[[5], [1]],
|
|
16
17
|
gate_set="1QXYI",
|
|
17
18
|
num_circuits=10,
|
|
18
19
|
shots=10,
|
|
@@ -20,15 +21,15 @@ class TestGST:
|
|
|
20
21
|
bootstrap_samples=2,
|
|
21
22
|
max_iterations=[1, 1],
|
|
22
23
|
)
|
|
23
|
-
benchmark = CompressiveGST(backend, minimal_1Q_config)
|
|
24
|
+
benchmark = CompressiveGST(self.backend, minimal_1Q_config)
|
|
24
25
|
benchmark.run()
|
|
25
|
-
|
|
26
|
+
benchmark.analyze()
|
|
26
27
|
mock_fig.assert_called()
|
|
27
28
|
|
|
28
29
|
@patch('matplotlib.pyplot.figure')
|
|
29
30
|
def test_2q(self, mock_fig):
|
|
30
31
|
minimal_2Q_GST = GSTConfiguration(
|
|
31
|
-
qubit_layouts=[[
|
|
32
|
+
qubit_layouts=[[2, 3]],
|
|
32
33
|
gate_set="2QXYCZ_extended",
|
|
33
34
|
num_circuits=4,
|
|
34
35
|
shots=10,
|
|
@@ -36,7 +37,10 @@ class TestGST:
|
|
|
36
37
|
bootstrap_samples=0,
|
|
37
38
|
max_iterations=[1, 1],
|
|
38
39
|
)
|
|
39
|
-
benchmark = CompressiveGST(backend, minimal_2Q_GST)
|
|
40
|
+
benchmark = CompressiveGST(self.backend, minimal_2Q_GST)
|
|
40
41
|
benchmark.run()
|
|
41
|
-
|
|
42
|
+
benchmark.analyze()
|
|
42
43
|
mock_fig.assert_called()
|
|
44
|
+
|
|
45
|
+
class TestGSTDeneb(TestGST):
|
|
46
|
+
backend = IQMFakeDeneb()
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""Tests for Qscore estimation"""
|
|
2
|
+
|
|
3
|
+
from iqm.benchmarks.optimization.qscore import *
|
|
4
|
+
from iqm.qiskit_iqm.fake_backends.fake_adonis import IQMFakeAdonis
|
|
5
|
+
from iqm.qiskit_iqm.fake_backends.fake_deneb import IQMFakeDeneb
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TestQScore:
|
|
9
|
+
backend = IQMFakeAdonis()
|
|
10
|
+
qpu_topology = "crystal"
|
|
11
|
+
custom_qubits_array = [[0], [0, 2], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
|
|
12
|
+
|
|
13
|
+
def test_qscore(self):
|
|
14
|
+
EXAMPLE_QSCORE = QScoreConfiguration(
|
|
15
|
+
num_instances=2,
|
|
16
|
+
num_qaoa_layers=1,
|
|
17
|
+
shots=4,
|
|
18
|
+
calset_id=None, # calibration set ID, default is None
|
|
19
|
+
min_num_nodes=2,
|
|
20
|
+
max_num_nodes=None,
|
|
21
|
+
use_virtual_node=True,
|
|
22
|
+
use_classically_optimized_angles=True,
|
|
23
|
+
choose_qubits_routine="custom",
|
|
24
|
+
custom_qubits_array=self.custom_qubits_array,
|
|
25
|
+
seed=1,
|
|
26
|
+
REM=True,
|
|
27
|
+
mit_shots=10,
|
|
28
|
+
qpu_topology=self.qpu_topology
|
|
29
|
+
)
|
|
30
|
+
benchmark = QScoreBenchmark(self.backend, EXAMPLE_QSCORE)
|
|
31
|
+
benchmark.run()
|
|
32
|
+
benchmark.analyze()
|
|
33
|
+
|
|
34
|
+
class TestQScoreDeneb(TestQScore):
|
|
35
|
+
backend = IQMFakeDeneb()
|
|
36
|
+
qpu_topology = "star"
|
|
37
|
+
custom_qubits_array = [[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6]]
|
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
from iqm.benchmarks.quantum_volume.clops import CLOPSBenchmark, CLOPSConfiguration
|
|
4
4
|
from iqm.benchmarks.quantum_volume.quantum_volume import QuantumVolumeBenchmark, QuantumVolumeConfiguration
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
backend = "fakeapollo"
|
|
5
|
+
from iqm.qiskit_iqm.fake_backends.fake_apollo import IQMFakeApollo
|
|
6
|
+
from iqm.qiskit_iqm.fake_backends.fake_deneb import IQMFakeDeneb
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
class TestQV:
|
|
10
|
+
backend = IQMFakeApollo()
|
|
11
|
+
|
|
11
12
|
def test_qv(self):
|
|
12
13
|
EXAMPLE_QV = QuantumVolumeConfiguration(
|
|
13
14
|
num_circuits=5,
|
|
14
|
-
shots=2**
|
|
15
|
+
shots=2**5,
|
|
15
16
|
calset_id=None,
|
|
16
17
|
num_sigmas=2,
|
|
17
18
|
choose_qubits_routine="custom",
|
|
18
|
-
custom_qubits_array=[[
|
|
19
|
+
custom_qubits_array=[[2, 3]],
|
|
19
20
|
qiskit_optim_level=3,
|
|
20
21
|
optimize_sqg=True,
|
|
21
22
|
routing_method="sabre",
|
|
@@ -24,16 +25,16 @@ class TestQV:
|
|
|
24
25
|
rem=True,
|
|
25
26
|
mit_shots=10,
|
|
26
27
|
)
|
|
27
|
-
benchmark = QuantumVolumeBenchmark(backend, EXAMPLE_QV)
|
|
28
|
+
benchmark = QuantumVolumeBenchmark(self.backend, EXAMPLE_QV)
|
|
28
29
|
benchmark.run()
|
|
29
30
|
benchmark.analyze()
|
|
30
31
|
|
|
31
32
|
def test_clops(self):
|
|
32
33
|
EXAMPLE_CLOPS = CLOPSConfiguration(
|
|
33
|
-
qubits=[
|
|
34
|
-
num_circuits=
|
|
34
|
+
qubits=[2, 3],
|
|
35
|
+
num_circuits=4, # By definition set to 100
|
|
35
36
|
num_updates=2, # By definition set to 10
|
|
36
|
-
num_shots=2, # By definition set to 100
|
|
37
|
+
num_shots=2**5, # By definition set to 100
|
|
37
38
|
calset_id=None,
|
|
38
39
|
clops_h_bool=True,
|
|
39
40
|
qiskit_optim_level=3,
|
|
@@ -41,6 +42,9 @@ class TestQV:
|
|
|
41
42
|
routing_method="sabre",
|
|
42
43
|
physical_layout="fixed",
|
|
43
44
|
)
|
|
44
|
-
benchmark = CLOPSBenchmark(backend, EXAMPLE_CLOPS)
|
|
45
|
+
benchmark = CLOPSBenchmark(self.backend, EXAMPLE_CLOPS)
|
|
45
46
|
benchmark.run()
|
|
46
47
|
benchmark.analyze()
|
|
48
|
+
|
|
49
|
+
class TestQVDeneb(TestQV):
|
|
50
|
+
backend = IQMFakeDeneb()
|
|
@@ -14,15 +14,15 @@ from iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb import (
|
|
|
14
14
|
MirrorRandomizedBenchmarking,
|
|
15
15
|
MirrorRBConfiguration,
|
|
16
16
|
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
backend = "fakeapollo"
|
|
20
|
-
|
|
17
|
+
from iqm.qiskit_iqm.fake_backends.fake_apollo import IQMFakeApollo
|
|
18
|
+
from iqm.qiskit_iqm.fake_backends.fake_deneb import IQMFakeDeneb
|
|
21
19
|
|
|
22
20
|
class TestRB:
|
|
21
|
+
backend = IQMFakeApollo()
|
|
22
|
+
|
|
23
23
|
def test_mrb(self):
|
|
24
24
|
EXAMPLE_MRB = MirrorRBConfiguration(
|
|
25
|
-
qubits_array=[[
|
|
25
|
+
qubits_array=[[2, 3], [3, 4]],
|
|
26
26
|
depths_array=[[2**m for m in range(4)]],
|
|
27
27
|
num_circuit_samples=2,
|
|
28
28
|
num_pauli_samples=2,
|
|
@@ -32,13 +32,13 @@ class TestRB:
|
|
|
32
32
|
two_qubit_gate_ensemble={"CZGate": 0.8, "iSwapGate": 0.2},
|
|
33
33
|
density_2q_gates=0.25,
|
|
34
34
|
)
|
|
35
|
-
benchmark = MirrorRandomizedBenchmarking(backend, EXAMPLE_MRB)
|
|
35
|
+
benchmark = MirrorRandomizedBenchmarking(self.backend, EXAMPLE_MRB)
|
|
36
36
|
benchmark.run()
|
|
37
37
|
benchmark.analyze()
|
|
38
38
|
|
|
39
39
|
def test_irb(self):
|
|
40
40
|
EXAMPLE_IRB_1Q = InterleavedRBConfiguration(
|
|
41
|
-
qubits_array=[[
|
|
41
|
+
qubits_array=[[1]],
|
|
42
42
|
sequence_lengths=[2 ** (m + 1) - 1 for m in range(4)],
|
|
43
43
|
num_circuit_samples=2,
|
|
44
44
|
shots=2**4,
|
|
@@ -47,7 +47,7 @@ class TestRB:
|
|
|
47
47
|
interleaved_gate_params=[np.pi, 0],
|
|
48
48
|
simultaneous_fit=["amplitude", "offset"],
|
|
49
49
|
)
|
|
50
|
-
benchmark = InterleavedRandomizedBenchmarking(backend, EXAMPLE_IRB_1Q)
|
|
50
|
+
benchmark = InterleavedRandomizedBenchmarking(self.backend, EXAMPLE_IRB_1Q)
|
|
51
51
|
benchmark.run()
|
|
52
52
|
benchmark.analyze()
|
|
53
53
|
|
|
@@ -60,6 +60,9 @@ class TestRB:
|
|
|
60
60
|
calset_id=None,
|
|
61
61
|
parallel_execution=False,
|
|
62
62
|
)
|
|
63
|
-
benchmark = CliffordRandomizedBenchmarking(backend, EXAMPLE_CRB_1Q)
|
|
63
|
+
benchmark = CliffordRandomizedBenchmarking(self.backend, EXAMPLE_CRB_1Q)
|
|
64
64
|
benchmark.run()
|
|
65
65
|
benchmark.analyze()
|
|
66
|
+
|
|
67
|
+
class TestRBDeneb(TestRB):
|
|
68
|
+
backend = IQMFakeDeneb()
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"""Tests for Qscore estimation"""
|
|
2
|
-
|
|
3
|
-
from iqm.benchmarks.optimization.qscore import *
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
backend = "IQMFakeAdonis"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class TestQScore:
|
|
10
|
-
def test_qscore_crystal(self):
|
|
11
|
-
EXAMPLE_QSCORE = QScoreConfiguration(
|
|
12
|
-
num_instances=2,
|
|
13
|
-
num_qaoa_layers=1,
|
|
14
|
-
shots=4,
|
|
15
|
-
calset_id=None, # calibration set ID, default is None
|
|
16
|
-
min_num_nodes=2,
|
|
17
|
-
max_num_nodes=None,
|
|
18
|
-
use_virtual_node=True,
|
|
19
|
-
use_classically_optimized_angles=True,
|
|
20
|
-
choose_qubits_routine="custom",
|
|
21
|
-
custom_qubits_array=[[2], [2, 0], [2, 0, 1], [2, 0, 1, 3], [2, 0, 1, 3, 4]],
|
|
22
|
-
seed=1,
|
|
23
|
-
REM=True,
|
|
24
|
-
mit_shots=10,
|
|
25
|
-
qpu_topology="crystal"
|
|
26
|
-
)
|
|
27
|
-
benchmark = QScoreBenchmark(backend, EXAMPLE_QSCORE)
|
|
28
|
-
benchmark.run()
|
|
29
|
-
benchmark.analyze()
|
|
30
|
-
|
|
31
|
-
def test_qscore_star(self):
|
|
32
|
-
EXAMPLE_QSCORE = QScoreConfiguration(
|
|
33
|
-
num_instances=2,
|
|
34
|
-
num_qaoa_layers=1,
|
|
35
|
-
shots=4,
|
|
36
|
-
calset_id=None, # calibration set ID, default is None
|
|
37
|
-
min_num_nodes=2,
|
|
38
|
-
max_num_nodes=None,
|
|
39
|
-
use_virtual_node=True,
|
|
40
|
-
use_classically_optimized_angles=True,
|
|
41
|
-
choose_qubits_routine="custom",
|
|
42
|
-
custom_qubits_array=[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6]],
|
|
43
|
-
seed=1,
|
|
44
|
-
REM=True,
|
|
45
|
-
mit_shots=10,
|
|
46
|
-
qpu_topology="star"
|
|
47
|
-
)
|
|
48
|
-
benchmark = QScoreBenchmark(backend, EXAMPLE_QSCORE)
|
|
49
|
-
benchmark.run()
|
|
50
|
-
benchmark.analyze()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/development/generate_2qubit_cliffords.ipynb
RENAMED
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/development/how_to_make_your_own_benchmark.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/docs/examples/example_quantum_volume_deneb.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/compressive_gst/compressive_gst.py
RENAMED
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/compressive_gst/gst_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/quantum_volume/quantum_volume.py
RENAMED
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm/benchmarks/randomized_benchmarking/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iqm_benchmarks-2.18 → iqm_benchmarks-2.20}/src/iqm_benchmarks.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|