API Reference

Gate sets, the gate compiler, the pulse compiler, addons and exceptions are the parts of the public surface you use directly; the Low-level API section at the end collects the abstractions and building blocks they are built from.

Gate sets

CROTGateSet

Star-topology gate set with single-qubit rz/r and a native crot.

FixedCROTGateSet

Star-topology gate set with rz/sx singles and a fixed crotxpi2.

CNOTGateSet

Star-topology gate set with single-qubit rz/rx and a native cx.

CRXGateSet

Star-topology gate set with single-qubit rz/rx and a native crx.

Gate level compiling

GateCompiler

Compile Qiskit circuits into a gate set's native representation.

AdaptiveConfig

Configuration for the adaptive decomposition strategy.

TreeSearchConfig

Configuration for the tree-search strategy.

ErrorAwareTreeSearchConfig

Error-aware search that grows one layer at a time, over a tree search.

ErrorAwareAdaptiveConfig

Error-aware search that grows one full topology sweep per level.

QiskitConfig

Configuration for the Qiskit-transpiler compilation strategy.

ErrorEstimate

The three errors of a compiled circuit.

plot_error_aware_history

Plot the error curves an error-aware compile recorded, against the layer count.

Pulse level compiling

PulseCompiler

Compile native circuits to pulses for a specific gate set, using a bound pulse backend.

SimphonyBackend

Lower a gate set's native gates to pulses on a central-spin device model.

XeedQBackend

Lower star-topology circuits to pulse programs, targeting real XeedQ hardware.

to_xeedq_circuit

Write a compiled circuit in the gate names of the XeedQ toolchain.

from_xeedq_circuit

Read a circuit written in the gate names of the XeedQ toolchain.

Addons

Qiskit

CROTGate

Represent a controlled rotation gate about an axis in the XY plane.

CROTXGate

Represent a controlled rotation gate about the X axis.

CROTXPi2Gate

Represent the fixed, parameterless controlled X rotation at \(\theta = \pi/2\).

CROTYGate

Represent a controlled rotation gate about the Y axis.

append_pauli_readout

Return a copy of circuit with trailing readout-target measurements.

remove_pauli_readouts

Split the trailing readout requests off circuit.

Simphony

append_default_mw_pulse

Add a default microwave pulse to a model.

append_default_rf_pulse

Add a default radio-frequency pulse to a model.

append_default_virtual_z

Add a virtual Z rotation to a model.

append_default_xy8_sequence

Add a default XY8 pulse sequence.

append_default_ddrf_sequence

Add a default DDRF pulse sequence.

append_default_dd_sequence

Add a dynamical-decoupling (DD) controlled nuclear gate.

Exceptions

QuasarError

Base class for errors raised by QUASAR.

ConfigError

Raised when a configuration object or value is invalid.

BackendError

Raised when an underlying compute backend (quasarcpp/simphony) fails.

ConvergenceError

Raised when synthesis ran to completion without reaching tolerance_error.

LicenseError

Raised when the compiled backend has no valid licence to run.

ValidationError

Raised when an argument doesn't satisfy a precondition.

PlateauWarning

Warn that an error-aware search returned a circuit depth bought nothing for.

LayoutWarning

Warn that a circuit's pulses realize a relabeled version of the circuit.

Low-level API

Gate-set abstractions

StarTopologyGateSet

Topology axis: a gate set defined on a star topology.

EntanglerGateSet

Construction axis: one single-qubit basis plus one entangler per placement.

GateSet

Represent a native gate set and its native-circuit metadata.

Gate

Represent a concrete native gate instance.

GateType

Describe a native gate family.

Base configs

CompilerConfig

Represent the options shared by every gate-level compilation strategy.

SynthesisConfig

Represent the parameters every quasarcpp synthesis strategy reads.

Pulse building blocks

AbstractPulseBackend

Base class every pulse backend must inherit.

Benchmarkable

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

register_pulse_backend

Register backend_type as a pulse backend for gateset_type.

PulseParameters

Every physical number a pulse backend reads, for one device and gate set.

DriveParameters

One resonant drive: its transition frequency and how it is driven.

DriveStrength

How hard and how long one resonant drive is driven.

DeviceParameters

What the instrument itself contributes to a pulse.

NuclearParameters

One nuclear spin, as the electron-conditioned drives see it.