当前位置: 首页 > news >正文

量子电路设计:以 Qiskit 为例

文章目录

  • Bloch Sphere
  • X,Y,Z Gate
  • Hadamard Gate
  • 量子电路设计
    • NOT
    • AND
    • OR
  • 优化

Bloch Sphere

单个量子位,有两种表示:

  1. q = α ∣ 0 ⟩ + β ∣ 1 ⟩ q = \alpha|0\rangle+\beta|1\rangle q=α∣0+β∣1,其中组合系数 α , β \alpha,\beta α,β 都是复数(复平面,长度 + 相位),满足 α α ∗ + β β ∗ = 1 \alpha\alpha^*+\beta\beta^*=1 αα+ββ=1
  2. q = e i γ ( cos ⁡ θ 2 ∣ 0 ⟩ + e i ϕ sin ⁡ θ 2 ∣ 1 ⟩ ) q = e^{i\gamma}(\cos\frac{\theta}{2}|0\rangle + e^{i\phi}\sin\frac{\theta}{2}|1\rangle) q=e(cos2θ∣0+eiϕsin2θ∣1⟩),其中 γ ∈ [ − π , π ) \gamma\in[-\pi,\pi) γ[π,π)整体相位 θ ∈ [ 0 , π ] \theta \in [0,\pi] θ[0,π] 是它与 ∣ 0 ⟩ |0\rangle ∣0 的夹角, ϕ ∈ [ 0 , 2 π ) \phi\in[0,2\pi) ϕ[0,2π) 是叠加 ∣ 0 ⟩ |0\rangle ∣0 ∣ 1 ⟩ |1\rangle ∣1 时两者的相位差

对于第二种表示,定义 Bloch 球:

  • 忽略 e i γ e^{i\gamma} e 整体相因子,以 ∣ 0 ⟩ |0\rangle ∣0 z z z 轴正方向,以 ∣ 1 ⟩ |1\rangle ∣1 z z z 轴负方向,再加入与之垂直的 x -  y x\text{ - }y x - y 平面,
  • 使用 θ \theta θ 确定从 z z z x x x 的旋转角,而 ϕ \phi ϕ 确定从 x x x y y y 的旋转角,
  • 那么量子态 q q q 的三维直角坐标为 ( x = sin ⁡ θ cos ⁡ ϕ , y = sin ⁡ θ sin ⁡ ϕ , z = cos ⁡ θ ) (x=\sin\theta\cos\phi, y=\sin\theta\sin\phi, z=\cos\theta) (x=sinθcosϕ,y=sinθsinϕ,z=cosθ)

大体上,有如下观察,

  1. 如果 α \alpha α β \beta β 的相位相同,那么 q q q 落在圆弧 z + → x + → z − z^+ \to x^+ \to z^- z+x+z 上面
  2. 角度 θ \theta θ 显示了 α \alpha α β \beta β相对范数大小,确切地说 ∣ α ∣ = cos ⁡ ( θ / 2 ) |\alpha|=\cos(\theta/2) α=cos(θ/2) ∣ β ∣ = sin ⁡ ( θ / 2 ) |\beta|=\sin(\theta/2) β=sin(θ/2)
  3. 如果 ∣ α ∣ = ∣ β ∣ |\alpha|=|\beta| α=β,那么 q q q 落在 x -  y x\text{ - }y x - y 平面上;如果 ∣ α ∣ > ∣ β ∣ |\alpha|>|\beta| α>β,那么在 z + z^+ z+ 半球,否则在 z − z^- z 半球
  4. 复数 β \beta β 的相位角 − - 复数 α \alpha α 的相位角 = = = ϕ ∈ [ 0 , 2 π ) \phi\in[0,2\pi) ϕ[0,2π),以方向 x + → y + x^+\to y^+ x+y+ 旋转;

例如,

在这里插入图片描述

以及

在这里插入图片描述

X,Y,Z Gate

Pauli 矩阵 X , Y , Z ∈ C 2 × 2 X,Y,Z \in \mathbb C^{2\times2} X,Y,ZC2×2 将量子态 q ∈ C 2 q\in\mathbb C^2 qC2 分别在 x , y , z x,y,z x,y,z 轴上旋转 π \pi π 角度。

X Gate 的输出如下:它将 α \alpha α β \beta β 互换,在基态上表现为 “比特翻转

在这里插入图片描述

Y Gate 的输出如下:它可表示为 X , Z X,Z X,Z 的组合,有 Y = − i X Z = i Z X Y=-iXZ=iZX Y=iXZ=iZX(比特翻转 + 相位翻转 + 整体相位旋转 90 ∘ 90^\circ 90 角)

在这里插入图片描述

Z Gate 的输出如下:它将 β \beta β 变为 − β -\beta β,在 Bloch 球上表现为 “相位翻转

在这里插入图片描述

Hadamard Gate

Hadamard 门:量子态绕着 x + z x+z x+z 轴(即 x + x^+ x+ z + z^+ z+ 夹角的平分线)旋转 π \pi π 角,
H = 1 2 ( X + Z ) H = \frac{1}{\sqrt2}(X + Z) H=2 1(X+Z)

