mqt.core.bench.ghz

GHZ benchmark instances and options.

Module Contents

class Topology

Bases: enum.Enum

Entangling topology for GHZ preparation.

LINEAR = 0
STAR = 1
class Basis

Bases: enum.Enum

Measurement basis for GHZ verification.

Z = 0
X = 1
class Options(*, qubits: int, topology: Topology = Topology.LINEAR, basis: Basis = Basis.Z)

Parameters for a GHZ benchmark.

property qubits: int

The number of qubits.

property topology: Topology

The entangling topology.

property basis: Basis

The measurement basis.

class GHZ(options: Options)

A validated GHZ benchmark.

property options: Options

The resolved benchmark parameters.

property output: Output

The logical output register.

probability(outcome: str) float

Return the ideal probability of an outcome.

evaluate(counts: Mapping[str, int]) Evaluation

Compare sampled counts with the ideal distribution.

generate() QCProgram

Generate the benchmark as a QC program.

property instance_specification_json: str

The canonical instance specification JSON.

property manifest_json: str

The canonical manifest JSON.

property case_id: str

The stable semantic case ID.

static from_instance_specification_json(json: str, *, source: str = '<instance-specification>') GHZ

Parse a strict benchmark instance specification.

static from_manifest_json(json: str, *, source: str = '<manifest>') GHZ

Parse a strict benchmark manifest.