帖子:40
QPanda SDK是由本源量子推出的以C++语言作为经典宿主语言,支持以QRunes书写的开源的量子软件开发包。用户基于此可开发最高32位量子自定义运行程序。
  • 给小黄人们分房屋涉及到了最大切割问题,你知道什么是最大切割问题吗? 最大切割问题就是给定一张无向加权图,将图的顶点分成两组,若图的某条边两个顶点位于不同的组,则称这条边满足条件,求一种分割方案,使满足条件的边的权重和最大。 对于4个小黄人的方形图 它对应的分割方案如下: 我们可以将方形图中小黄人的分屋方案全部枚举出来: 通过查表可以很容易找到最大减少小黄人之间矛盾的分屋方案。 当格鲁有很多小黄人,例如1000个,10000个或者更多,我们还能通过枚举的方式来解决这个问题吗? 以目前的时间节点来看,答案是不能的。当人数超过10000后,就算把全球的计算资源都加起来,也要计算很长很长时间。 那有没有其它解决方案呢? 当然有,量子近似优化算法QAOA其实就是解决最大切割问题的恰当方案。 那什么是量子近似优化算法呢? 发表该算法的作者爱德华·法希,杰弗里·戈德斯通和山姆·古特曼等人都是现今量子计算领域有名的教授。 其中爱德华·法希和杰弗里·戈德斯通还是麻省理工学院的名誉教授。 他们在2000年的时候一起发表了绝热演化量子计算算法。在此基础上,在2014年他们又共同发表了量子近似优化算法QAOA。 量子近似优化算法(QAOA),是一个多项式时间的近似优化算法,是用于寻找最优化问题的解决方案。 除此之外,QAOA还具有展示量子霸权的潜力。绝热量子计算是量子计算的一种形式,它依赖于绝热定理进行计算。 首先,对于一个特定的问题,找到该问题的一个哈密顿量,该哈密顿量可能会有点复杂,但其基态描述了该问题的解决方案。 接下来,准备一个具有简单哈密顿量的系统并初始化为基态。最后,简单的哈密顿量绝热地演化为期望的复杂哈密顿量。 根据绝热定理,系统保持在基态,因此最后系统的状态描述了问题的解决方案。 绝热量子计算算法已经被证明在线路模型中与传统的量子计算是多项式等价的。 我们可以通过泡利算符来表示最大切割问题对应的哈密顿量。最大切割问题对应的哈密顿量为: QAOA定义初始哈密顿量Hb是泡利X算符在每个量子位上的和。 该哈密顿量具有基态,该基态是泡利算子最高能量对应的特征向量(ket正)的张量积。 QAOA线路表示为以Hb为生成元的酉变换跟以Hp为生成元的酉变换乘积的累积。 其中m表示演化步数。 对于方形图,我们知道求解其最大切割问题需要使用到4个量子比特。 对于A,B,C,D这4个节点我们分别用0号比特、1号比特、2号比特和3号比特进行映射。 其对应的量子线路如下: 红色框起来的部分就是步数为1时对应的线路,当我们增加步数,相当于把红色框起来的线路重复执行了几次,只不过线路对应的参数不同。 那对于步数为m的量子线路,我们如何得到一组合适的beta和gamma参数呢? QAOA的工作流程如下图所示 第1步.制备线路的初始状态 第2步.初始化待优化的参数β和γ,主要是用来确定RZ门和RX门的旋转角度,通常我们把参数都初始化为0 第3步.根据参数生成量子线路 第4步.测量量子状态计算每一个子项的期望 第5步.计算当前参数对应的总的期望值 第6步.将当前参数及其对应的期望值传入到经典优化器进行优化得到一组新的参数 重复执行3-6步,一直到满足预先设定好的结束条件。 通常我们把计算问题对应的哈密顿量 在初态经过量子线路 后得到的末态上的期望作为损失函数。 下面是对应的量子处理器和经典处理器的工作过程。 量子处理器里面执行量子线路,测量量子状态,随后将得到的期望值传给经典处理器。 经典处理器通过优化算法对参数进行优化。 如此循环往复,最终将会得到一组合适的参数。以该参数生成的量子线路作用在初态上,随后测量末态我们就可以高概率得到问题的解。 是不是被上面给的公式搞的晕乎乎的,本源量子最新上线了“从零学量子计算解决组合优化问题”的系列课程,每一课都会对上面涉及到的部分概念进行详细讲解,并带领你用本源量子提供的QPanda软件开发套件,一步一步实现QAOA。 以上,就是本次QAOA课程的介绍。完整课程,请登录本源量子云平台进行观看。
  • 1900年,普朗克首次提出量子概念,用来解决困惑物理界的“紫外灾难”问题。普朗克 普朗克假定,光辐射与物质相互作用时其能量不是连续的,而是一份一份的,一份“能量”就是所谓量子。从此“量子论”就宣告诞生。 然而当时的物理界,包括普朗克本人,都讨厌“量子”这个怪物,千方百计想要将它消化在经典物理的世界之中,但却屡试不果。唯有爱因斯坦独具慧眼,他认为光辐射不仅在于与物质相互作用时的能量是一份一份的,光辐射的能量,本身就是“量子化”的,一份能量就是光能量的最小单元,后来称之为“光量子”,或简称“光子”。德布罗意 法国年轻的博士生德布罗意在爱因斯坦“光子”概念的启发下提出:既然看似波动的光辐射,具有“粒子”特性,那么像电子这类看似“粒子”的物质,也应具有波动性。这就是“德布罗意物质波”的概念,由此引发后继大量理论与实验研究,证实所有微观粒子都同时具有波动性和粒子性二象性。这些奇异特性的微观粒子构成“量子世界”,遵从量子力学的运动定律。 随着科学技术的发展,人们认识到“量子世界”不仅限于微观和单个粒子,某些宏观尺度下的多粒子系统也遵从量子力学规律。例如玻色—爱因斯坦凝聚(BEC),当原子聚合的温度足够低时,所有处于不同状态的原子,会突然聚集在同一个尽可能低的能量状态上,其行为就像一个“放大”的玻色子,遵从量子力学规律。 我们按物理运动规律的不同,将遵从经典运动规律(牛顿力学,电磁场理论)的那些物质所构成的世界称为“经典世界”,将遵从量子力学规律的那类物质所构成的世界称为“量子世界”。“量子”就是量子世界中物质客体的总称,它既可以是光子、电子、原子、原子核、基本粒子等微观粒子,也可以是BEC、超导体、“薛定谔猫”等宏观尺度下的量子系统,它们的共同特征就是必须遵从量子力学的规律。 举一个例子说明“量子”与“经典”的本质区别,经典世界的特点是物体的物理量、状态在某个时刻是完全确定的:晶体管要么导通,要么关闭,完全确定。即经典信息要么是0,要么是1,毫不含糊。但量子世界中,客体的物理量则是不确定的、概率性的,而且这种不确定性与实验技术无关,是量子世界的本质特征,无法消除。这个特征体现在量子力学中重要的量子态叠加原理上。 量子态记作|ψ⟩,是科学家引进量子力学中用来描述量子系统的状态,其运动规律是薛定谔方程。 量子态又称波函数或几率幅,它没有任何经典对应。虽然人们并不喜欢量子世界的这种描述,因为它与我们所熟悉的经典世界截然不同,但一百多年来所有实验都证实了量子力学的所有预言,人们不得不承认这种描述是正确的。 费曼 著名物理学家费曼说,“量子力学的奥妙之处就是引入几率幅ψ”。 假定量子客体有两个确定的可能状态0或者1,通常写成|0⟩、|1⟩,由于量子状态(写成|ψ⟩)是不确定的,它一般不会处于|0⟩或|1⟩的确定态上,只能处于这两种确定态按某种权重叠加起来的状态上,这就是量子世界独有的量子态叠加原理,用数学表示为|ψ⟩=α|0⟩+β|1⟩。其中α,β为复数,且满足|α|2+|β|2=1。 量子信息以|ψ⟩为信息单元,称为量子比特。这从根本上区别于经典信息,后者以|0⟩或|1⟩为信息单元,俗称比特。 正是量子态|ψ⟩的种种奇异特性导致量子信息技术的性能可以突破经典的物理极限,为人类开拓新一代的信息技术。 事实上,量子力学的所有奇异特性正是源于这个几率幅。当然,近百年来对量子力学争论不休也在于这个几率幅(量子态)。 目前,网络上就在流传什么“量子肥料”、“量子水”等忽悠人的词,将来还可能出现“量子炸弹”、“量子导弹”……这些忽悠大众的名词将本来应是光辉纯洁的学术领域炒作得乌烟瘴气,真假不分,鱼目混珠。 其实,人们只要搞懂“量子比特”的本质,就可以戳穿“假量子”的骗局。简单的判据就是看它是否应用到“量子比特”,即|0⟩和|1⟩的叠加态。 例如,激光测距实验,从目标反射回来的光束,其强度随距离不断衰减,当探测器无法探测到光时,就是最长的测量距离。当然,如果采用单光子探测器,则测量距离必然增长。 这里测到的是单个光子,是否可以称它为“量子测距”呢? 答案是否定的,因为它没用到光子的量子态,这只是将激光测距提高到极限灵敏度而已,仍属于经典范畴。密立根当年在实验上测量单个电子的电荷,虽然采用单个电子,但这仍然属经典物理实验,因为在该实验中,“单电子”只是作为电荷最小单元,而未涉及到任何量子特性。 本文转载自郭光灿院士《量子十问》,载于中科院量子信息重点实验室。原文链接:http://lqcc.ustc.edu.cn/index/info/753
  • 我们一直以来追寻的目标,就是利用QPanda开发的量子应用程序可以完全应用在即将出现的量子计算机上。 2018年2月10日,本源量子研发团队公布国内首款量子软件开发包QPanda; 2018年3月1日,本源量子虚拟机首次打破IBM Q记录,成功模拟64位比特量子线路; 2018年7月20日,QPanda正式发布2.0版; 2018年9月23日,基于QPanda2的量子应用框架pyQPanda开放… 经过研发团队大半年的努力,我们给QPanda添加了4种量子虚拟机,融入了量子机器学习框架VQnet和可实现经典+量子程序混合编程的新功能。 通过这些新功能,使用QPanda编写的程序在进行量子计算时将会有更多选择。 新功能 部分振幅量子虚拟机和单振幅量子虚拟机 在使用全振幅量子虚拟机进行模拟计算时,系统会根据量子程序计算所有量子比特的量子态,并输出量子计算的理论结果,这样的计算方式在量子比特位数少的情况下有利于使用者分析问题,但量子比特位数一旦达到一定数额,比如50个、100个? (50个就是量子霸权了,需要16PB内存,全球的内存加起来可能也相差甚远) 在那时,使用全振幅计算方式所花费的时间和资源将是无比巨大的,同时所花费的计算时间在一定程度上也会增长,这违背了我们使用量子计算的初衷。 为此,我们新开发了部分振幅量子虚拟机。 部分振幅量子虚拟机:能让用户在所有的振幅中选取任意子集,计算并输出。 基于此前我们进行的64位量子线路仿真,部分振幅量子虚拟机可以在模拟数十个量子比特的时候实现加速。但是这种加速主要表现在和量子线路本身相关,部分振幅虚拟机可以通过优化量子线路实现对计算任务的拆分,从而减少计算规模。 也就是说,部分振幅量子虚拟机可以凭借其独有的优化功能,模拟更多的量子位数。 同时,我们也推出了单振幅量子虚拟机。 相对于此前的全振幅量子虚拟机,单振幅量子虚拟机能让用户在所有振幅中选取某一个,计算并进行输出。 不同于全振幅量子虚拟机,单振幅量子虚拟机在计算时不是计算所有量子比特的量子态,这意味着它可以模拟的量子位数更多。 单振幅量子虚拟机通常可以用更少的资源模拟更多个量子比特的量子程序。 含噪声量子虚拟机 由于量子计算机其物理特性,计算过程中常常存在不可避免的计算误差。为降低这类误差,此次的QPanda更新中,我们带来了含噪声量子虚拟机。 含噪声量子虚拟机的模拟更贴近真实的量子计算机,用户可以自定义量子比特拓扑结构,自定义支持的逻辑门类型,自定义逻辑门支持的噪声模型。含噪声量子虚拟机可以让用户在用QPanda开发量子程序时的现实应用程度更高。 云量子虚拟机 云计算方式是目前较为流行的一种计算方式。 我们此次更新的云量子虚拟机可以让用户不受本地硬件模拟环境限制,在QPanda上编写的量子程序,可直接发送到量子云平台上运行,一定程度上减轻了用户的计算成本,并帮助用户获得更好的计算体验。 我们一直在思考,如何为现实问题带来更多可能的解决方案。 所以,这次我们又整合了两个新工具到更新后的QPanda内: 1、量子机器学习框架VQNet VQNet是本源量子软件开发团队基于经典的机器学习开发的一种可高效连接机器学习和量子算法的量子机器学习框架,可满足构建所有类型的量子机器学习算法。 在上期发布后,我们将其整合进了QPanda中,用户可基于该量子机器学习框架,开发量子机器学习应用。 2、经典+量子程序混合编程 从计算机程序解决问题的角度来看,量子计算与经典计算是无法完全割裂的,如果使用经典+量子程序混合编程,对于促进量子计算转向现实应用的发展很可能是“如虎添翼”。 在QPanda中,我们在量子程序中插入经典程序逻辑,在量子程序中实现了条件判断跳转、循环控制等功能。通过经典+量子程序混合编程的方式,开发人员能够更有效地实现量子算法。 QPanda的更新还在持续,未来还会带来更多新功能。 最后,为方便大家更加详细地了解QPanda,我们提供了一个完整的QPanda用户手册,通过 https://qpanda-2.readthedocs.io/zh_CN/latest/即可查看,希望能够帮到您。 衷心感谢一直以来关注并使用QPanda的用户,如果你想要与我们一起参与量子计算程序的研究,欢迎通过 oqc@originqc.com联系我们。 在研究量子计算的道路上,你我皆不孤单!
本源量子
下载本源量子云APP
获得更好的使用体验