Skip to content

Releases: OriginQ/QPanda-2

QPanda v2.2.0

04 Nov 11:01
3c5d3b2
Compare
Choose a tag to compare

新增功能和重要更新

1.提供根据配置选择硬件计算资源运行全振幅虚拟机FullAmplitudeQVM

2.更新接口,完善了将QASM指令字符串转换为OriginIR指令字符串的的功能。支持转换的QASM指令字符串对应的操作有:barrer、ccx、ch、cp、crx、cry、crz、cswap、csx、cu、cx、cy、cz、h、id、measure、p、rccx、rx、ry、rz、reset、rzz、s、sx、sdg、sxdg、swap、t、tdg、u、x、y、z。

3.更新接口,完善了将QASM指令字符串转换为QProg对象的功能。支持转换的QASM指令字符串对应的操作有:barrer、ccx、ch、cp、crx、cry、crz、cswap、csx、cu、cx、cy、cz、h、id、measure、p、rccx、rx、ry、rz、reset、rzz、s、sx、sdg、sxdg、swap、t、tdg、u、x、y、z。

4.更新接口,完善了将Pyquil指令字符串转换为OriginIR指令字符串的功能。支持转换的Pyquil指令字符串对应的操作有:I、Z、Y、X、H、S、T、CZ、CNOT、SWAP、PSWAP、ISWAP、XY。

5.更新接口,完善了将Pyquil指令字符串转换为QProg对象的功能。支持转换的Pyquil指令字符串对应的操作有:I、Z、Y、X、H、S、T、CZ、CNOT、SWAP、PSWAP、ISWAP、XY。

6.调整了基准测试三个算法接口参数和用法,包括 单双门随机基准测试 , 双门交叉熵基准测试 ,和 量子体积QV

7.本源量子云计算服务新增了混合加密配置使用选项,用于对量子计算任务传输和通信中的任务数据开启 混合加密 从而保护数据安全和隐私,可以根据需要选择开启或打开。

开启方式为:将 QCloudMchine 初始化函数的参数 enable_pqc_encryption 设置为 True 即可,默认为 False 不开启。

混合加密: 混合加密是一种结合了两种密码算法的模式,该模式或部分或完整地继承各部分密码模块的某些特性,用于混合的两个功能相近的算法可以均为经典密码算法,也可以同时来自PQC。考虑到现有公钥密码算法面对量子计算机的脆弱性以及现阶段PQC算法潜在的风险,混合算法的两部分“原料”一般一半来自经典,一半来自PQC。例如,苹果于最近推出的iMessage加密方案以及谷歌在其浏览器中部署的混合加密方案均为Kyber(PQC的一种)与ECC类算法的混合。

本源量子云采用的混合加密方法来自NIST将要形成标准的 格基密码算法Kyber 以及 ECC类算法 ,并且在具体的实现过程中尽量采用国家认证的SM系列算法,例如,ECC类算法选取SM2算法,混合流程中用以密钥导出的函数(KDF)选用SM3算法,建立会话密钥后后续加解密采用SM4算法,并使用了安全度较高的CBC模式。

8.解决了部分情况下由于全局虚拟机导致的originir转换异常

9.电路模块可视化完善,包括:
- 修复导出text偶尔丢失量子逻辑门的错误
- 对png格式下自定义名称过长进行限制

10.量子云计算服务芯片任务添加了相关限制,单个任务的层数不能超过 500 层,并且单门控制比特数量不能超过 2 个(Toffoli门除外)

11.量子计算服务适配了本源悟空芯片上线,并且可以支持originir量子程序参数

12.ldd多控门分解接口( ldd_decompose )适配了RXX,RYY,RZX,RZZ,MS等特殊双门以及 QOracle 的受控形式

13.新增了稀疏态量子态初态接口,用于稀疏方式进行初态制备,需要满足初态归一化条件

14.量子云虚拟机添加了批量任务提交,目前仅可用于芯片任务的批量任务提交。

15.虚拟机计算模拟和originir指令添加了Mlmer–Srensen"逻辑门(MS门)

16.修复量子虚拟机set_configure设置与init的冲突,该问题会导致部分情况下的内存泄露

1.7 基于Clifford的 stabilizer 模拟器添加了噪声模拟,目前仅支持比特翻转,相位反转,比特相位反转,去极化以及相位阻尼这五个噪声模型

  1. 将关于算法部分全部移植到 pyqpanda-algorithm 算法库,这个是一个独立于pyqpanda的算法模块包,详细模块和接口功能具体可见
    https://pyqpanda-algorithm-tutorial.readthedocs.io/en/latest/index.html

  2. 密度矩阵噪声设置现在可以正确叠加

  3. ClassicalCondition添加c_and、c_or、c_not功能,用于构建量子逻辑分支程序时实现复杂的表达式判断

修复和解决的问题

  1. 修复量子态编码中关于复数数据重载函数在python中调用出现丢失虚部,导致只索引double类型接口错误。

  2. 解决某些使用GPU虚拟机情况下,cuda与Eigen3的运行冲突问题

  3. 修改了经典寄存器部分情况下有误,造成无法使用qif和qwhile的问题

  4. 优化了量子线路映射和转化过程中的错误

  5. 解决CPUQVM部分初始化和虚拟机释放场景下使用引入的内存泄漏问题

  6. 解决了部分映射接口在使用时异常出现程序崩溃和死循环的错误

  7. 修改了所有模拟器可能在计算含有BARRIER的量子程序过程中出错的问题

  8. 解决控制swap逻辑门,进行多控门分解时,控制信息丢失问题

9.修复了ISWAP的dagger形式在多个虚拟机下的计算结果错误

10.修复了部分情况下pyqpanda导入依旧需要libcurl的问题

11.修改了量子虚拟机初始化错误,该错误会导致多个量子虚拟机重复初始化过程引发未知异常,涉及到的虚拟机有张量网络虚拟机,部分振幅虚拟机,单振幅虚拟机,密度矩阵模拟器和Clifford模拟器等

12.解决了mac部分python环境(3.10,3.11)下的包的导入异常问题

13.修改了量子比特池初始化和清空操作不彻底的错误,该错误会导致清空后设置最大容量时内存异常

14.修改了可视化模块的实际显示问题,包括数字偏移及换行乱码问题修复,以及latex可视化未添加measure操作会崩溃的bug。

15.修改了几处由于C++17升级导致的GPU量子虚拟机运行异常错误

16.修改了量子云计算服务12进制与二进制转换未正确生效以及结果前后不一致的问题

QPanda v2.1.16

01 Mar 13:01
907524d
Compare
Choose a tag to compare

QPanda

1.新增密度矩阵模拟器,适用于小型量子系统下的密度矩阵模拟,同时提供约化密度矩阵,概率分布,哈密顿量期望以及噪声线路模拟等接口,具体可以参考 密度矩阵模拟器 。
2.添加单振幅虚拟机获取对应振幅接口。
3.优化了泡利算符的构造方式,新增了通过矩阵来构造泡利算符的接口。
4.优化了泡利算符的构造方式,新增了形如 operator = 1.5 * x(0) + 0.6 * y(1) + 2.1 * z(2) 的更简洁的构造方式。
5.修复在只有measure线路等情况下,输出latex信息显示和转换失败的问题。
6.更新变分组件,添加三角函数相关接口。
7.优化了获取矩阵接口,现在可以添加了量子比特可选参数,获取一个量子线路中指定比特对应的矩阵。
8.修复退相干噪声计算错误的问题。
9.修复某些情况下GPU模拟器运行错误问题。
10.修复ISWAP门默认参数未统一的问题。
11.删除Encode类中归一化函数,并修改为入参检测归一化。

pyqpanda

1.添加GPU虚拟机
2.添加泡利矩阵分解
3.添加单个哈密顿量模拟
4.修复线路优化bug
5.修改QPanda中QST命名冲突问题

QPanda v2.1.14

17 Aug 08:02
6035298
Compare
Choose a tag to compare

QPanda

  1. 解决映射算法出错的问题
  2. 修改overall_csan报错问题
  3. 解决多个量子虚拟机并行计算问题
  4. 对QProgProgress加锁
  5. 优化HHL算法
  6. 添加测试用例

