1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from projectq import MainEngine
- import projectq.ops as ops
- from projectq.backends import Simulator
- import sys
- import time
- if len(sys.argv) > 1:
- n = int(sys.argv[1])
- else:
- n = 16
- if len(sys.argv) > 1:
- depth = int(sys.argv[2])
- else:
- depth = 10
- print('Qubits: %d, Depth %d' % (n, depth))
- eng = MainEngine(backend=Simulator(gate_fusion=True), engine_list=[])
- qbits = eng.allocate_qureg(n)
- start = time.time()
- for level in range(depth):
- for q in qbits:
- ops.H | q
- ops.SqrtX | q
- if q != qbits[0]:
- ops.CNOT | (q, qbits[0])
- runtime = time.time() - start
- for q in qbits:
- ops.Measure | q
-
- print(runtime)
|