量子线路(也称量子逻辑电路)是最常用的通用量子计算模型,表示在抽象概念下,对于量子比特进行操作的线路。类比于经典线路,我们可以把一系列的量子逻辑门进行精心的设计组合,构成一个量子线路并完成一定的任务。例如,我们构建如下图所示的量子线路,该量子线路由三个量子门构成,分别是作用在 q 0 q_0 q0比特上的H门,作用在 q 0 q_0 q0和 q 1 q_1 q1比特上的CNOT门(即作用在 q 1 q_1 q1比特上且受 q 0 q_0 q0比特控制的X门)和作用在 q 2 q_2 q2比特上的 RY ( θ ) \text{RY}(\theta) RY(θ)门。
通过在量子线路中添加作用在不同量子比特位上的量子门即可快速完成对量子线路的搭建。
from mindquantum.core.circuit import Circuit # 导入Circuit模块,用于搭建量子线路
encoder = Circuit() # 初始化量子线路
encoder += H.on(0) # H门作用在第0位量子比特
encoder += X.on(1, 0) # X门作用在第1位量子比特且受第0位量子比特控制
encoder += RY('theta').on(2) # RY(theta)门作用在第2位量子比特
print(encoder) # 打印Encoder
encoder.summary() # 总结Encoder量子线路
┏━━━┓
q0: ──┨ H ┠───■───────
┗━━━┛ ┃
┏━┻━┓
q1: ────────┨╺╋╸┠─────
┗━━━┛
┏━━━━━━━━━━━┓
q2: ──┨ RY(theta) ┠───
┗━━━━━━━━━━━┛
Circuit Summary ╭──────────────────────┬───────╮ │ Info │ value │ ├──────────────────────┼───────┤ │ Number of qubit │ 3 │ ├──────────────────────┼───────┤ │ Total number of gate │ 3 │ │ Barrier │ 0 │ │ Noise Channel │ 0 │ │ Measurement │ 0 │ ├──────────────────────┼───────┤ │ Parameter gate │ 1 │ │ 1 ansatz parameter │ theta │ ╰──────────────────────┴───────╯
在Jupyter Notebook环境中,可以调用量子线路的.svg()接口绘制出量子线路的图片格式。调用量子线路的.svg().to_file(filename='circuit.svg')
接口则可将量子线路的svg格式图片保存到本地。
encoder.svg()
![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.****img.cn/images/20230724024159.png?origin_url=output_17_0.svg&pos_id=img-e62XIR83-1719908433996
从对Encoder的Summary中可以看到,该量子线路由3个量子门组成,其中有1个含参量子门且参数为theta,该量子线路调控的量子比特数为3。
因此,我们可以根据自身所需求解的问题,搭建对应的量子线路。赶紧动手搭建属于你的第一个量子线路吧!
from mindquantum.utils.show_info import InfoTable
InfoTable('mindquantum', 'scipy', 'numpy')
Software | Version |
---|---|
mindquantum | 0.9.11 |
scipy | 1.9.3 |
numpy | 1.24.2 |
System | Info |
Python | 3.9.11 |
OS | Linux x86_64 |
Memory | 261.99 GB |
CPU Max Thread | 64 |
Date | Tue Jul 2 16:18:55 2024 |