Deutsch算法实验

01 IBM Quantum Experience 上的Deutsch 算法实验

本试验严格参照《量子算法与编程入门》4.1节内容。

01.01 五线谱编程

IBM量子芯片信息:
Deutsch算法

Deutsch 算法的五线谱编程。
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];

运行结果:
Deutsch算法

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。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值