01 IBM Quantum Experience 上的Deutsch 算法实验
本试验严格参照《量子算法与编程入门》4.1节内容。
01.01 五线谱编程
IBM量子芯片信息:
Deutsch 算法的五线谱编程。
QASM代码:
include "qelib1.inc";
qreg q[5];
creg c[5];
x q[4];
h q[3];
h q[4];
cx q[3],q[4];
h q[3];
measure q[3] -> c[3];
运行结果:
Device Calibration
Last Calibration: 2018-05-24T10:02:38.000Z
Fridge Temperature: [] -
CX1_0
e
10
g
: 0.018987351778312567
CX2_0
e
20
g
: 0.028947815383612602
CX2_1
e
21
g
: 0.033101297356880444
CX3_2
e
32
g
: 0.12036705054411809
CX3_4
e
34
g
: 0.09772264903319017
CX4_2
e
42
g
: 0.056823634317806654
Q0
f
: 5.24232 GHz
T
1
: 49.5 µs
T
2
: 14.2 µs
e
g
: 0.0006867731322012238
e
r
: 0.043
Q1
f
: 5.30745 GHz
T
1
: 56.2 µs
T
2
: 88.5 µs
e
g
: 0.0025762039467128184
e
r
: 0.195
Q2
f
: 5.35164 GHz
T
1
: 42.9 µs
T
2
: 59.7 µs
e
g
: 0.00197489316929661
e
r
: 0.081
Q3
f
: 5.41107 GHz
T
1
: 33.3 µs
T
2
: 14.2 µs
e
g
: 0.004552785022896966
e
r
: 0.097
Q4
f
: 5.18931 GHz
T
1
: 61.9 µs
T
2
: 30.4 µs
e
g
: 0.0009443532335046134
e
r
: 0.045
Executed on: Dec 16, 2018 4:53:45 PM
Results date: Dec 16, 2018 4:53:45 PM
Results from Cache: May 24, 2018 11:34:31 PM
Number of shots: 1024
01.02 QisKit编程
登陆成功后,在自己账号的advanced下申请token.
https://quantumexperience.ng.bluemix.net/qx/account/advanced
安装了python,并且配置好python的环境变量后,直接安装 Qiskit 的python包即可。
pip install qiskit
Deutsch算法的Qiskit代码如下:
Deutsch.py
# Deutsch.py
from IBMQuantumExperience import *
config = {
"url":'https://quantumexperience.ng.bluemix.net/api'
}
token = 'eae18529c6270048f70f953d2b318c679bc0c454c791d5e615dcf8edb8f84379a0c8dc0bcab3461d0c3a795fd17d60f1462ad70f5219210bfaf27bbee3cb3e79'
api = IBMQuantumExperience(token, config)
code = 'OPENQASM 2.0;include "qelib1.inc";qreg q[5];creg c[5];x q[4];h q[3];h q[4];cx q[3],q[4];h q[3];measure q[3]->c[3];'
data = api.run_experiment(code, 'ibmqx4', 1024, name=None, timeout=60)
result = data['result']['measure']
label = result['labels']
value = result['values']
print("测量结果:")
print(label)
print("对应的概率为:")
print(value)
没运行成功,服务端返回结果{"error":{"status":400,"message":"The device is not available.","code":"DEVICE_NOT_AVAILABLE","statusCode":400}}
C:\Python36\python.exe D:/git/Quantum/qiskit/demo/Deutsch.py
Got a 400 code response to https://quantumexperience.ng.bluemix.net/api/codes/execute?access_token=zuXWfJweGAMx4ylueljtftG2sly2G5wZO95VkPFVZE1ds7kPJ8KQDCmLDyw9aBzc&shots=1024&deviceRunType=ibmqx4: {"error":{"status":400,"message":"The device is not available.","code":"DEVICE_NOT_AVAILABLE","statusCode":400}}
Got a 400 code response to https://quantumexperience.ng.bluemix.net/api/codes/execute?access_token=zuXWfJweGAMx4ylueljtftG2sly2G5wZO95VkPFVZE1ds7kPJ8KQDCmLDyw9aBzc&shots=1024&deviceRunType=ibmqx4: {"error":{"status":400,"message":"The device is not available.","code":"DEVICE_NOT_AVAILABLE","statusCode":400}}
Got a 400 code response to https://quantumexperience.ng.bluemix.net/api/codes/execute?access_token=zuXWfJweGAMx4ylueljtftG2sly2G5wZO95VkPFVZE1ds7kPJ8KQDCmLDyw9aBzc&shots=1024&deviceRunType=ibmqx4: {"error":{"status":400,"message":"The device is not available.","code":"DEVICE_NOT_AVAILABLE","statusCode":400}}
Got a 400 code response to https://quantumexperience.ng.bluemix.net/api/codes/execute?access_token=zuXWfJweGAMx4ylueljtftG2sly2G5wZO95VkPFVZE1ds7kPJ8KQDCmLDyw9aBzc&shots=1024&deviceRunType=ibmqx4: {"error":{"status":400,"message":"The device is not available.","code":"DEVICE_NOT_AVAILABLE","statusCode":400}}
Got a 400 code response to https://quantumexperience.ng.bluemix.net/api/codes/execute?access_token=zuXWfJweGAMx4ylueljtftG2sly2G5wZO95VkPFVZE1ds7kPJ8KQDCmLDyw9aBzc&shots=1024&deviceRunType=ibmqx4: {"error":{"status":400,"message":"The device is not available.","code":"DEVICE_NOT_AVAILABLE","statusCode":400}}
Traceback (most recent call last):
File "D:/git/Quantum/qiskit/demo/Deutsch.py", line 10, in <module>
result = data['result']['measure']
KeyError: 'result'
Process finished with exit code 1
如有错误之处,欢迎批评指正。QQ群:579809480。