def test_crz_decomposition_correctness(self, phi, tol): """Test that the decomposition of the controlled Z qubit rotation is correct""" expected = CRotz(phi) obtained = CNOT @ np.kron(I, Rphi(-phi / 2)) @ CNOT @ np.kron(I, Rphi(phi / 2)) assert np.allclose(expected, obtained, atol=tol, rtol=0)
def U3(theta, phi, lam): return Rphi(phi) @ Rphi(lam) @ Rot3(lam, theta, -lam)