iqm.iqm_client.models.NativeOperation#
- class iqm.iqm_client.models.NativeOperation(name: str, arity: int, args_required: dict[str, tuple[type, ...]] = <factory>, args_not_required: dict[str, tuple[type, ...]] = <factory>, symmetric: bool = False, renamed_to: str = '', factorizable: bool = False, no_calibration_needed: bool = False)#
Bases:
object
Describes a native operation on the quantum computer.
Attributes
Iff True, any multi-component instance of this operation can be broken down to single-component instances, and calibration data is specific to single-component loci.
Iff true, the operation is always allowed on all QPU loci regardless of calibration state.
If nonempty, indicates that this operation name is deprecated, and IQM client will auto-rename it to the new name.
True iff the effect of operation is symmetric in the locus components it acts on.
Name of the operation.
Number of locus components (usually qubits) the operation acts on.
Maps names of required operation parameters to their allowed types.
Maps names of optional operation parameters to their allowed types.
Methods
__delattr__
(name)Implement delattr(self, name).
__eq__
(other)Return self==value.
__hash__
()Return hash(self).
__repr__
()Return repr(self).
__setattr__
(name, value)Implement setattr(self, name, value).
- Parameters:
- arity: int#
Number of locus components (usually qubits) the operation acts on. Zero means the operation can be applied on any number of locus components.
- args_required: dict[str, tuple[type, ...]]#
Maps names of required operation parameters to their allowed types.
- args_not_required: dict[str, tuple[type, ...]]#
Maps names of optional operation parameters to their allowed types.
- symmetric: bool = False#
True iff the effect of operation is symmetric in the locus components it acts on. Only meaningful if
arity
!= 1.
- renamed_to: str = ''#
If nonempty, indicates that this operation name is deprecated, and IQM client will auto-rename it to the new name.