SimphonyBackend
- class SimphonyBackend(model, parameters=None)
Lower a gate set’s native gates to pulses on a central-spin device model.
Assumes exactly one electron spin (qubit
0, microwave-driven) surrounded by nuclear spins (DDRF-driven). Serves bothCROTGateSet(free-angle gates) andFixedCROTGateSet(fixed-angle), since their native gates are the same physical actions.Binds one device model for its whole lifetime. The gate set is not bound here; pass it explicitly to
compile/benchmark_*, or usePulseCompiler.The model gives every frequency. A duration that
parametersleaves empty takes its default:The electron’s pi pulse lasts 6.76 ns, unless its amplitude is given. Every microwave pulse lasts this long, and its amplitude follows its rotation angle.
A DDRF sequence holds 4 decoupling pulses.
A DDRF sequence plays RF for a time \(\tau\) at either end, and for \(2\tau\) between two decoupling pulses. \(\tau\) lasts ten periods of the frequency gap between the driven nuclear transition and the nearest other nuclear transition.
Simphony orders its spins the other way from Qiskit: spin
0is the left tensor factor. A state or an operator read from a simulation ofmodelis in that order, and needs reversing before a comparison with Qiskit. The benchmarks reverse it themselves.- Parameters:
model (
Any) – Simphony model of the target device.parameters (
PulseParameters|None) – Physical parameters. When omitted, resolved frommodelwith the defaults above.
- Raises:
ValidationError – If the model’s spins or driving fields do not match what the backend requires.
Note
Pulse compilation requires the model to define the microwave and radio-frequency driving fields listed in
REQUIRED_DRIVING_FIELDS.
Attributes
Return the Simphony model bound to this backend. |
|
Number of qubits the bound parameters describe. |
|
Physical parameters the backend reads for this device. |
Low-level API methods
|
Report driving-spectrum diagnostics for the bound model. |
|
Append the pulses of a native circuit to a model without clearing it. |
|
Benchmark the pulse implementation of a whole native circuit. |
|
Benchmark the pulse implementation of a single native gate. |
|
Benchmark the pulse implementation of every native gate. |
|
Compile a native circuit into pulses on the bound model. |
|
Return the pulse template realizing a native gate. |
|
Return the pulse templates a circuit actually uses. |
|
Return the kind of spin at each of a gate's qubits. |