你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解量子计算

量子计算有望解决地球面临的一些最大挑战-在环境、农业、健康、能源、气候、材料科学等领域。 对于其中某些问题,随着系统规模的增长,经典计算受到越来越多的挑战。 当设计为缩放时,量子系统的功能可能会超过当今最强大的超级计算机。 随着全球量子研究人员、科学家、工程师和商业领袖共同推动量子生态系统的发展,我们期望每个行业的量子影响都会加速。

提示

若要加速量子计算之旅,检查 Azure Quantum 代码,这是 Azure Quantum网站的独特功能。 在这里,可以运行内置 Q# 示例或自己的 Q# 程序,从提示生成新 Q# 代码,单击一下即可在 VS Code for the Web 中打开并运行代码,并询问 Copilot 有关量子计算的任何问题。

为何使用量子计算机?

量子计算机的概念源于在经典计算机上模拟量子系统的难度。 在20世纪80年代,理查德·费恩曼和尤里·马宁独立地提出,基于量子现象的硬件可能比传统计算机更有效地模拟量子系统。

可以通过多种方法来了解量子力学难以模拟的原因。 最简单的是,在量子级别上,物质处于多种可能的配置中, (称为状态) 。

量子计算呈指数级增长

考虑一个电子系统,其中有 $40$ 个可能的位置。 因此,系统可能处于 $2^{40}$ 配置中的任何一个 (,因为每个位置可以有电子) 或没有电子。 若要将电子的量子状态存储在传统计算机内存中,需要超过 $130$ GB 的内存! 如果允许粒子位于 41$ 个位置中的任何$一个位置,则 2^{41}$ 处的配置数量$将增加两倍,这反过来又需要超过 $260$ GB 的内存来存储量子状态。

这个增加位置数的游戏不能无限期地玩。 如果我们想要以常规方式存储状态,我们将很快超过世界上最强大的计算机的内存容量。 内存用来存储系统所需的数百个电子超出了宇宙中的粒子数;因此,传统计算机没有希望模拟其量子动力学。

将困难转化为机会

对指数增长的观察使我们提出了一个强有力的问题:我们能把这种困难变成机会吗? 具体来说,如果量子动力学难以模拟,则在构建将量子效应作为基本运算的硬件时,会发生什么情况? 我们能否使用利用完全相同的物理定律的计算机来模拟相互作用粒子的量子系统? 我们能用那些机器来研究量子粒子中没有但对我们至关重要的其他任务吗? 这些问题导致了量子计算的起源。

1985年,David Deutsch证明量子计算机可以有效地模拟任何物理系统的行为。 这一发现首次表明量子计算机可用于解决传统计算机上难以解决的问题。

1994 年,Peter Shor 发现了一种用于分解整数的量子算法,该算法的运行速度比最知名的经典算法快了指数级。 通过求解分解,可以打破当今电子商务安全基础的许多公钥加密系统,包括 RSA 和椭圆曲线加密。 这一发现激发了人们对量子计算的巨大兴趣,并导致针对许多其他问题开发量子算法。

自那时以来,我们开发了快速高效的量子计算机算法,用于许多艰巨的经典任务:模拟化学、物理和材料科学中的物理系统、搜索无序数据库、求解线性方程系统以及机器学习。

什么是量子比特?

正如位是经典计算中信息的基础对象一样,量子比特(量子位)是量子计算中信息的基础对象。

量子比特是量子计算中的基本信息单位。 量子比特在量子计算中的作用与位在经典计算中的作用相似,但它们的行为非常不同。 经典位是二进制的,只能保留 0$ 或 $1$ 的位置$,但量子比特可以容纳所有可能状态的叠加。 这意味着量子比特可以处于 0$、$1$ 或两者的任何量子叠加状态$。 0$ 和 $1$ 有无限可能的$叠加,每个叠加都是有效的量子比特状态。

在量子计算中,信息被编码为状态 $0$ 和 $1$ 的叠加。 例如,对于 $8$ 位,我们可以对 256$ 个不同的值进行编码$,但必须选择其中一个值进行编码。 使用 $8$ 个量子比特,我们可以同时对 256$ 个值进行编码$。 此行为是因为量子比特可能处于所有可能状态的叠加中。

有关详细信息,请参阅 量子计算中的量子比特

如何构建量子计算机

量子计算机是利用量子机械现象的计算机。 量子计算机使用物质的量子状态来存储和计算信息。 &他们可以引用:程序&商;量子干扰,比传统计算机更快或更好。

构建量子计算机时,需要考虑如何创建量子比特以及如何存储量子比特。 我们还需要考虑如何操作它们以及如何读取计算结果。

