什么是量子计算?What is quantum computing?

有些问题非常复杂、困难,即使世界上的所有超级计算机都工作,也要花费比宇宙寿命更长的时间来解决。There are some problems so difficult, so incredibly vast, that even if every supercomputer in the world worked on the problem, it would still take longer than the lifetime of the universe to solve.

量子计算机有望解决我们这个星球上一些最大的挑战 - 环境、农业、医疗保健、能源、气候、材料科学,甚至包括我们还没有想到的问题。Quantum computers hold the promise to solve some of our planet's biggest challenges - in environment, agriculture, health, energy, climate, materials science, and problems we’ve not yet even imagined. 量子计算机的影响将是深远的,其影响与 1947 年晶体管的诞生一样大,而晶体管的诞生为当今的数字经济铺平了道路。The impact of quantum computers will be far-reaching and have as great an impact as the creation of the transistor in 1947, which paved the way for today’s digital economy.

量子计算利用量子物理学的独特行为,提供了一个功能强大的全新计算模型。Quantum computing harnesses the unique behavior of quantum physics to provide a new and powerful model of computing. 量子物理学理论认为,在量子水平上,物质可以处于多个经典状态的叠加中。The theory of quantum physics posits that matter, at a quantum level can be in a superposition of multiple classical states. 许多状态相互干扰,就像潮汐池中的波浪。And those many states interfere with each other like waves in a tide pool. 物质的状态在度量后会“塌缩”成经典状态之一。The state of matter after a measurement "collapses" into one of the classical states.

随后,重复进行相同的度量会生成相同的经典结果。Thereafter, repeating the same measurement will produce the same classical result. 如果粒子以特定方式进行交互,每个粒子的量子状态都不能在独立于其他粒子的情况下进行描述(即使这些粒子在物理上相隔很远),这种现象就叫量子纠缠。Quantum entanglement occurs when particles interact in ways such that the quantum state of each cannot be described independently of the others, even if the particles are physically far apart.

量子计算将信息存储在物质的量子状态中,使用其量子特性(叠加和纠缠)来实现量子操作,根据该信息进行计算,用户只需利用和学习量子干涉编程即可。Quantum computing stores information in quantum states of matter and uses its quantum nature of superposition and entanglement to realize quantum operations that compute on that information, thereby harnessing and learning to program quantum interference.

量子计算听起来可能令人望而生畏,但有了合适的资源,现在便可以开始生成量子应用。Quantum computing might sound daunting, but with the right resources you can start building quantum applications today.

量子位The qubit

量子计算定义那些反映量子行为的计算概念。Quantum computing defines computing concepts that reflect the quantum behavior. 量子计算最基础的概念是量子位。Quantum computing begins with the notion of a qubit. 在量子计算中,量子位表示一个量子信息单元,与经典位相同 。In quantum computing, a quantum bit - qubit - is a unit of quantum information, like a classical bit. 经典位保存单个二进制值(如 0 或 1),而量子位的状态则可以是 0 和 1 的同时叠加Where classical bits hold a single binary value such as a 0 or 1, the state of a qubit can be in a superposition of 0 and 1 simultaneously.

对量子位进行度量这个行为本身会改变量子位状态。The act of measuring a qubit changes a qubit state. 进行度量时,量子位会从叠加态变为经典状态之一。With measurement, the qubit goes from being in superposition to one of the classical states.

多个量子位也可以纠缠在一起。Multiple qubits can also be entangled. 度量一个纠缠的量子位时,就会知道另一个量子位的状态。When we make a measurement of one entangled qubit, our knowledge of the state of the other(s) is updated as well.

量子算法Quantum algorithms

量子算法旨在利用量子的特性和行为来加快经典算法的速度,或者提供全新的物理系统建模方法。Quantum algorithms are designed to take advantage of quantum nature and behavior to speed up classical algorithms, or to provide entirely new ways of modeling physical systems. 这些算法利用了量子位的信息编码方式以及对多个处于叠加态的纠缠量子位进行的操作的并行特性。These algorithms exploit the way qubits encode information and the parallel nature of operating on multiple entangled qubits in superposition.

经典计算机以位的形式编码信息;每个位编码两个可能的值:0 或 1。Classical computers encode information in bits; each bit encoding two possible values, 0 or 1. 一个量子位同时编码两个值:0 和 1。One qubit encodes two values simultaneously, 0 and 1. 两个经典位编码 4 个可能值(00、01、10、11)之一,而两个量子位则同时编码这 4 个状态的任何叠加,虽然我们在度量时只能获取这些值中的一个。Two classical bits encode one of 4 possible values, (00, 01, 10, 11) whereas two qubits encode any superposition of the 4 states simultaneously, although we can obtain only one of those values when measuring. 四个量子位同时编码 16 个值的任何叠加态。依此类推,编码的值的个数呈指数增长。Four qubits encode any superposition of 16 values simultaneously, and so on, exponentially. 100 个量子位能够编码的信息超出当今最大的计算机系统所能提供的信息。100 qubits can encode more information than is available in the largest computer systems today.

