量子计算(十三):量子计算的if和while

news2024/11/20 19:23:39

文章目录

量子计算的if和while

一、基于测量的跳转

二、基于量子信息的IF和WHILE


量子计算的if和while

所谓量子线路,从本质上是一个量子逻辑门的执行序列,它是从左至右依次执行的。即使介绍了函数调用的思想,也可以理解为这是一种简单地内联展开,即把函数中的所有逻辑门插入到调用处,自然地,可能会考虑在量子计算机的层面是否存在类似于经典计算机中的循环和分支语句。因此,就有了QIF和QWHILE。

一、基于测量的跳转

作为QIF和QWHILE的判断条件的对象,并不是量子比特,而是一个经典的信息,往往,这个经典的信息是基于测量的。在量子程序执行时,测量语句会对量子比特施加一个测量操作,之后将这个比特的测量结果保存到经典寄存器中,最后,可以根据这个经典寄存器的值,选择接下来要进行的操作。例如:

H->q
Meas q->c
Qif(c == Zero) H->q

这样的量子程序表示的是对q进行Hadamard门操作之后,测量它;如果测量的结果是0,则再做一个Hadamard门。从这个例子可以继续延伸到Qif可以包裹的一系列语句,而不仅仅是一个,比如:

Qif(c == Zero)
{
H->q
CNOT(q0,q1)
......
}

或者也可以设置Qelse语句,它表示如果判断条件为非,则要执行的语句。例如:

Qif (c == Zero) CNOT(q0,ql)
Qelse CNOT(ql,q0)

再或许可以综合两个、多个量子比特的测量结果,对它们进行布尔代数运算,进行判断。另一种情况是将N个量子比特的测量结果理解为一个N-bit整数,之后再与其他整数进行比较。

例如:

Qif (cl == Zero && c2 == One)
{
H->q
CNOT(q0,q1)
......
}

上述规则对于QWhile来说也是一样,比如一个随机计数的代码:

c = One
n = Zero
QWhile(c) { 
H->q
Meas q->c
    n++
}

这个程序的含义是每次对qubit执行Hadamard门并测量,如果测量结果为1则继续该过程,测量结果为0则退出循环。这表明测量得到1的次数,每次都有1/2的概率,给定计数器n+1,最终可以取得n的值。重复这个实验,可以拟合出一个负指数分布。

另外,QIf和QWhile是可以相互嵌套的,形成多层的控制流。

二、基于量子信息的IF和WHILE

上述的是“量子信息,经典控制”,那么有没有“量子信息,量子控制”呢?对于IF而言,答案是有的。

定义“量子信息,量子控制”过程是一组量子比特的操作,是由另一组比特的值决定的。一个最简单的例子就是CNOT门,对于CNOT(q0,q1)而言,q1是否执行NOT门是由q0的值决定的。基于量子信息的IF的性质如下:

第一,这种控制可以叠加。如果判断变量本身处于叠加态,那么操作的比特也会出现执行/不执行逻辑门的两种分支,由此,判断变量和操作比特之间会形成纠缠态。例如:

H->q1
CNOT q1->q2

此时得到的量子态是|00〉+ |11〉,这样在CNOT后,就把q1这个判断变量和q2这个操作比特纠缠了起来。

第二,控制变量和操作比特之间不能共享比特。即,CNOT(q0,q1)中控制位和目标位一定不能为相同的量子比特。

基于量子信息的IF在实际的量子算法中使用得比较少,因此大部分量子软件开发包都没有加入这个功能。在Shor算法和其他基于布尔运算的线路中会使用这个思想,比如对是否求模的判断,但实际中,一般是利用CNOT门的组合来实现的。

对于WHILE而言,目前还没有找到一个合适的定义,因为量子信息不确定,那么很有可能会在WHILE中产生无法停机的分支。以经典控制的QWhile作为例子,如果控制变量c是一个量子比特,那么每次都会有一个概率使得这个循环继续下去。因此,为了执行这个序列,就需要无限长的操作序列,这导致从物理上无法定义这种操作。


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10-11-12 - 实模式到保护模式

---- 整理自狄泰软件唐佐林老师课程 文章目录1. 从计算机的历史谈起2. 绝对的权利带来的问题3. CPU历史的里程碑 - 80863.1 深入解析 [段地址 : 偏移地址]3.1.1 示例3.1.2 问题3.2 8086时期应用程序中的问题3.3 思考4. 80286的登场4.1 80286的兼容性4.2 初识保护模式4.2.1 描述…

JDBC连接数据库详解~

课前导读: 本文章有关JDBC连接数据库的操作,其中涉及了编译器idea的使用,其中连接的数据库为MySQL数据库,通过博主自己的学习和总结写出了下面的文章。 目录 课前导读: 一、JDBC简介 二、JDBC连接操作 三、源码提供…

数素数

