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)
def _(iswap: ISWAP, _parameters): return gates.PSwap(3 * np.pi / 2) if iswap.inverse else gates.ISwap()
def _(pswap: PSWAP, parameters): phi = parameters[0] return gates.PSwap(-phi) if pswap.inverse else gates.PSwap(phi)
(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()),