Anders and Briegel in Python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
727B

  1. import numpy as np
  2. from abp import qi
  3. def test_init():
  4. """ Can you initialize some qubits """
  5. psi = qi.CircuitModel(5)
  6. assert psi.d == 32
  7. def test_hadamard():
  8. """ What does CZ do ? """
  9. psi = qi.CircuitModel(10)
  10. psi.act_hadamard(0)
  11. psi.act_hadamard(0)
  12. assert np.allclose(psi.state[0], 1)
  13. def test_cz():
  14. """ What does CZ do ? """
  15. psi = qi.CircuitModel(2)
  16. psi.act_hadamard(0)
  17. psi.act_hadamard(1)
  18. psi.act_cz(0, 1)
  19. assert np.allclose(psi.state, qi.bond)
  20. def test_local_rotation():
  21. """ Do local rotations work okay? ? """
  22. psi = qi.CircuitModel(2)
  23. psi.act_local_rotation(0, qi.ha)
  24. psi.act_local_rotation(0, qi.ha)
  25. assert np.allclose(psi.state[0], 1)