Benchmarkable

class Benchmarkable(*args, **kwargs)

Structural capability: a pulse backend that can estimate its own fidelity.

A backend satisfies it by defining these three methods. SimphonyBackend does, and XeedQBackend does not. Check it with isinstance(backend, Benchmarkable).

analyze_driving_properties is not part of this protocol: it needs no gateset, so call it directly, e.g. compiler.backend.analyze_driving_properties().

Methods

benchmark_circuit(circuit, gateset, **kwargs)

Return the average gate fidelity of a whole circuit's pulse realization.

benchmark_gate(gate, gateset, **kwargs)

Return the average gate fidelity of a single native gate's pulse realization.

benchmark_gateset(gateset, **kwargs)

Return the average gate fidelity of every native gate's pulse realization.