2. 基于isQ的首个量子程序提交¶
如果需要在云平台量子计算机上使用其他量子语言提交实验,思路如下:首先利用所选编程语言,在用户本地调用语言编译器,将线路编译/输出为QCIS语言,然后按照QCIS语言进行实验提交。
(云平台JupyterLab环境已经预制好多种语言环境并且都无需安装,如有其他需求,可以联系客服。)
2.1 编写isQ的量子程序¶
根据isQ语法规则,编写isQ的量子程序。
isQ编程教程请参见https://www.arclightquantum.com/isq-core/index.html
In [1]:
Copied!
isq_code = '''
qbit q[66];
H<q[0]>;
CNOT<q[0], q[6]>;
M<q[0]>;
M<q[6]>;
'''
isq_code = '''
qbit q[66];
H
; CNOT; M; M; '''
In [2]:
Copied!
from isq import LocalDevice
ld = LocalDevice()
from isq import LocalDevice
ld = LocalDevice()
然后通过compile_to_ir
函数编译得到QCIS线路
In [3]:
Copied!
ir = ld.compile_to_ir(isq_code, target = "qcis")
print(ir)
ir = ld.compile_to_ir(isq_code, target = "qcis")
print(ir)
H Q0 Y2P Q6 CZ Q0 Q6 Y2M Q6 M Q0 M Q6
2.3 将程序提交到量子计算云平台(同QCIS流程)¶
将编译出的QCIS线路提交到量子计算云平台。
In [4]:
Copied!
isq_qcis=ir
from pyezQ import *
account = Account(login_key='554393d4e2425130b0bcf7579163ffe2', machine_name='Xiaohong')
#设置用户SDK密钥,选择量子计算机,并创建实例。
#注意本例程使用的是应答机,结果不具备物理意义,只是为了快速返回结果,用于确认程序的可执行性。
query_id_isQ = account.submit_job(circuit=isq_qcis,version="Bell_state_isQ",num_shots=1000)
#提交量子线路到云端量子计算机
isq_qcis=ir
from pyezQ import *
account = Account(login_key='554393d4e2425130b0bcf7579163ffe2', machine_name='Xiaohong')
#设置用户SDK密钥,选择量子计算机,并创建实例。
#注意本例程使用的是应答机,结果不具备物理意义,只是为了快速返回结果,用于确认程序的可执行性。
query_id_isQ = account.submit_job(circuit=isq_qcis,version="Bell_state_isQ",num_shots=1000)
#提交量子线路到云端量子计算机
等待代码在量子计算机上完成,并读取实验结果,处理保存实验结果。
In [5]:
Copied!
if query_id_isQ:
result=account.query_experiment(query_id_isQ, max_wait_time=360000)
#最大等待时间单位为秒,不传递时默认为30秒。因量子程序的执行会有排队的情况,而量子计算机本身有自动校准的时间,如果想跑全自动的程序,等待时间最好大于两者。
print(result)
#后继数据应用实现。
if query_id_isQ:
result=account.query_experiment(query_id_isQ, max_wait_time=360000)
#最大等待时间单位为秒,不传递时默认为30秒。因量子程序的执行会有排队的情况,而量子计算机本身有自动校准的时间,如果想跑全自动的程序,等待时间最好大于两者。
print(result)
#后继数据应用实现。
查询实验结果请等待: 0.95秒 查询实验结果请等待: 3.26秒 查询实验结果请等待: 3.23秒 查询实验结果请等待: 0.11秒 [{'probability': {'00': 0.4893965099083112, '11': 0.4725052382509068, '01': 0.03332333317766467, '10': 0.0047749186631173834}, 'experimentTaskId': '47179799307694816ustc00000726724', 'results': [[0, 6], [0, 1], [0, 0], [0, 0], [0, 1], [1, 0], [1, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 0], [1, 0], [1, 0], [1, 1], [0, 0], [0, 1], [0, 0], [1, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 1], [0, 0], [1, 1], [1, 0], [0, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 1], [0, 0], [0, 1], [1, 1], [1, 1], [0, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 0], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 1], [0, 0], [0, 1], [0, 1], [0, 0], [1, 1], [1, 0], [0, 1], [0, 1], [0, 1], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [0, 1], [1, 1], [0, 0], [0, 0], [0, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 0], [0, 1], [1, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 0], [0, 1], [1, 0], [1, 1], [0, 1], [1, 0], [1, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 0], [1, 0], [1, 0], [0, 0], [0, 0], [1, 0], [0, 1], [1, 0], [1, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 1], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 1], [0, 1], [1, 0], [0, 0], [0, 0], [1, 0], [1, 0], [0, 1], [1, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [1, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 0], [0, 1], [1, 1], [1, 0], [0, 1], [0, 1], [1, 1], [0, 1], [0, 1], [0, 0], [1, 0], [1, 0], [1, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [1, 0], [0, 1], [0, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 1], [1, 1], [1, 1], [0, 1], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 0], [0, 0], [0, 1], [0, 1], [1, 0], [0, 1], [1, 0], [1, 0], [0, 0], [1, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 1], [0, 0], [0, 0], [0, 1], [0, 0], [0, 0], [1, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 1], [1, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 1], [0, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 0], [0, 0], [1, 0], [0, 1], [1, 0], [1, 0], [1, 1], [1, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 1], [1, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [0, 1], [0, 0], [0, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 0], [1, 1], [1, 1], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [0, 1], [0, 1], [0, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [0, 1], [1, 1], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [1, 1], [0, 1], [0, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [1, 0], [0, 0], [0, 0], [0, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [1, 1], [1, 1], [1, 1], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1], [0, 1], [0, 0], [1, 1], [0, 0], [0, 0], [0, 0], [0, 0], [1, 0]]}]