另外,多个纠缠的量子位在协调工作时可以同时处理多个选项。Furthermore, when multiple entangled qubits act coherently, they can process multiple options simultaneously. 纠缠的量子位能够在很短的时间内处理信息,所需时间甚至少于最快的非量子系统。Entangled qubits can process information in a fraction of the time it would take even the fastest non-quantum systems.

数十年来,量子算法研究一直在利用这些量子特性,发现了许多创新性的技术,这些技术解决问题的速度远远快于经典算法。Harnessing these quantum attributes has been the pursuit of multiple decades of quantum algorithm research, and there are many innovative techniques that have been found that solve problems in a fraction of the time it takes to solve classically.

最著名的一个量子算法是用于分解因子的“Shor 算法”,它可以更快地解决将大数字分解成两个质数这一经典又棘手的问题,给传统加密带来了巨大挑战 。One of the most famous quantum algorithms is Shor's algorithm for factorization, which makes the classically intractable problem of factorization of a large number into two prime numbers fast enough to challenge traditional cryptography.

在更具建设性的方面,通过叠加、量子纠缠和量子位“不克隆”属性(意味着在未检测的情况下无法复制量子位),可以实现安全密码密钥分发算法 。On the more constructive side, algorithms for secure cryptographic key distribution are made possible by superposition, quantum entanglement, and the no cloning property of qubits, meaning the inability for qubits to be copied without detection.

“Grover 算法”重点介绍了一种量子算法技术,该技术在搜索非结构化数据时可以进一步加快速度。 Grover's algorithm highlights a quantum algorithm technique that provides a quadratic speed-up for searching unstructured data.

量子硬件Quantum hardware

在经典计算机中,位对应于硅电路中的电压水平。In classical computers, bits correspond to voltage levels in silicon circuits. 量子计算硬件可以通过许多不同的量子位物理实现来实现:捕获离子、超导、中性原子、电子自旋、光极化、拓扑量子位。Quantum computing hardware can be implemented by many different physical realizations of qubits: trapped ions, superconducting, neutral atoms, electron spin, light polarization, topological qubits. 量子硬件是一项新兴技术。Quantum hardware is an emergent technology. 量子位本身是脆弱的,在与环境交互时将变得不那么连贯。Qubits are fragile by nature and become less coherent as they interact with their environment. 需要平衡系统的保真度和可伸缩性。Balancing fidelity of the system with scalability is needed. 规模(即量子位数)越大,错误率越高。The larger the scale (that is, number of qubits), the higher the error rate.

Microsoft 正在开发基于拓扑量子位的量子计算机。Microsoft is developing a quantum computer based on topological qubits. 我们认为拓扑量子位受其环境变化的影响较小,因此降低了外部纠错的程度。We believe a topological qubit will be less impacted by changes in its environment, therefore reducing the degree of external error correction. 拓扑量子位具有更高的稳定性,并且不容易受到环境所影响,这意味着它们更容易伸缩,并保持更长的可靠时间。Topological qubits feature increased stability and resistance to environmental noise, which means they can more readily scale and remain reliable longer.

量子计算 - 完整的硬件和软件堆栈Quantum computing – a full hardware and software stack

Microsoft 的量子程序的独特性在于,我们专注于扩展系统的每一个组件,为用户带来真正的量子影响力。Microsoft's quantum program is unique in that we focus on scaling each and every component of the system to deliver real quantum impact. 该综合性方法涉及:This comprehensive approach involves:

  • 使用可靠、可缩放和容错的拓扑量子位构建量子计算机;building a quantum computer using reliable, scalable, and fault-tolerant topological qubits,
  • 设计一个独特且能耗和热耗低的低温控制平面;engineering a unique cryogenic control plane with low power and heat dissipation,
  • 开发完整的软件堆栈,以便实现大规模量子计算机编程和系统控制。developing a complete software stack to enable programming the quantum computer and controlling the system at scale.

因此我们引入了开源 Quantum 开发工具包 (QDK) 来简化量子编程和算法开发。The open source Quantum Development Kit (QDK) has been introduced to make quantum programming and algorithm development more accessible. 我们的高级编程语言 Q# 可解决量子编程难题。Our high-level programming language, Q#, addresses the challenges of quantum programming. 我们将 Q# 设计为专注于量子的高级编程语言,侧重于算法和应用程序开发。We designed Q# as a high-level quantum-focused programming language focused on algorithm and application development. Q# 编译器集成在一个软件堆栈中,使量子算法能够编译到量子计算机的基元操作。The Q# compiler is integrated in a software stack that enables a quantum algorithm to be compiled down to the primitive operations of a quantum computer. 达到一定规模(量子位数)时,可以在经典计算机上模拟量子计算。Up to a certain scale (number of qubits), quantum computing can be simulated on a classical computer. 使用模拟,你可以现在开始编写量子程序,以便将来在量子硬件上运行。Using simulation, you can start to write quantum programs today for running on quantum hardware tomorrow. 我们还为 Q# 配备了示例、库和学习用的练习,让你可以马上开始量子编程。We’ve also paired Q# with samples, libraries, and learning exercises to make it easy to begin quantum programming today.

后续步骤Next steps