def test_translate_operation_iswap_inverse():
    """Tests that the iSwap gate is inverted correctly"""
    assert translate_operation(qml.ISWAP(wires=[0, 1]).inv()) == gates.PSwap(3 * np.pi / 2)
示例#2
0
def _(iswap: ISWAP, _parameters):
    return gates.PSwap(3 * np.pi / 2) if iswap.inverse else gates.ISwap()
示例#3
0
def _(pswap: PSWAP, parameters):
    phi = parameters[0]
    return gates.PSwap(-phi) if pswap.inverse else gates.PSwap(phi)
示例#4
0
 (Circuit().t(0), gates.T().to_matrix()),
 (Circuit().ti(0), gates.Ti().to_matrix()),
 (Circuit().v(0), gates.V().to_matrix()),
 (Circuit().vi(0), gates.Vi().to_matrix()),
 (Circuit().rx(0, 0.15), gates.Rx(0.15).to_matrix()),
 (Circuit().ry(0, 0.15), gates.Ry(0.15).to_matrix()),
 (Circuit().rz(0, 0.15), gates.Rz(0.15).to_matrix()),
 (Circuit().phaseshift(0, 0.15), gates.PhaseShift(0.15).to_matrix()),
 (Circuit().cnot(1, 0), gates.CNot().to_matrix()),
 (Circuit().cnot(1, 0).add_result_type(
     ResultType.StateVector()), gates.CNot().to_matrix()),
 (Circuit().swap(1, 0), gates.Swap().to_matrix()),
 (Circuit().swap(0, 1), gates.Swap().to_matrix()),
 (Circuit().iswap(1, 0), gates.ISwap().to_matrix()),
 (Circuit().iswap(0, 1), gates.ISwap().to_matrix()),
 (Circuit().pswap(1, 0, 0.15), gates.PSwap(0.15).to_matrix()),
 (Circuit().pswap(0, 1, 0.15), gates.PSwap(0.15).to_matrix()),
 (Circuit().xy(1, 0, 0.15), gates.XY(0.15).to_matrix()),
 (Circuit().xy(0, 1, 0.15), gates.XY(0.15).to_matrix()),
 (Circuit().cphaseshift(1, 0,
                        0.15), gates.CPhaseShift(0.15).to_matrix()),
 (Circuit().cphaseshift00(1, 0,
                          0.15), gates.CPhaseShift00(0.15).to_matrix()),
 (Circuit().cphaseshift01(1, 0,
                          0.15), gates.CPhaseShift01(0.15).to_matrix()),
 (Circuit().cphaseshift10(1, 0,
                          0.15), gates.CPhaseShift10(0.15).to_matrix()),
 (Circuit().cy(1, 0), gates.CY().to_matrix()),
 (Circuit().cz(1, 0), gates.CZ().to_matrix()),
 (Circuit().xx(1, 0, 0.15), gates.XX(0.15).to_matrix()),
 (Circuit().yy(1, 0, 0.15), gates.YY(0.15).to_matrix()),