摘要:MindSpore在3.28日正式开源了量子机器学习库MindQuantum,本文介绍MindQuantum的关键技术。
本文分享自华为云社区《MindSpore量子机器学习库MindQuantum》,作者:HWCloudAI 。
MindSpore在3.28日正式开源了量子机器学习库MindQuantum,本文介绍MindQuantum的关键技术。介绍MindQuantum前,先简单阐述下量子计算的相关概念。
量子计算基本概念
量子计算是当今世界最具颠覆性的技术之一,各个国家和公司都在加大该领域的研发投入。量子计算机的概念最早是由著名物理学家费曼于1981年提出,按照他的想法,利用量子力学原理运行的量子计算机,相比于经典计算机能够更快的对复杂量子系统进行模拟。由于量子系统的纠缠性、叠加性和并行性,人们可以以多项式级乃至指数级的加速来实现一些算法,如用于大数分解的Shor算法、用于量子搜索的Grover算法等。为了让大家快速步入量子计算大门,我们首先需要了解一些基本的概念,包括用于信息存储的量子比特和对量子比特进行逻辑操作的量子门。
量子比特
在经典计算机里,人们通常用电位的高低来表示二进制的0和1,然后利用三极管等半导体器件对电流进行操控,以完成通用逻辑运算。然而,在同一时间内,同一个比特只能处于低电位和高电位中的一种情况。在神奇的量子世界里,一些实体可以同时处于两种不同的状态。例如电子,它的自旋可以同时处于向上的状态和向下的状态,如果我们把这种向上和向下的状态分别记为0和1,那么以电子自旋为代表的量子比特则可以同时处于0和1的叠加态。按照狄拉克符号的规则,我们把这种0和1的状态分别记为|0>和|1>,称为右矢表示。对于单个量子比特,其状态是处于|0>和|1>的叠加态,也即:
这里,a和b必须满足
,也即态的归一化条件。有一定线性代数基础的同学看到这里可能就会想到,单量子比特的态就是以|0>和|1>为基矢所张成的二维空间中的矢量。我们把此空间称为希尔伯特空间。而多比特量子态所处的空间则由多个这种单比特空间直积而成。为了便于大家理解,我们可以将|0>和|1>用二维空间中最简单的两个正交基矢表示:
这样任意的单量子比特态可以表示为:
那么多量子比特又该如何表示呢?以两比特为例,两比特量子态所处的空间由两个二维希尔伯特空间直积而成,四个基矢分别为|00>、|01>和|11>,其中
其他以此类推。因此,我们可以发现,对于N个比特的系统,其量子态能够同时处于
个计算基矢的叠加态上,这是经典比特无法企及的。
量子逻辑门
有了基本量子信息载体的量子比特后,我们就需要对这些量子比特进行相应的操控。在经典计算机里,我们有一些半导体器件来对电信号进行处理,从而形成经典逻辑门,例如与非门、异或门等。而在量子计算机里,我们将这种对量子比特进行操控的逻辑门成为量子逻辑门,例如在超导量子计算机中,我们可以将一些微波脉冲作用在超导量子比特上,对其进行相应的控制,例如比特翻转等。这种操控所形成的逻辑我们也可以用线性代数语言来描述,例如最常用的几个逻辑门X、Y、Z三个泡利门和哈达玛门H可以分别用矩阵表示为:

更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv15125