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

单个 h门作用在某个 qubit 的计算优化原理

也就是 h 门作用在其中一个 qubit 上,对应 state vector 的计算方式。

我们来详细推导H 门作用在其中一个 qubit 上时,对应的 state vector 计算方式。这里会用一个通用的方法,然后举例说明。

1. 通用规则

对于一个 n-qubit 系统,qubit 顺序假设为:

即最高位在左,最低位在右。

Hadamard 门

作用在第 k 个 qubit上(k=0 是最低位,k=n-1 是最高位)时,对应的矩阵是:

但更简单的优化做法是直接在状态向量系数上操作

2. 基态编号与系数

设总态为:

这里​ 是 n 位二进制基态,​,其中

若 H 作用在第 k 位(最低位​ 对应 k=0,高位对应更大的 k),那么运算只和该位有关。

3. 按固定其他位来配对

对于每个固定的其他位(即除了第 k 位外的所有 n-1 个位):

  • 有两个基态:一个是该 k 位为 0,一个是该 k 位为 1。

  • H 门将这两个基态线性组合。

步骤:

  1. 固定除了第 kk 位之外的所有位的二进制值。设这个 n-1 位的二进制数为t,它的取值范围是

  2. 原来的两个基态是:

    这里表示将 t 的二进制位插入到第 k 位之外的位,而第 k 位是​。

  3. 设这两个基态的原系数分别是:

  4. H 门的作用是:

  5. 因此新系数:

    对所有 t 做这个变换。

注意:所有其他位保持不变,只是该位的 0 和 1 状态被 H 混合。

4. 如何快速找到 \alphaα 和 \betaβ 对应的索引

设总的态向量长度,基态编号 x=0 到 N-1。

第 k 位的二进制权重

  • 若 x 的第 k 位为 0,则 x 与是同一个 t 对应的两个基态()。

  • 若 x 的第 k 位为 1,则 x 与配对。

更简单的做法:
取 x,计算(即
那么配对的两个 x 是 t 和
我们只需对 t 中第 k 位为 0 的那些 t 进行操作避免重复计算)。

算法步骤(用于人工计算):

  1. 对于每个 t 从 0 到,但第 k 位为 0。

  2. ​​,​​。

  3. 计算:

  4. 对其他所有 t 重复。

5. 举例:3-qubit,H 在中间位 (k=1)

原态:

这里,中间位是​,对应,权重

配对的 t:固定,变

列出配对:

t 的二进制:设第 1 位为 0,其他位任意。

  • t=0b000 (0) → x₀=0b000 (0), x₁=0b010 (2)
    对应基:|000⟩ 与 |010⟩

  • t=0b001 (1) → x₀=0b001 (1), x₁=0b011 (3)
    |001⟩ 与 |011⟩

  • t=0b100 (4) → x₀=0b100 (4), x₁=0b110 (6)
    |100⟩ 与 |110⟩

  • t=0b101 (5) → x₀=0b101 (5), x₁=0b111 (7)
    |101⟩ 与 |111⟩

变换:
对每个配对:

​​​

这样得到全部 8 个新系数。

6. 举例:具体数值例子

原态,则,其余 0。

配对 1: t=0 → α=0, β=1 → c'₀=(0+1)/√2 = 1/√2, c'₂=(0-1)/√2 = -1/√2
配对 2: t=1 → α=0, β=0 → c'₁=0, c'₃=0
配对 3: t=4 → α=0, β=0 → c'₄=0, c'₆=0
配对 4: t=5 → α=0, β=0 → c'₅=0, c'₇=0

新态:

7. H 在不同位置的区别

  • 如果 H 在最低位 (k=0),配对是 x 与 x+1(奇偶相邻)。

  • 如果 H 在最高位 (k=n-1),配对是 x 与(前半与后半对应位置)。

例如 3-qubit,H 在(k=2):
配对:
t 的第 2 位为 0:t=0,1,2,3

即 (0,4), (1,5), (2,6), (3,7) 配对。

总结公式
设 H 在第 k 位,对每个 t 满足 t 的第 k 位为 0,

则:

其他系数由这些覆盖全部。

http://www.gsyq.cn/news/184346.html

相关文章:

  • 第十三章 数量性状遗传
  • 最新大厂算法面试题合集(一)
  • 12.30 - 合并区间 C++中class和C语言中struct的区别
  • 一键删除顽固文件(强制删除)
  • 清华源同步延迟?手动刷新Miniconda-Python3.11的索引缓存
  • CCS使用系统学习:TI C2000多核工程管理技巧
  • SSH端口映射实战:将Miniconda-Python3.11的Jupyter服务暴露到本地
  • Keil5芯片包下载快速理解:适用于STM32
  • UniApp 全面介绍与快速上手
  • 基于STM32的模拟信号采集系统深度剖析
  • Pyenv shell会话管理:临时切换Miniconda-Python3.11之外的版本
  • Jupyter密码设置教程:保护Miniconda-Python3.11中的敏感数据
  • Java Timer类:如何创建定时任务?
  • 清华源无法连接?备用USTC源配置Miniconda-Python3.11的方法
  • GitHub Gist代码片段分享:快速传播Miniconda-Python3.11配置经验
  • JavaScript
  • Miniconda配置PyTorch环境时常见错误及解决方案汇总
  • GitHub仓库分支切换:在Miniconda-Python3.11中同步最新代码
  • Windows下CMD与PowerShell的区别:对Miniconda-Python3.11的影响
  • 使用Keil时出现 no stlink delected 怎么办?
  • Miniconda环境下如何验证PyTorch是否成功调用GPU
  • 超详细版:JLink烧录驱动在Linux平台的编译部署
  • 小白也能学会:Miniconda配置PyTorch GPU环境的图文指南
  • 项目应用:基于STLink接口引脚图的隔离电路设计
  • 基于Miniconda的Python环境为何更适合AI科研项目
  • 【毕业设计】SpringBoot+Vue+MySQL 销售项目流程化管理系统平台源码+数据库+论文+部署文档
  • Java Web 线上学习资源智能推荐系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • CCS20在TI C5000系列开发中的全面讲解
  • Java SpringBoot+Vue3+MyBatis 小型企业客户关系管理系统系统源码|前后端分离+MySQL数据库
  • 【深析】 Docker Desktop 中的容器文件系统:OverlayFS vs Containerd Snapshots