qiskit_qm_provider.quam_macros.superconducting.add_basic_macros

add_basic_macros(backend: QuamRoot | QMBackend, reset_type: Literal['active', 'thermalize'] = 'thermalize', **reset_macro_kwargs)[source][source]

Populate a QuAM machine with standard superconducting gate-level macros.

Canonical location: qiskit_qm_provider.quam_macros.superconducting. Also re-exported from qiskit_qm_provider and qiskit_qm_provider.backend.backend_utils for backward compatibility.

Adds x, sx, rz, sy, sydg, measure, reset, delay, id, and cz macros. These definitions are tailored to flux-tunable transmon hardware and assume pulse naming from FluxTunableQuam / quam-builder (e.g. x180, x90, readout pulses, CZGate on pairs).

Single-qubit macros are imported from quam-builder when available; otherwise the provider falls back to local copies under qiskit_qm_provider.quam_macros.superconducting.single_qubit_macros (with a UserWarning).

Pass a QuamRoot or a QMBackend. When a backend is passed, its Qiskit target is updated after macros are seeded.

Warning

Only seeds qubits whose macros dict is empty. Existing macros are left unchanged. Prefer calling this once on a freshly loaded machine.

This is a convenience starting point, not a universal hardware definition. Override macros on your own QuamRoot for other platforms; coordinate with the Quantum Machines team for quam-builder extensions as needed.

Parameters:
  • backend – A QMBackend or QuamRoot instance.

  • reset_type – Reset macro variant, "active" or "thermalize".

  • **reset_macro_kwargs – Extra keyword arguments forwarded to ResetMacro (alongside reset_type, pi_pulse="x180", and readout_pulse="readout").