deltakit.circuit.MeasurementPauliProduct#

class deltakit.circuit.MeasurementPauliProduct(pauli_gates: PauliX[T] | PauliY[T] | PauliZ[T] | InvertiblePauliX[T] | InvertiblePauliY[T] | InvertiblePauliZ[T] | Iterable[PauliX[T] | PauliY[T] | PauliZ[T] | InvertiblePauliX[T] | InvertiblePauliY[T] | InvertiblePauliZ[T]])#

Bases: Generic[T]

A representation of a Pauli product which can include invertible Pauli gates. Required for the MPP instruction.

Parameters:

pauli_gates (Union[_PauliGate, _InvertiblePauliGate,) – Iterable[Union[_PauliGate, _InvertiblePauliGate]]] Single Pauli or iterable of Pauli gates to use in this measurement. This must use the Pauli gates defined in this module and not those defined in the gates package.

Examples

>>> MeasurementPauliProduct(PauliX(Qubit(2)))
[PauliX(Qubit(2))]
>>> MeasurementPauliProduct(PauliX(i) for i in range(3))
[PauliX(Qubit(0)), PauliX(Qubit(1)), PauliX(Qubit(2))]

Methods#

MeasurementPauliProduct.stim_targets

Return all stim targets which specify this Pauli product.

MeasurementPauliProduct.transform_qubits

Transform this noise channel's qubits according to the id mapping.