iqm.pulse.builder.build_quantum_ops#
- iqm.pulse.builder.build_quantum_ops(ops)#
Builds the table of known quantum operations.
Hardcoded canonical ops table is extended by the ones in
ops. In case of name collisions, the content ofopstakes priority over the defaults, with the following caveats:canonical implementation names cannot be redefined, and
for canonical operations you can only change
implementationsanddefaults_for_locus.
- Parameters:
ops (dict[str, dict[str, Any]]) – Contents of the
gate_definitionssection defining the quantum operations in the configuration YAML file. Implementation names must be mapped to either exposed GateImplementation class names, or actual GateImplementation classes. NOTE: Modified by the function.- Returns:
Mapping from quantum operation names to their definitions.
- Raises:
ValueError – Requested implementation class is not exposed.
ValueError – A canonical implementation name is being redefined.
ValueError – Locus default references an undefined implementation.
ValueError – Operation attributes don’t match defaults or are invalid.
- Return type: