新品发布|本源开放量子应用框架pyQPanda,可在多种量子计算硬件上开发应用

发布时间:2018-09-25 14:47:30

[导读] 量子计算机是一种未来的高性能计算机,在科学家的不断努力下,量子计算的硬件和软件方面都得到了惊人的发展。在两个月前,本源量子团队发布了基于C++的高性能量子计算框架QPanda 2。现在,QPanda诞生了它的第一个衍生应用 -   量子应用框架pyQPanda。pyQPanda专注于协助开发者构建量子应用,并且允许开发者在各种量子计算硬件上测试这些程序。

我们兴奋地宣布,距离开源量子计算框架QPanda 2发布仅两个月,QPanda就诞生了它的第一个衍生应用 – 量子应用框架pyQPanda

9月21日,本源量子软件研发团队发布了pyQPanda,这是一款基于QPanda的量子应用框架。在这里,您可以通过寥寥几行代码创建一个量子应用,或者让您现有的代码轻松获得量子加速。pyQPanda完全自主研发,并且已经遵循Apache协议发布到pypi平台上,您可随时下载该软件。

pyQPanda利用python编写,提供了丰富的算法集合——用于优化问题的QAOA算法,用于量子化学问题的VQE算法,等等。通过引入pyQPanda,您可以将封装好的代码插入到Python程序片段中,从而可以在量子计算机上加速解决这些问题。

 

pyQPanda发布页

 


pyQPanda的核心优势

快速便捷地开发量子应用

无需考虑硬件约束

包含大量实用算法模块


pyQPanda可以实现对量子计算机硬件的完全隔离

以往,由于量子计算机各种架构不完全相同,编写程序会受到某些限制,导致开发的量子程序是针对某一硬件的。在pyQPanda中,底层架构会自动适配量子计算机、量子虚拟机的不同限制因素,从而永远执行“硬件正确”的代码,无论是基于半导体的量子芯片,还是基于超导或者离子阱甚至是拓扑任意子的量子芯片,在pyQPanda和QPanda上衍生出的任何量子程序,都不再要求开发者去考虑指令集、量子比特拓扑结构等等底层信息

 

pyQPanda能真正实现一次编写,多次运行

pyQPanda包含1个核心部件:

pyqpanda.utils提供了大量方便进行量子程序开发的函数,例如:

meas_all: 自动对一组量子比特进行测量;

single_gate_apply_to_all:将量子逻辑门作用在所有比特上;

quick_measure: 采用快速方式模拟multi-shots实验。


pyQPanda还包含2个重要的子模块

pyqpanda.Algorithm算法模块:提供量子化学VQE算法,优化算法QAOA,退火算法等等的函数封装和演示;

pyqpanda.Hamiltonian哈密顿量模块:提供量子哈密顿量的构建和计算,它可以被进一步提供给算法模块进行执行。


使用这些子模块可以直接进行化学分子模拟,解决MaxCut问题以及机器学习问题;或者可以利用开源的API进行二次开发。


如何使用?

我们已经将我们的软件包发布到Python常用的pypi平台上,您现在只需一行代码:

pip install pyqpanda

即可开始体验量子计算应用的开发。

 

pip install pyqpanda


如果您想要进一步了解QPanda和pyQPanda的具体功能列表,我们提供了一个详细的文档,复制下方链接到浏览器即可了解。

http://www.originqc.com.cn/QPanda/course.html