Пример #1
0
    def xy(target1: QubitInput, target2: QubitInput, angle: float) -> Instruction:
        """Registers this function into the circuit class.

        Args:
            target1 (Qubit or int): Target qubit 1 index.
            target2 (Qubit or int): Target qubit 2 index.

        Returns:
            Instruction: XY instruction.

        Examples:
            >>> circ = Circuit().xy(0, 1, 0.15)
        """
        return Instruction(Gate.XY(angle), target=[target1, target2])
def test_apply_gate_noise_2QubitNoise2_parametrized(
        circuit_2qubit_parametrized, noise_2qubit):
    circ = circuit_2qubit_parametrized.apply_gate_noise(
        noise_2qubit,
        target_gates=[Gate.XY],
        target_qubits=[0, 1],
    )

    expected = (Circuit().add_instruction(Instruction(
        Gate.X(),
        0)).add_instruction(Instruction(Gate.Y(), 1)).add_instruction(
            Instruction(Gate.X(), 0)).add_instruction(
                Instruction(Gate.Rx(np.pi), 1)).add_instruction(
                    Instruction(Gate.XY(np.pi / 2), [0, 1])).add_instruction(
                        Instruction(noise_2qubit, [0, 1])))

    assert circ == expected