最常用的量子比特技术是捕获离子量子比特、超导量子比特和拓扑量子比特。 对于某些量子比特存储方法,容纳量子比特的单元将保持在接近绝对零的温度下,以最大程度地提高其一致性并减少干扰。 其他类型的量子比特装置使用真空室来帮助最大程度地减少振动并使量子比特保持稳定。 信号可以使用多种方法(包括微波、激光和电压)发送到量子比特。

量子计算机的五个条件

一台好的量子计算机应具有以下五项功能:

  1. 可 伸缩: 它可以有多个量子比特。
  2. 可初始化: 它可以将量子比特设置为特定状态 (通常 $为 0$ 状态) 。
  3. 弹性: 它可以使量子比特长时间处于叠加状态。
  4. 普遍: 量子计算机不需要执行所有可能的运算,只需执行一组称为 通用集的操作。 一组通用量子运算使得任何其他操作都可以分解为一个序列。
  5. 可靠: 它可以准确测量量子比特。

这五个标准通常称为量子计算的 Di Vincenzo 标准。

构建满足这五个条件的设备是人类面临的最苛刻的工程挑战之一。 Microsoft 与世界各地的一些一流的量子计算机制造商合作,以便你通过 Azure Quantum 访问最新的量子计算解决方案。 有关详细信息,请参阅 Azure Quantum 提供程序的完整列表。

量子计算和 Azure Quantum 的用途是什么?

量子计算机不是可以更快地执行一切的超级计算机。 事实上,量子计算研究的目标之一是研究量子计算机比传统计算机更快地解决哪些问题,以及加速的速度有多大。

量子计算机非常适用于需要计算大量可能组合的问题。 可以在许多领域(例如量子模拟、加密、量子机器学习以及搜索问题)中找到这些类型的问题。

有关 Microsoft 量子计算研究的最新信息,请参阅 Microsoft 量子计算研究页面。

资源估算

目前可用的量子计算机可以实现有趣的实验和研究,但它们无法加速解决现实世界问题所需的计算。 在行业等待硬件进步的同时,量子软件创新者渴望取得进展,为量子未来做好准备。 今天创建最终将在明天的容错缩放量子计算机上运行的算法是一项艰巨的任务。 这些创新者面临着诸如需要哪些硬件资源的问题? 需要多少个物理量子比特和逻辑量子比特,类型是什么? 运行时间有多长?

可以使用 Azure Quantum 资源估算器来帮助回答这些问题。 因此,你将能够优化算法并生成解决方案,以便在量子计算机可用时利用扩展的量子计算机。

若要开始,请参阅 运行第一个资源估算

详细了解如何使用 arXiv:2211.07629 中的 Azure Quantum 资源估算器评估缩放到实际量子优势的要求。

量子模拟

量子力学是基础 &商:操作系统&商;我们的宇宙。 它描述了自然界的基本组成部分是如何运作的。 自然界的行为(例如化学反应、生物反应、物质形成)往往涉及到多体量子交互。 对于模拟固有的量子机械系统(如分子),量子计算很有希望,因为 量子比特 (量子位) 可用于表示相关自然状态。 我们可以建模的量子系统的示例包括光合作用、超导以及复杂的分子形成。

Azure Quantum Elements 专为加速科学发现而构建。 使用针对 Azure High-Performance 计算 (HPC) 群集进行缩放优化的模拟工作流、AI 加速计算、使用 AI 增强推理、与量子工具集成以开始试验现有量子硬件,以及将来访问 Microsoft 量子超级计算机,从而重塑研发效率。 有关详细信息,请参阅 为分子动力学解锁 Azure 的强大功能

量子加速

量子计算研究的目标之一是研究哪些问题可以用比传统计算机更快的量子计算机来解决,以及加速的幅度有多大。 两个众所周知的示例是 Grover 算法和 Shor 算法,它们分别在其经典对应项上产生多项式加速和指数加速。

在量子计算机上运行的 Shor 算法可打破经典加密方案,例如 Rivest–Shamir–Adleman (RSA) 方案,该方案在电子商务中广泛用于安全数据传输。 此方案基于使用经典算法对素数进行因式分解的实际困难。 量子加密通过利用基本物理原理而不是复杂性假设来保证信息安全。

与 Shor 的分解算法一样,隐藏移位问题是量子计算机相对于已知经典算法具有指数优势的问题的自然来源。 这最终可能有助于解决反卷积问题,使我们能够有效地查找复杂数据集中的模式。 事实证明,量子计算机原则上可以高速计算卷积,这反过来又基于量子计算机以极快速度计算傅立叶转换的能力。 在 Azure Quantum 工作区的示例库中,你会找到一个隐藏移位 Jupyter 笔记本示例(需要 Azure 帐户)。