pyQPanda

  1. 解决映射算法出错的问题
  2. 修改overall_csan报错问题
  3. 解决多个量子虚拟机并行计算问题
  4. 优化HHL算法

QPanda v2.1.13

09 Jun 08:24
3c225b5
Compare
Choose a tag to compare

QPanda
1.增加测量优化接口功能
2.修复云虚拟机通信异常问题
3.修复云虚拟机无法提示转换错误信息问题

pyQPanda
1.增加测量优化接口功能
2.修复云虚拟机通信异常问题
3.修复云虚拟机无法提示转换错误信息问题
4. 重新封装QVec为py::list对象

QPanda v2.1.12

12 May 10:03
a4734d4
Compare
Choose a tag to compare

QPanda

1.添加QOracle逻辑门
2.添加多种量子态编码功能
3.增加接口参数提示和函数自动补全功能
4.完成噪声解耦
5.实现LDD算法多控门分解功能;
6.openmp并行方法优化,提供设置最大并行数功能
7.新增RXX、RYY、RZZ、RZX逻辑门
8.添加RXX、RYY、RZZ、RZX、QOracle等复杂逻辑门的可视化
9.解决QProg、QCircuit的全局对象初始化失败问题

pyQPanda

1.添加QOracle逻辑门
2.添加多种量子态编码功能
3.增加接口参数提示和函数自动补全功能
4.完成噪声解耦
5.实现LDD算法多控门分解功能;
6.openmp并行方法优化,提供设置最大并行数功能
7.新增RXX、RYY、RZZ、RZX逻辑门
8.添加RXX、RYY、RZZ、RZX、QOracle等复杂逻辑门的可视化
9.解决QProg、QCircuit的全局对象初始化失败问题
10.添加pyqpanda参数提示功能

QPanda v2.1.11

09 Feb 03:04
69c18d7
Compare
Choose a tag to compare

QPanda

1.添加GPU虚拟机
2.添加泡利矩阵分解
3.添加单个哈密顿量模拟
4.修复线路优化bug
5.修改QPanda中QST命名冲突问题

pyQPanda

1.添加GPU虚拟机
2.添加泡利矩阵分解
3.添加单个哈密顿量模拟
4.修复线路优化bug
5.修改QPanda中QST命名冲突问题

QPanda v2.1.10

07 Dec 07:17
c301a55
Compare
Choose a tag to compare

QPanda

  1. 添加LaTeX可视化量子线路方法
  2. 修改qst接口使用方法

pyQPanda

  1. 添加LaTeX可视化量子线路方法
  2. 修改schmdit编码orcle实现,添加mottonen编码python实现

QPanda v2.1.9

28 Oct 06:09
ce06ec1
Compare
Choose a tag to compare

QPanda

  1. 量子云虚拟机添加比特限制功能
  2. 添加多种量子编码功能
  3. 修改量子逻辑门转换错误问题
  4. 修改矩阵分解bug

pyQPanda

  1. 量子云虚拟机添加比特限制功能
  2. 添加多种量子编码功能
  3. 修改依赖numpy库的版本
  4. 修改量子逻辑门转换错误问题
  5. 修改矩阵分解bug

QPanda v2.1.8

02 Sep 06:43
7a008c2
Compare
Choose a tag to compare

QPanda

  1. 修改量子云虚拟机
  2. 优化量子线路字符画接口
  3. 添加测试框架

pyqpanda

  1. 修改量子云虚拟机
  2. 优化量子线路字符画接口
  3. 添加测试框架

QPanda v2.1.7

01 Aug 09:13
b4aca06
Compare
Choose a tag to compare

QPanda

  1. 虚拟机添加同时对多种量子逻辑门噪声设置接口
  2. 修改control信息遍历方式
  3. 修改PMeasure算法
  4. 修改GTest测试框架
  5. Grover测试用例整改

pyQPanda

  1. 虚拟机添加同时对多种量子逻辑门噪声设置接口
  2. 修改control信息遍历方式
  3. 修改PMeasure算法
  4. OBMT_mapping映射算法接口优化
  5. HHL应用程序优化