def apply_cz(
        self, control_axis: int, target_axis: int, exponent: float = 1, global_shift: float = 0
    ):
        """Apply a CZ operation to the state.

        Args:
            control_axis: The control axis of the operation.
            target_axis: The axis to which the operation should be applied.
            exponent: The exponent of the CZ operation, must be an integer.
            global_shift: The global phase shift of the raw operation, prior to
                exponentiation. Typically the value in `gate.global_shift`.
        Raises:
            ValueError: If the exponent is not an integer.
        """
Apply a CZ operation to the state.

        Args:
            control_axis: The control axis of the operation.
            target_axis: The axis to which the operation should be applied.
            exponent: The exponent of the CZ operation, must be an integer.
            global_shift: The global phase shift of the raw operation, prior to
                exponentiation. Typically the value in `gate.global_shift`.
        Raises:
            ValueError: If the exponent is not an integer.
        
cirq-core/cirq/qis/clifford_tableau.py