samplomatic.ChangeBasis

class samplomatic.ChangeBasis(decomposition: DecompositionMode | Literal['rzsx', 'rzrx'] = DecompositionMode.RZSX, mode: ChangeBasisMode | Literal['measure', 'prepare'] = ChangeBasisMode.MEASURE, ref: str | None = None)[source]

Directive to add basis changing gates.

The resulting Samplex built from a circuit with a box with this annotation has a tensor input with name ref and shape '(len(box_instruction.qubits),)'. The tensor is indexed in physical qubit order, in other words, the order of the qubits in the outer-most circuit, restricted to those used by the box.

Parameters:
  • decomposition – How to decompose basis changing gates.

  • mode – Whether to add gates to prepare or measure in a given basis.

  • ref – A unique identifier of this basis change. If None, it is set to mode.value.

__init__(decomposition: DecompositionMode | Literal['rzsx', 'rzrx'] = DecompositionMode.RZSX, mode: ChangeBasisMode | Literal['measure', 'prepare'] = ChangeBasisMode.MEASURE, ref: str | None = None)[source]

Methods

__init__([decomposition, mode, ref])

Attributes

decomposition

mode

ref

namespace