目录 1013 数素数 输入格式: 输出格式: 输入样例: 输出样例: 代码长度限制: 时间限制: 内存限制: 思路: 1.判断素数 1.2素数判断代码: 2.数组存素数 2.2存素数代码: 3.输出Pm到Pn的全部素数 3.2代码 总代码: 总结: 题目…

Web大学生网页作业成品 bootstrap响应式网站开发 基于HTML+CSS+JS+Bootstrap制作火锅美食网站(4页)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.3 实时操作系统 1.4.4 通用操作系统 1.4.5 单用户操作系统

非零基础自学计算机操作系统 文章目录非零基础自学计算机操作系统第1章 操作系统概述1.4 操作系统的分类1.4.3 实时操作系统1.4.4 通用操作系统1.4.5 单用户操作系统第1章 操作系统概述 1.4 操作系统的分类 1.4.3 实时操作系统 所谓实时,是指系统能够对外部请求做…

R语言多重比较方法

假设检验的基本原理是小概率原理,即我们认为小概率事件在一次试验中实际上不可能发生。 多重比较的问题 当同一研究问题下进行多次假设检验时,不再符合小概率原理所说的“一次试验”。如果在该研究问题下只要有检验是阳性的,就对该问题下阳性…

c#入门-静态引用,扩展方法

静态引用 声明静态引用 引用命名空间时,可以在using后面加static修饰符。 然后把要引用的命名空间改为带命名空间的一个具体的类。 这称为静态引用。 using static System.Int32; using static System.Console; int a Parse(ReadLine());静态引用的效果 静态引…

VRC改模从入门到入门

第一步入门 从unity开始 bilibili超细心的unity入门教程 虽然视频很长,但是从p1看到p41就行,脚本部分完全不需要看,因为vrc上传会过滤掉不是他们的脚本的。 unity下载一定要下载2019.4.31f1版本,哔哩哔哩教程有下载unity对应版本…

基于Android的外卖App系统设计

基于Android的外卖App系统设计 摘要 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网…

CentOS 安装 mysql 8.0

目录 下载 安装步骤 上传 解压安装 参考资料 补充报错解决 下载 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 安装步骤 上传 使用xshell,连接服务器,用 rz命令接收下载的文件(该命令使用 yum…

Linux 文件属性

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在 Linux 中我们通常使用以下两个命…

LeetCode Hot 100~Day1

目录 两数之和 两数相加 无重复字符的最长子串 最长回文子串 盛最多水的容器 删除链表的倒数第n个节点 合并两个有序链表 有效的括号 两数之和 题目链接:1.两数之和 示例 输入:nums [2,7,11,15], target 9 输出:[0,1] 解释…

ADI Blackfin DSP处理器-BF533的开发详解33:数字信号处理详解-FFT(含源代码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 FFT(Fast Fourier Transformation),即为快速傅氏变换,是离散傅氏变换的快速算法&#x…

web前端期末大作业:JavaScript大作业——福五鼠动漫网页制作(6页)带轮播图效果 学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

R语言大数据分析纽约市的311万条投诉统计可视化与时间序列分析

介绍 本文并不表示R在数据分析方面比Python更好或更快速,我本人每天都使用两种语言。这篇文章只是提供了比较这两种语言的机会。 本文中的 数据 每天都会更新,我的文件版本更大,为4.63 GB。 CSV文件包含纽约市的311条投诉。它是纽约市开放…

MySQL 数据库 C/C++ 常用函数

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

火爆出圈的OpenAI模型ChatGPT体验

1、ChatGPT简要介绍 ChatGPT是一种高效的语言模型,全称为"聊天式自动回复生成技术"(Chat-based Automatic Reply Generation Technology),用于预测人类语言的后续内容。它是基于OpenAI的GPT-3模型构建的,具…

XCIE-HUAWEI-超级完整的BGP-1

XCIE-HUAWEI-超级完整的BGP-1 声明,内容对比前面的可能差一点,因为这个BGP我是会的,但是华为的特性啥的不太会 所以相对来说可能没那么详细,不过应该也够的了,要看思科的翻我的文章去有思科的 先说一个东西 面试会问…

S7-200SMART实现MODBUS TCP通信(客户端+服务器)的具体方法和步骤示例

S7-200SMART实现MODBUS TCP通信(客户端+服务器)的具体方法和步骤示例 STEP7-Micro/WIN SMART 从V2.4 版本开始,软件中直接集成 Modbus TCP 库指令,安装软件后,Modbus TCP 指令位于 STEP7-Micro/WIN SMART 项目树中“指令”文件夹的“库”文件夹中。 如下图Modbus TCP库指令…

R语言曲线回归:多项式回归、多项式样条回归、非线性回归数据分析

最近我们被客户要求撰写关于曲线回归的研究报告,包括一些图形和统计输出。本文将使用三种方法使模型适合曲线数据:1)多项式回归;2)用多项式样条进行B样条回归;3) 进行非线性回归。在此示例中&am…