supermarq.benchmark

Classes

Benchmark

Class representing a quantum benchmark application.

Module Contents

class supermarq.benchmark.Benchmark

Class representing a quantum benchmark application.

Concrete subclasses must implement the abstract methods circuit() and score().

Each instantiation of a Benchmark object represents a single, fully defined benchmark application. All the relevant parameters for a benchmark should be passed in upon creation, and will be used to generate the correct circuit and compute the final score.

abstract circuit() cirq.Circuit | list[cirq.Circuit]

Returns the quantum circuit(s) corresponding to the current benchmark parameters.

cirq_circuit() cirq.Circuit | list[cirq.Circuit]

Returns: The cirq circuit(s) corresponding to the current benchmark parameters.

qiskit_circuit() qiskit.QuantumCircuit | list[qiskit.QuantumCircuit]

Returns: The qiskit circuit(s) corresponding to the current benchmark parameters.

abstract score(counts: Any) float

Returns a normalized [0,1] score reflecting device performance.

Parameters:

counts – Dictionary(s) containing the measurement counts from execution.