# -------- Main Body -------------------------------------------------------------- c = Circuit(N) qcam.propinit(N, c, initial_a) for m in range(n_counter): power = 2**m for k in range(power): qproc(m) IQFT() master_a = np.array(c.run()) num, vector_a, prob_a = qcam.qvextract(N, 1, 1, master_a) print(' counter phase probability guess') for j in range(num): xdeci = 0 for i in range(n_counter): xdeci = int(vector_a[j, i]) * 2**(N - n_unitary - 1 - i) + xdeci xprob[xdeci] = prob_a[j] + xprob[xdeci] for i in range(2**n_counter): if xprob[i] >= 0.00005: phase = i / (2**n_counter) guess = str(Fraction(phase).limit_denominator(100)) print('{:>5}'.format(i), ' ', '{:>5,.4f}'.format(phase), end=' ') print(' ', '{:>5,.5f}'.format(xprob[i]), end=' ')
c=Circuit(N*4) pinitial_a=probability_a if pstep==1: pinitial_a=initial_a qcam.propinit(N,c,pinitial_a) t0=time.time() qproc() master_a=c.run() t1=time.time() print(' ') num,vector0_a,prob_a=qcam.qvextract(N,R,1,master_a) num,vector1_a,prob_a=qcam.qvextract(N,R,2,master_a) stdev,probability_a=qcam.qcalcd(N, num,vector0_a,prob_a) flowrate,flowcell_a=qcam.calcflow(N,num,vector0_a,vector1_a,prob_a) qcam.jamout(N,pstep,num,pinitial_a,vector0_a,prob_a,stdev,probability_a,flowrate,flowcell_a) cet = time.time() print(' Quantum Process Time =>',t1-t0) print(' Total Process Time =>',cet-cst) stepdist_a[pstep,0:N]=probability_a[0:N] fr_a[pstep]=flowrate stdev_a[pstep]=stdev ret=input(' NEXT(Y/N)?')