其映射具体为,

  • ∣ 0 ⟩ ⟺ ∣ + ⟩ , ∣ 1 ⟩ ⟺ ∣ − ⟩ |0\rangle \iff |+\rangle,\,\, |1\rangle \iff |-\rangle ∣0+,∣1
  • ( x , y , z ) ↦ ( z , − y , x ) (x,y,z) \mapsto (z,-y,x) (x,y,z)(z,y,x)

如下的两张图,展示了 H Gate 的几何意义,

在这里插入图片描述

在这里插入图片描述

H Gate 常被用于制备均匀的量子叠加态(并非纠缠)。确切地说:输入基态 ∣ 0 ⟩ ⊕ n |0\rangle^{\oplus n} ∣0n,每个 qubit 上分别做 Hadamard 变换,如下图所示,

在这里插入图片描述

每个基态的概率幅都相同,它们都指向 x + x^+ x+ 方向,即为 ∣ + ⟩ ⊕ n |+\rangle^{\oplus n} +n;也可以输入不同的基态,其输出的测量概率分布完全相同,但是相位结构不同

此外,Hadamard 和 CNOT 组合在一起,可以制备 Bell 态。由于 Bell 态达到了最大程度的纠缠,在各个单量子比特空间上的投影以 50 % 50\% 50% 概率分别为 ∣ 0 ⟩ |0\rangle ∣0 ∣ 1 ⟩ |1\rangle ∣1,因此我们换一个绘图方法:

在这里插入图片描述

量子电路设计

可以将任意的经典电路,转化为对应量子电路:直接将经典门,替换为对应的量子门

需要注意的是,量子电路必须是可逆的(因为酉矩阵是可逆阵)。遇到任意布尔函数(尤其是 OWF),总是可以这么做:

O f : ∣ x ⟩ ∣ 0 ⟩ ↦ ∣ x ⟩ ∣ f ( x ) ⟩ \mathcal O_f: |x\rangle|0\rangle \mapsto |x\rangle|f(x)\rangle Of:x∣0xf(x)⟩

其中 ∣ 0 ⟩ |0\rangle ∣0 的长度等于 ∣ f ( x ) ⟩ |f(x)\rangle f(x)⟩ 长度,像中的 ∣ x ⟩ |x\rangle x 包含了恢复原像的充分不必要信息。就是说,相对于 f f f 的经典电路,量子电路 O f \mathcal O_f Of 的输出宽度通常会增长其输入的宽度。

NOT

直接使用 X/CNOT Gate 实现,深度为 1 1 1

在这里插入图片描述

AND

需添加一个辅助比特,基于 Toffoli/CCX Gate 实现对应的可逆电路,深度为 1 1 1

在这里插入图片描述

不过 CCX 通常需要使用 6 个 CNOT 和若干个单比特旋转。在有些硬件系统上,CCZ 可能比 CCX 有更快的实现,此时可以使用 CCZ + H 来实现 AND 门。

OR

通常直接使用 2X + 1CCX + 1X(德·摩根)来实现,深度为 3 3 3

在这里插入图片描述

因此,在量子计算中, OR 的开销往往比 AND 还要高。

优化

对于更大的量子电路,由于每个 AND 和 OR 都包含许多的基本量子门(展开),有一些可以合并(连续旋转)、消去(相邻可逆),从而减少电路的:深度、宽度、CNOT 密度(该门的错误率高)。

http://www.xdnf.cn/news/919693.html

相关文章:

  • 使用柏林噪声生成随机地图
  • 金融预测模型开发:数据预处理、机器学习预测与交易策略优化
  • 如何配置 MySQL 允许远程连接
  • <PLC><HMI><威纶通>威纶通HMI与西门子PLC通讯时,如何在触摸屏添加PLC变量?
  • 电子电气架构 ---智能汽车电子电气架构
  • 用队列实现栈
  • NT6打印机共享修复工具Fixprint系统补丁
  • React Hooks 示例项目
  • phosphobot开源程序是控制您的 SO-100 和 SO-101 机器人并训练 VLA AI 机器人开源模型
  • 《探秘跨网段局域网IP广播:解锁网络通信的新姿势》
  • OCR MLLM Evaluation
  • 复制与图片文件同名的标签文件到目标路径
  • 使用Caddy在Ubuntu 22.04上配置HTTPS反向代理
  • CKA考试知识点分享(2)---ingress
  • IT学习方法与资料分享
  • JDK17 Http Request 异步处理 源码刨析
  • 2012-2023年 上市公司-知识重组创造、知识重组再利用数据-社科经管实证数据
  • MVCC多版本并发控制
  • 81 实战一:给root目录扩容
  • SDC命令详解:使用set_port_fanout_number命令进行约束
  • robot_lab train的整体逻辑
  • 判断一个或者多个软件是否安装,如果没有则自动安装
  • 使用 Ansible 在 Windows 服务器上安装 SSL 证书系列之二
  • 无法与IP建立连接,未能下载VSCode服务器
  • 前端高频面试题2:浏览器/计算机网络
  • 零基础在实践中学习网络安全-皮卡丘靶场(第十三期-php反序列化)
  • 【读论文】U-Net: Convolutional Networks for Biomedical Image Segmentation 卷积神经网络
  • 如何在Unity中实现点击一个按钮跳转到哔哩哔哩
  • 大模型在创伤性脑出血全周期预测与诊疗方案中的应用研究
  • python打卡day47