新增功能和重要更新
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
模拟器添加了噪声模拟,目前仅支持比特翻转,相位反转,比特相位反转,去极化以及相位阻尼这五个噪声模型
-
将关于算法部分全部移植到
pyqpanda-algorithm
算法库,这个是一个独立于pyqpanda的算法模块包,详细模块和接口功能具体可见
https://pyqpanda-algorithm-tutorial.readthedocs.io/en/latest/index.html -
密度矩阵噪声设置现在可以正确叠加
-
ClassicalCondition添加c_and、c_or、c_not功能,用于构建量子逻辑分支程序时实现复杂的表达式判断
修复和解决的问题
-
修复量子态编码中关于复数数据重载函数在python中调用出现丢失虚部,导致只索引double类型接口错误。
-
解决某些使用GPU虚拟机情况下,cuda与Eigen3的运行冲突问题
-
修改了经典寄存器部分情况下有误,造成无法使用qif和qwhile的问题
-
优化了量子线路映射和转化过程中的错误
-
解决CPUQVM部分初始化和虚拟机释放场景下使用引入的内存泄漏问题
-
解决了部分映射接口在使用时异常出现程序崩溃和死循环的错误
-
修改了所有模拟器可能在计算含有BARRIER的量子程序过程中出错的问题
-
解决控制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进制与二进制转换未正确生效以及结果前后不一致的问题