Q-Score#
%load_ext autoreload
%autoreload 2
from iqm.benchmarks.optimization.qscore import *
import random
Choose (or define) a backend#
backend = "fakeadonis"
#backend = "fakeapollo"
#backend = "garnet"
#backend = "deneb"
#backend = "pyrite"
Set IQM Token if using Resonance.#
import os
os.environ["IQM_TOKEN"] = "XXXXXXXXXXXXXX"
Qscore Configuration#
EXAMPLE_QSCORE = QScoreConfiguration(
num_instances = 100,
num_qaoa_layers= 1,
shots = 10000,
calset_id=None, # calibration set ID, default is None
min_num_nodes = 2,
max_num_nodes= None, # put it to run for all the node sizes
use_virtual_node = True,
use_classically_optimized_angles = True,
choose_qubits_routine = "custom",
custom_qubits_array=[
[2],
[2, 0],
[2, 0, 1],
[2, 0, 1, 3],
[2, 0, 1, 3, 4]],
seed = random.randint(1, 999999),
REM = True,
mit_shots=1000,
)
Run the experiment#
benchmark_qscore = QScoreBenchmark(backend, EXAMPLE_QSCORE)
run0_qscore = benchmark_qscore.run()
Perform Analysis#
result0_qscore = benchmark_qscore.analyze()
result0_qscore.observations
result0_qscore.plot_all()