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.

11 KiB

输出依次为8,7,6,0,6,3,6,4,7,8,5,11,3,10,0,7,目标为6重复4次所得量子程序如下

第一次出现的oracle和diffusion已在代码中标出之后的量子线路为oracle<<diffusion<<oracle<<diffusion<<oracle<<diffusion

Application中的Grover算法使用了概率测量pMeasure的方式,因此量子线路中不含测量的部分。

QINIT 10
CREG 1
H q[2]
H q[3]
H q[4]
H q[5]
X q[0]
H q[0]
X q[1]
H q[1]

;oracle begin

X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[0]
X q[1]
ENDCONTROL
DAGGER
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
ENDDAGGER
DAGGER
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
ENDDAGGER

;oracle end

;diffusion begin

H q[2]
H q[3]
H q[4]
H q[5]
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4]
Z q[5]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
H q[2]
H q[3]
H q[4]
H q[5]

;diffusion end

;repeat oracle and diffusion

X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[0]
X q[1]
ENDCONTROL
DAGGER
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
ENDDAGGER
DAGGER
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
ENDDAGGER
H q[2]
H q[3]
H q[4]
H q[5]
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4]
Z q[5]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
H q[2]
H q[3]
H q[4]
H q[5]
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[0]
X q[1]
ENDCONTROL
DAGGER
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
ENDDAGGER
DAGGER
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
ENDDAGGER
H q[2]
H q[3]
H q[4]
H q[5]
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4]
Z q[5]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
H q[2]
H q[3]
H q[4]
H q[5]
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
CONTROL q[0]
X q[1]
ENDCONTROL
DAGGER
X q[6]
X q[9]
CONTROL q[6],q[7],q[8],q[9]
X q[0]
ENDCONTROL
X q[6]
X q[9]
ENDDAGGER
DAGGER
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[3]
X q[4]
X q[5]
X q[2]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[5]
X q[4]
X q[5]
X q[4]
X q[5]
X q[2]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[5]
X q[3]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[3]
X q[5]
X q[2]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[5]
X q[5]
CONTROL q[2],q[3],q[4],q[5]
X q[8]
ENDCONTROL
X q[5]
X q[2]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[3]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[9]
ENDCONTROL
X q[3]
X q[4]
X q[2]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[8]
ENDCONTROL
X q[2]
X q[4]
X q[4]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[9]
ENDCONTROL
X q[4]
X q[2]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
ENDCONTROL
X q[2]
X q[3]
X q[3]
CONTROL q[2],q[3],q[4],q[5]
X q[7]
X q[9]
ENDCONTROL
X q[3]
X q[2]
X q[2]
CONTROL q[2],q[3],q[4],q[5]
X q[6]
X q[7]
X q[8]
ENDCONTROL
ENDDAGGER
H q[2]
H q[3]
H q[4]
H q[5]
X q[2]
X q[3]
X q[4]
X q[5]
CONTROL q[2],q[3],q[4]
Z q[5]
ENDCONTROL
X q[2]
X q[3]
X q[4]
X q[5]
H q[2]
H q[3]
H q[4]
H q[5]