def test_U3(): assert (np.allclose(U3(pi, 0, pi, zero), X(zero))) assert (np.allclose(U3(pi, 0, pi, one), X(one))) assert (np.allclose(U3(pi, 0, pi, s), X(s))) assert (np.allclose(U3(pi, pi / 2, pi / 2, zero), Y(zero))) assert (np.allclose(U3(pi, pi / 2, pi / 2, one), Y(one))) assert (np.allclose(U3(pi, pi / 2, pi / 2, s), Y(s)))
def test_X(): assert (np.array_equal(X(zero), one)) assert (np.array_equal(X(one), zero)) assert (np.array_equal(X(X(zero)), zero)) assert (np.array_equal(X(X(one)), one)) assert (np.array_equal(X(s), np.array([[beta], [alpha]], dtype=np.complex))) assert (np.array_equal(X(X(s)), s))
def test_Z(): assert (np.allclose(Z(Z(s)), s)) assert (np.allclose(H(Z(H(zero))), X(zero))) assert (np.allclose(H(Z(H(one))), X(one))) assert (np.allclose(H(Z(H(s))), X(s))) assert (np.allclose(H(X(H(zero))), Z(zero))) assert (np.allclose(H(X(H(one))), Z(one))) assert (np.allclose(H(X(H(s))), Z(s)))