コード例 #1
0
ファイル: q-frqga4.py プロジェクト: gigagulin/q-cams

# -------- 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=' ')
コード例 #2
0
	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)?')