启动开发机并登录VNC远程桌⾯
步骤1: 完成购买后,待实例状态为“可⽤”时,点击“登录”进⼊登录云主机图形化界⾯
步骤2: 点击【打开】跳转到开发机,成功进⼊到VNC远程桌⾯⻚⾯中,如下图所示,可看⻅在桌⾯中有"天衍量⼦计算实验室"应⽤图标;
步骤3: 点击"天衍量⼦计算实验室"应⽤图标后,进⼊天衍量⼦计算实验室功能。
如需返回VNC桌⾯、点击右上⻆"退出应⽤"按钮、即可退出应⽤返回桌⾯。
开发机中使⽤量⼦开发机进⾏图形化编程
图形化编程,依托天衍量⼦计算技术积淀,以可视化拖拽⽅式开发,降低编码⻔槛,适配多场景快速开发,融合可视化交互与底层算⼒,赋能开发者⾼效构建各类应⽤。
在天衍量⼦计算实验室功能⾸⻚、点击"图形化编程"链接,进⼊图形化编程。
可以在"样例"下拉框中、选择不同类型的样例进⾏实验。
新建的线路默认为4个量⼦⽐特,点击左侧量⼦⽐特下⽅加号可增加量⼦⽐特;⿏标悬浮在量⼦⽐特上,出现删除图标可点击减少量⼦⽐特。
拖拽量⼦⻔到对应⽐特的画布线路上。
左边图形拖拽完成,右边动态实时⽣成对应的QCIS指令集。
预期结果概率和振幅展示。
搭建完量⼦线路后,点击【运⾏】按钮,
可在任务结果查看任务运⾏状态,运⾏状态有运⾏中、运⾏失败、运⾏成功。
最后,点击右上⻆"退出应⽤"按钮、退出图形化编程。
在开发机中使⽤量⼦开发机进⾏量⼦计算编程
量⼦计算实验室提供了量⼦计算编程环境。⽀持交互式集成开发⼯具 Jupyter ,已预置Cqlib,开发者可直接进⾏编程体验,开启量⼦编程之旅。Cqlib 是量⼦计算软件开发⼯具包。基于国产指令集 QCIS 打造,提供了简单⾼效的量⼦编程⼯具。
在天衍量⼦计算实验室功能⾸⻚、点击"量⼦计算编程"按钮
进⼊量⼦计算编程。
点击"Launch Server"按钮、初始化服务。
初始化完成后、显示jupyter⻚⾯,双击左侧"本地仿真机使⽤指南.ipynb"链接,
打开本地仿真机⻚⾯。
按照本地仿真机⻚⾯中段落,依次进⾏状态向量仿真机、基于 Torch 的仿真机实验。
状态向量仿真机基于全振幅模拟⽅法,集成并⾏计算和内存优化技术,能够⾼效模拟中等规模量⼦线路,适⽤于量⼦算法在本地环境下的快速验证。
基于 PyTorch 的量⼦仿真后端,利⽤ PyTorch 的张量运算和⾃动微分特性,⽀持 GPU 加速和梯度计算,适⽤于全振幅模拟与变分量⼦算法的端到端训练流程。
调⽤真机流程
登陆天衍量⼦计算云平台。点击个⼈中⼼,复制连接秘钥。每个新注册⽤户,每个⽉会赠送10min 天衍-176机时。
编写代码
此处以⽤调⽤天衍-176完成 3⽐特 GHZ 纠缠态为样例
import time
import json
from cqlib import TianYanPlatform
from cqlib.circuits import Circuit
print("=" * 50)
print(" 3-bit GHZ Entanglement - Tianyan-176 (拓扑适配版)")
print("=" * 50)
# ========== 1. Login ==========
login_key = "替换为刚刚copy的连接秘钥"
platform = TianYanPlatform(login_key=login_key)
print("Login successful")
# ========== 2. Create Lab ==========
lab_name = "GHZ-Test-" + str(int(time.time()))
lab_remark = "Temporary lab for GHZ test"
try:
lab_id = platform.create_lab(name=lab_name, remark=lab_remark)
print(f"Lab created: {lab_id}")
except Exception as e:
print(f"Failed to create lab: {e}")
lab_id = input("Enter existing lab id (or press enter to exit): ").strip()
if not lab_id:
print("No lab id, exiting")
exit()
# ========== 3. Set Machine ==========
platform.set_machine("tianyan176")
print("Device set: tianyan176")
# ========== 4. Build Circuit - 使⽤真实拓扑! ==========
# 使⽤ 0, 6, 7 这三个可连接的量⼦⽐特 注意需要使⽤可⽤拓扑
circuit = Circuit([0, 6, 7])
circuit.h(0)
circuit.cx(0, 6)
circuit.cx(0, 7)
circuit.measure_all()
print("\nCircuit preview:")
print(circuit.draw())
print("\nQCIS format:")
print(circuit.qcis)
# ========== 5. Save Experiment ==========
print("\nSaving to experiment library...")
try:
exp_id = platform.save_experiment(
lab_id=lab_id,
circuit=circuit.qcis,
exp_name="GHZ-3-qubit-topo",
shots=1024
)
print(f"Save successful: {exp_id}")
except Exception as e:
print(f"Save failed: {e}")
exit()
# ========== 6. Run Experiment ==========
print("\nRunning experiment...")
try:
query_id = platform.run_experiment(
exp_id=exp_id,
num_shots=1024,
is_verify=True
)
print(f"Run successful: {query_id}")
except Exception as e:
print(f"Run failed: {e}")
exit()
# ========== 7. Query Result ==========
print("\nWaiting for execution...")
try:
exp_result = platform.query_experiment(
query_id=query_id,
max_wait_time=180,
sleep_time=5
)print()
print("=" * 50)
print(" Measurement Results")
print("=" * 50)
print()
probability = exp_result[0]["probability"]
if isinstance(probability, str):
probability = json.loads(probability)
print("Probability distribution:")
for state, prob in sorted(probability.items(), key=lambda x: x[1], reverse=True):
pct = prob * 100
bar = "█" * int(pct / 5)
print(f" |{state}>: {pct:5.1f}% {bar}")
# 验证 GHZ 态
# 注意:现在是 0,6,7 三个⽐特,所以状态顺序是 0(7号),1(6号),2(0号)
# ⼆进制表示可能是 000, 001, 010, 011, 100, 101, 110, 111
# 对应的⽐特分别是 q7, q6, q0
prob_000 = probability.get("000", 0)
prob_111 = probability.get("111", 0)
total = prob_000 + prob_111
print(f"\n|000> + |111> entanglement: {total * 100:.1f}%")
if total > 0.9:
print(" GHZ state verification passed")
else:
print(" GHZ entanglement may be low")
except Exception as e:
print(f"Query failed: {e}")
print("\n" + "=" * 50)
print(" Process completed")
print("=" * 50)点击运⾏,可以查看到运⾏结果。结果显示已经成功制备了 3 个量⼦⽐特的 GHZ 纠缠态。
⾄此,实现了使⽤量⼦开发机进⾏量⼦编程。