Grover 算法加快了非结构化数据搜索解决方案的速度,与传统算法相比,其搜索步骤更少。 事实上,任何允许您检查给定值 $x$ 是否为有效解决方案 (&商的问题;是或没有问题&商;) 可以根据搜索问题来表述。 下面是一些示例:

  • 布尔满意度问题:布尔值 $集 x$ 解释 (值赋值到满足给定布尔公式的变量) ?
  • 旅行推销员问题:x$ 描述连接所有城市的最短循环吗$?
  • 数据库搜索问题:数据库表是否包含记录 $x$?
  • 整数分解问题:固定数字 $N$ 是否可被数字 $x$ 除?

有关 Grover 算法的更深入检查,请参阅教程在 中Q#实现 Grover 算法

量子计算如何解决问题?

量子计算机是可控制的量子机械设备,它们利用量子物理的属性来执行计算。 对于某些计算任务,量子计算提供指数加速。 这些加速之所以成为可能,要归功于量子力学的三种现象:叠加、干涉和牵连。

叠加

假设你在客厅锻炼身体。 你一直向左转,然后一直向右转。 现在,同时向左转和向右转。 你无法做到这一点(至少要将自己一分为二)。 显然,你无法同时处于这两种状态,即无法同时向左和向右。

但如果你是量子粒子,由于一种称为叠加(也称为相干性)的现象,你可能具有一定的向左的概率和一定的向右的概率 。

与经典粒子不同,如果两个状态 A 和 B 是量子粒子的有效量子态,则状态的任何线性组合也是有效的量子状态:$\text{量子比特状态}=\alpha A + \beta B$。$$$$ 量子态 $A$ 和 $B$ 的这种线性组合称为叠加。 此处, $\alpha$ 和 $\beta$ 分别是 A$ 和 $B$ 的$概率振幅,因此$|\alpha|^{{2} + |\beta|^{2}= 1$。

只有像离子、电子或超导电路这样的量子系统才能以叠加态存在,从而实现量子计算的能力。 电子等量子粒子有自己的“朝左或朝右”属性,即 自旋,称为向上或向下,因此电子的量子状态是商的 &叠加:&向上旋转 quot;和 "放下"。

通常,为了使其与经典二进制计算更相关,如果某个量子系统可以处于两种量子状态,则这些状态称为 0 状态和 1 状态。

量子比特和概率

经典计算机以比特为单位存储和处理信息,比特的状态可以为 1 或 0,但不能同时处于这两种状态。 量子计算中的等效概念是量子比特。 量子比特是可以处于两个量子状态(0 和 1)叠加的任何量子系统。 每种可能的量子状态具有一个关联的概率幅度。 只有在测量一个量子比特之后,它的状态才会根据关联的概率坍缩为 0 状态或 1 状态,因此,可能的状态之一是根据特定的概率获取的。

量子比特坍缩方式的概率取决于量子干扰。 量子干扰会影响量子比特的状态,从而在测量过程中影响特定结果的概率,而这种概率状态正是量子计算的优势。

例如,经典计算机中只有两个比特,其中每个比特都可以存储 1 或 0,因此,你可以同时存储四个可能的值(00、01、10 和 11),但一次只能存储一个值 。 但在两个量子比特重叠的情况下,每个量子比特都可以是 1 和/或 0,因此你可以同时表示四个相同值。 如果是三个量子比特,则可表示八个值;如果是四个量子比特,可表示 16 个值,依此类推。

有关详细信息,请参阅 量子计算中的量子比特

纠缠

量子力学中某个最有趣的现象是两个或多个量子系统彼此纠缠。 纠缠是量子系统之间的量子关联。 当量子比特纠缠时,它们会形成一个全局系统,因此无法相互独立地描述各个子系统的量子状态。 当无法将全局系统的状态写入为子系统状态的组合时,两个系统会纠缠在一起,特别是当无法将全局系统的状态编写为子系统状态的 张量乘积 时,两个系统就会纠缠在一起。 产品状态不包含任何关联。

即使相隔较远,纠缠量子系统也能保持这种相关性。 这意味着,对一个子系统应用的任何操作或过程也会与其他子系统关联。 由于纠缠的量子比特之间存在相干性,因此测量一个量子比特的状态可以提供有关其他量子比特的状态的信息,这种特殊的属性在量子计算中非常有用。

备注

并非两个量子位的测量值之间的每个相关性都意味着两个量子位相互牵连。 除了量子关联外,还存在经典相关性。 经典关联和量子关联之间的差异很微妙,但它对于量子计算机提供的加速至关重要。 有关详细信息,请参阅 了解经典关联

若要了解详细信息,请参阅教程使用 Q#探索量子纠缠

后续步骤