You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17-5Lines changed: 17 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -4,17 +4,19 @@
4
4
5
5
This repository contains python code to run the Q-score (Max-Cut and Max-Clique) benchmark on the following solver backends:
6
6
7
-
- D-Wave devices and solvers, precisely its `Advantage_system4.1` and `DW_2000Q_6` QPU solvers, its `Simulated Annealing` and `qbsolv` classical solver, and its `hybrid` solver.
7
+
- D-Wave QPU device, the `Advantage_system4.1`~~and `DW_2000Q_6`~~ QPU system. (The `DW_2000Q_6` device no longer available.)
8
+
- D-Wave classical solvers, its `Simulated Annealing` and `qbsolv` solver
9
+
- D-Wave hybrid solver.
8
10
- Gate-based hardware using QAOA on QuantumInspire and IBM hardware or simulators.
9
-
-Simulator for Gaussian Boson Sampling, a form of photonic quantum computing.
11
+
- Gaussian Boson Sampling, a form of photonic quantum computing, both simulated an using the 12-mode Quandela QPU.
10
12
11
13
For an introduction to the Q-score, see the reference below.
12
-
Q-score instances for Max-Cut or Max-Clique optimization problem can be run for different sizes and timeout limits. If no result is found within the allowed time limit, no objective result and a beta value of `0` is returned. Note that for the QPU solvers, the time limit considers embedding time only. The actual computation time will be slightly higher, but this difference will be in the order of milliseconds and will hence not influence the results. For similar reasons, for the photonic simulator, we only apply the time constraint to the classical runtime of the algorithm. To compute the Q-score, one runs for increasing graph size sufficiently many instances of the given code to check whether the average beta is larger than 0.2.
14
+
Q-score instances for Max-Cut or Max-Clique optimization problem can be run for different sizes and timeout limits. If no result is found within the allowed time limit, no objective result and a beta value of `0` is returned. Note that for the QPU solvers, the time limit considers embedding time only. The actual computation time will be slightly higher, but this difference will be in the order of milliseconds and will hence not influence the results. For similar reasons, for the photonic simulator, we only apply the time constraint to the classical runtime of the algorithm. To compute the Q-score, one runs for increasing graph size sufficiently many instances of the given code to check whether the average beta is larger than `0.2`.
13
15
14
16
This code was used to obtain results for the following papers:
15
17
16
18
-["Evaluating the Q-score of quantum annealers", Ward van der Schoot et al. (IEEE QSW 2022)](https://ieeexplore.ieee.org/document/9860191).
17
-
-["Q-score Max-Clique: The first metric evaluation on multiple computational paradigms", Ward van der Schoot et al. (preprint)](https://arxiv.org/abs/2302.00639)
19
+
-["Q-score Max-Clique: The first metric evaluation on multiple computational paradigms", Ward van der Schoot et al. (2023 arXiv)](https://arxiv.org/abs/2302.00639)
18
20
19
21
## Q-score introduction
20
22
@@ -63,7 +65,7 @@ Multiple Q-score instances for various sizes can be run as follows:
63
65
64
66
To use this code we assume that the reader has installed the requirements andset up access to the required solvers.
65
67
66
-
Requirements can be installed using pip:
68
+
Requirements can be installed using pipand have been tested for`python3.9`and`python3.10`:
67
69
```terminal
68
70
python -m pip install -r requirements.txt
69
71
```
@@ -108,3 +110,13 @@ Example usage for the IBM Lima device:
To use the Quandela hardware backend, one need to create and Quandela Cloud account, which can be done [here](https://cloud.quandela.com/webide/login).
117
+
After creating your account you can store your API key inside the `configuration/_QUANDELA_API_KEY`:
118
+
119
+
Example usage for the photonic Quandela Ascella hardware:
0 commit comments