# cirq.PauliInteractionGate¶

class cirq.PauliInteractionGate(pauli0: cirq.ops.pauli_gates.Pauli, invert0: bool, pauli1: cirq.ops.pauli_gates.Pauli, invert1: bool, *, exponent: Union[sympy.core.basic.Basic, float] = 1.0)[source]
__init__(pauli0: cirq.ops.pauli_gates.Pauli, invert0: bool, pauli1: cirq.ops.pauli_gates.Pauli, invert1: bool, *, exponent: Union[sympy.core.basic.Basic, float] = 1.0) → None[source]
Parameters: pauli0 – The interaction axis for the first qubit. invert0 – Whether to condition on the +1 or -1 eigenvector of the first qubit’s interaction axis. pauli1 – The interaction axis for the second qubit. invert1 – Whether to condition on the +1 or -1 eigenvector of the second qubit’s interaction axis. exponent – Determines the amount of phasing to apply to the vector equal to the tensor product of the two conditions.

Methods

 controlled_by(*control_qubits) Returns a controlled version of this gate. num_qubits() The number of qubits this gate acts on. on(*qubits) Returns an application of this gate to the given qubits. qubit_index_to_equivalence_group_key(index) Returns a key that differs between non-interchangeable qubits. validate_args(qubits) Checks if this gate can be applied to the given qubits. wrap_in_linear_combination(coefficient, …)

Attributes