Example #1
0
def test_decompose_two_qubit_interaction_into_two_b_gates(obj: Any):
    circuit = cirq.Circuit(
        _decompose_two_qubit_interaction_into_two_b_gates(
            obj, qubits=cirq.LineQubit.range(2)))
    desired_unitary = obj if isinstance(obj, np.ndarray) else cirq.unitary(obj)
    for operation in circuit.all_operations():
        assert len(operation.qubits) < 2 or operation.gate == _B
    assert cirq.approx_eq(cirq.unitary(circuit), desired_unitary, atol=1e-6)
Example #2
0
def test_decompose_two_qubit_interaction_into_two_b_gates(obj: Any):
    circuit = cirq.Circuit(
        _decompose_two_qubit_interaction_into_two_b_gates(
            obj, qubits=cirq.LineQubit.range(2)))
    desired_unitary = obj if isinstance(obj, np.ndarray) else cirq.unitary(obj)
    assert cirq.approx_eq(cirq.unitary(circuit), desired_unitary, atol=1e-6)