iqm.iqm_client.transpile.ExistingMoveHandlingOptions#

class iqm.iqm_client.transpile.ExistingMoveHandlingOptions(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: str, Enum

Options for how transpile_insert_moves() should handle existing MOVE instructions in the circuit.

Attributes

KEEP

Strict mode.

TRUST

Lenient mode.

REMOVE

Removes existing MOVE instructions from the circuit using transpile_remove_moves(), and then does the same as TRUST.

Methods

_generate_next_value_(name, start, count, ...)

Generate the next value when not given.

_new_member_(**kwargs)

Create and return a new object.

_value_repr_()

Return repr(self).

__format__(format_spec)

Return a formatted version of the string as described by format_spec.

__new__(value)

__repr__()

Return repr(self).

__str__()

Return str(self).

KEEP = 'keep'#

Strict mode. The circuit, including existing MOVE instructions in it, is validated first. Then, any fictional two-qubit gates in the circuit are implemented with qubit-resonator gates.

TRUST = 'trust'#

Lenient mode. Same as KEEP, but does not validate the circuit first. Will attempt to fix any apparent user errors in the circuit by adding extra MOVE gates.

REMOVE = 'remove'#

Removes existing MOVE instructions from the circuit using transpile_remove_moves(), and then does the same as TRUST. This may produce a more optimized end result.