mqt.core.bench.bv

Bernstein–Vazirani benchmark instances and options.

Module Contents

class Method

Bases: enum.Enum

Static allocation or dynamic measurement and qubit reuse.

STATIC = 0
DYNAMIC = 1
class Options(*, hidden_bitstring: str, method: Method = Method.STATIC)

Parameters for a Bernstein–Vazirani benchmark.

property hidden_bitstring: str

The big-endian hidden bitstring.

property method: Method

The circuit method.

class BV(options: Options)

A validated Bernstein–Vazirani 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>') → BV

Parse a strict benchmark instance specification.

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

Parse a strict benchmark manifest.