other_testing.py 669 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from projectq import MainEngine
  2. import projectq.ops as ops
  3. from projectq.backends import Simulator
  4. import sys
  5. import time
  6. if len(sys.argv) > 1:
  7. n = int(sys.argv[1])
  8. else:
  9. n = 16
  10. if len(sys.argv) > 1:
  11. depth = int(sys.argv[2])
  12. else:
  13. depth = 10
  14. print('Qubits: %d, Depth %d' % (n, depth))
  15. eng = MainEngine(backend=Simulator(gate_fusion=True), engine_list=[])
  16. qbits = eng.allocate_qureg(n)
  17. start = time.time()
  18. for level in range(depth):
  19. for q in qbits:
  20. ops.H | q
  21. ops.SqrtX | q
  22. if q != qbits[0]:
  23. ops.CNOT | (q, qbits[0])
  24. runtime = time.time() - start
  25. for q in qbits:
  26. ops.Measure | q
  27. print(runtime)