Skip to content

Releases: OriginQ/QPanda-2

QPanda v2.1.6

18 Jun 12:08
d851612
Compare
Choose a tag to compare

QPanda

  1. 单振幅虚拟机添加概率测量类接口
  2. 部分振幅虚拟机添加概率测量类接口
  3. 增加模式匹配的并行化功能
  4. 添加直接通过矩阵构造U3门方法
  5. 添加Toffli门支持
  6. 单振幅虚拟机算法增加路径优化功能
  7. 拓展Var支持逻辑门
  8. 修改线路dagger()和control()函数的内部实现
  9. 在量子程序或量子线路中插入节点时修改为深拷贝的方式
  10. bmt及sabre映射算法插入swap门时,直接转换成U3+cz门
  11. 独立单门优化方法
  12. 全振幅虚拟机算法优化
  13. mingw支持大文件debug编译
  14. 量子比特和经典寄存器与虚拟机解耦

pyQPanda

  1. 单振幅虚拟机添加概率测量类接口
  2. 部分振幅虚拟机添加概率测量类接口
  3. 增加模式匹配的并行化功能
  4. 添加直接通过矩阵构造U3门方法
  5. bmt及sabre映射算法插入swap门时,直接转换成U3+cz门
  6. 添加OBMT_mapping映射算法Python接口
  7. 单振幅虚拟机算法增加路径优化功能
  8. 拓展Var支持逻辑门
  9. 修改线路dagger()和control()函数的内部实现
  10. 在量子程序或量子线路中插入节点时修改为深拷贝的方式
  11. 独立单门优化方法
  12. 全振幅虚拟机算法优化
  13. 量子比特和经典寄存器与虚拟机解耦

QPanda v2.1.5

05 Jan 09:16
bb8d4cc
Compare
Choose a tag to compare

QPanda

  1. 更新统计时序接口
    2.修改了请求接口的超时设置
    3.添加保真度算法
    4.修改qubit释放错误问题
    5.优化PyQPanda字符画接口
    6.添加逻辑门取消控制qubit接口
    7.添加BMT映射算法代码
    8.优化分层代码,提高分层效率
    9.优化芯片拓扑接口json配置方法及相关读取接口
    10.解决连续X门合并抵消优化错误问题
    11.MPS单个振幅测量接口
    12.添加 convert_originir_str_to_qprog 接口,实现originir直接到Qprog的转换
    13.添加MPS噪声算法
    14.修改含噪声虚拟机算法及接口
    15.修改异常字符串包含编译文件绝对路径问题
    16.添加pyqpanda的依赖库
    17.修改var
    18.虚拟机添加屏障
    19.量子线路字符画CR门显示格式修改

pyQPanda

  1. 更新统计时序接口
    2.修改了请求接口的超时设置
    3.添加保真度算法
    4.修改qubit释放错误问题
    5.优化PyQPanda字符画接口
    6.添加逻辑门取消控制qubit接口
    7.添加BMT映射算法代码
    8.优化分层代码,提高分层效率
    9.优化芯片拓扑接口json配置方法及相关读取接口
    10.解决连续X门合并抵消优化错误问题
    11.MPS单个振幅测量接口
    12.添加 convert_originir_str_to_qprog 接口,实现originir直接到Qprog的转换
    13.添加MPS噪声算法
    14.修改含噪声虚拟机算法及接口
    15.修改异常字符串包含编译文件绝对路径问题
    16.添加pyqpanda的依赖库
    17.修改var
    18.虚拟机添加屏障
    19.量子线路字符画CR门显示格式修改
    20.量子线路优化接口python接口,通过list传递组合优化模式

QPanda v2.1.4

29 Sep 02:03
1092d38
Compare
Choose a tag to compare

QPanda

  1. 添加线路适配异常处理
  2. MPS 振幅模拟功能
  3. 添加多控门分解独立接口
  4. 云量子虚拟机支持链接真实芯片功能
  5. 配置文件接口可直接接收json字符串形式的配置信息
  6. 修改windows控制台字符画乱码问题
  7. 优化了测量部分
  8. 优化Shor算法结果处理,使量子算法结果到输出逆元这一步更为可靠
  9. applications 中 HHL 实例修改
  10. 修改线路替换时,qubit内存错误问题
  11. 更新originir支持PI,自然对数
  12. 修改受控单门无法在多控门分解接口分解的问题

pyQPanda

  1. 优化字符画Python接口,可直接print量子程序
  2. 添加量子线路适配芯片拓扑结构接口
  3. 添加Grover算法接口
  4. 添加获取量子线路所用到的qubit的接口
  5. 添加线路适配异常处理
  6. MPS 振幅模拟功能
  7. 添加多控门分解独立接口
  8. 云量子虚拟机支持链接真实芯片功能
  9. 修改windows控制台字符画乱码问题
  10. 优化了测量部分
  11. 优化Shor算法结果处理,使量子算法结果到输出逆元这一步更为可靠
  12. 更新originir支持PI,自然对数

QPanda v2.1.3

19 Jun 03:07
8fd415a
Compare
Choose a tag to compare

QPanda

  1. 添加 SU4 线路映射功能
  2. 添加含噪声虚拟机中添加角度旋转误差接口 set_rotation_angle_error
  3. 添加通过泡利矩阵设置噪声模型的方法 set_noise_kraus_matrix
  4. 添加通酉矩阵和概率设置噪声的方法 set_noise_unitary_matrix
  5. 添加生成随机线路的功能 RandomCircuit
  6. 添加 Base_QCircuit 文件夹存放基础量子线路,QFT,QPE 等
  7. 添加 HHL 算法
  8. 添加 QARM 算法
  9. 添加 QSVM 算法
  10. 添加 QITE 算法
  11. convert_qasm_to_qprog 支持科学记数表达式:如 1.0e-10
  12. 修改 runwithconfiguration 返回结果的显示方式
  13. 修复 free qubit 内存泄漏
  14. 修复 U4 gamma 值为nan的问题
  15. 更新线路优化算法
  16. 去掉噪声虚拟机的默认噪声参数的设置
  17. 修复 Psi4Wrapper 中成员变量未赋初值的bug
  18. 添加 QGate::remap 接口,映射逻辑门量子bit到不同的量子bit

pyQPanda

  1. 添加 SU4 线路映射功能
  2. 添加含噪声虚拟机中添加角度旋转误差接口 set_rotation_angle_error
  3. 添加通过泡利矩阵设置噪声模型的方法 set_noise_kraus_matrix
  4. 添加通酉矩阵和概率设置噪声的方法 set_noise_unitary_matrix
  5. 添加生成随机线路的功能 RandomCircuit
  6. 添加 Base_QCircuit 文件夹存放基础量子线路,QFT,QPE 等
  7. 添加 HHL 算法
  8. 添加 QARM 算法
  9. 添加 QSVM 算法
  10. 添加 QITE 算法
  11. convert_qasm_to_qprog 支持科学记数表达式:如 1.0e-10
  12. 修改 runwithconfiguration 返回结果的显示方式
  13. 修复 free qubit 内存泄漏
  14. 修复 U4 gamma 值为nan的问题
  15. 更新线路优化算法
  16. 去掉噪声虚拟机的默认噪声参数的设置
  17. 修复 Psi4Wrapper 中成员变量未赋初值的bug
  18. 添加 QGate::remap 接口,映射逻辑门量子bit到不同的量子bit

QPanda v2.1.2

01 Apr 07:04
9e8d317
Compare
Choose a tag to compare

QPanda

  1. QAdder 量子加法器功能
  2. amplitude_encode实现经典数据的量子态振幅编码
  3. run_with_configuration 添加测量次数的接口
  4. QCodar一种用于各种NISQ设备的上下文持续时间感知的Qubit映射
  5. 修改 QCloudMachine 接口
  6. 修改 SQISWAP 、U2 、U3 门中的bug
  7. 调整 topology_match 功能,使QVec完成物理比特映射

pyQPanda

  1. QAdder量子加法器功能
  2. amplitude_encode实现经典数据的量子态振幅编码
  3. run_with_configuration添加测量次数的接口
  4. QCodar一种用于各种NISQ设备的上下文持续时间感知的Qubit映射
  5. 修复Shor算法测试代码的错误
  6. 调整topology_match功能,使QVec完成物理比特映射
  7. 修改虚拟机中调用pmeasure系列接口出错的问题

QPanda v2.1.1

15 Jan 02:24
Compare
Choose a tag to compare

QPanda:

QCloudMachine 添加商业云功能
修改GTEST测试框架
ChemiQ可以生成动态库
修改NoiseQVM中的算法错误
修改QIF和QWHILE中的执行错误
修改注释部分的乱码引起的编译错误

pyQPanda:

添加接口 : set_noise_model: 设置噪声模型
QCloudMachine`添加商业云功能

Changed

修改NoiseQVM中的算法错误
修改QIF和QWHILE中的执行错误

QPanda v2.1.0

08 Nov 08:31
Compare
Choose a tag to compare

QPanda:

  1. 添加逻辑门:I门
  2. 添加接口:fill_qprog_by_I:通过I门填充QProg
  3. 添加接口:cast_qprog_qgate:转换Qprog到Qgate
  4. 添加接口:cast_qprog_qmeasure:转换Qprog到Qmeasure
  5. 添加接口:cast_qprog_qcircuit:转换Qprog到QCircuit,遇到流控节点或者测量节点,返回false
  6. 调整QPanda2 的Utilities目录:Compiler:存放QProg到其他平台的适配转换,QProgInfo:存放线路信息查询相关接口,QProgTransform:Qprog的其他形式转换比如有向无环图,Tools:存放其他工具类接口
  7. 新增接口:NoiseModel::set_noise_model():设置NoiseModel配置接口
  8. 调整接口:原字符画接口print_prog改为:draw_qprog
  9. 修改接口名:QVM::setConfigure为 QVM::setConfig
  10. 添加接口:flatten():添加展开量子程序中的嵌套节点的功能
  11. 新增功能:单振幅量子虚拟机中添加SWAP门
  12. 添加新的含噪声虚拟机模型:DECOHERENCE_KRAUS_OPERATOR_P1_P2, BITFLIP_KRAUS_OPERATOR, DEPOLARIZING_KRAUS_OPERATOR, BIT_PHASE_FLIP_OPRATOR, PHASE_DAMPING_OPRATOR
  13. 调整接口:通过重载std::cout,直接输出目标线路的字符画
  14. 新加接口:convert_qprog_to_binary:转换QProg到二进制
  15. 新加接口:convert_binary_data_to_qprog:转换二进制到QProg
  16. 添加接口:convert_originir_to_qprog:转换Qoriginir到QProg
  17. 添加接口:convert_qasm_to_qprog:新增QASM转QProg的方法
  18. 新加接口:convert_qprog_to_originir:转换QProg到Qoriginir
  19. 新加接口:convert_qprog_to_quil:转换QProg到QUil
  20. 新加接口:convert_qprog_to_qasm:转换QProg到QASM

pyQPanda:

  1. 添加逻辑门:I门
  2. 添加接口:fill_qprog_by_I:通过I门填充QProg
  3. 添加接口:cast_qprog_qgate:转换Qprog到Qgate
  4. 添加接口:cast_qprog_qmeasure:转换Qprog到Qmeasure
  5. 添加接口:cast_qprog_qcircuit:转换Qprog到QCircuit,遇到流控节点或者测量节点,返回false
  6. 添加接口:flatten():添加量子程序或线路展开功能的python接口
  7. 调整接口:打印字符画接口print_qprog修改为draw_qprog
  8. 添加接口:convert_qprog_to_binary:转换QProg到二进制
  9. 添加接口:convert_binary_data_to_qprog:转换二进制到QProg
  10. 添加接口:convert_originir_to_qprog:转换Qoriginir到QProg
  11. 添加接口:convert_qprog_to_originir:转换QProg到Qoriginir
  12. 添加接口:convert_qprog_to_quil:转换QProg到QUil
  13. 添加接口:convert_qasm_to_qprog:新增QASM转QProg的方法
  14. 添加接口:convert_qprog_to_qasm:转换QProg到QASM

调整QPanda架构,添加新的接口

30 Sep 03:53
Compare
Choose a tag to compare
Pre-release

QPanda:

  1. QPanda重构了项目框架把QPanda分为Applications、QAlg、Components、Core四层。
  2. 添加接口getAllocateCMemNum():获取申请经典比特的数量
  3. 添加接口pMeasureNoIndex:概率测量
  4. 添加接口createEmptyCircuit:创建空的量子线路
  5. 添加接口QWhile::getClassicalCondition: 获得经典表达式
  6. 添加接口createWhileProg:创建QWhile
  7. 添加接口createIfProg: 创建QIf
  8. 添加接口createEmptyQProg:创建量子程序
  9. 添加接口 QVM::setConfigure: 设置比特数和经典寄存器数
  10. 添加接口QVM:: qAlloc: 申请量子比特
  11. 添加接口QVM::qAllocMany:申请多个量子比特
  12. 添加接口QVM::getAllocateQubitNum:获取申请的量子比特数
  13. 添加接口QVM::getAllocateCMemNum 获取申请的经典寄存器数
  14. 添加接口QVM::cAlloc: 申请一个经典寄存器
  15. 添加接口QVM::cAllocMany:申请多个经典寄存器
  16. 添加接口SingleAmplitudeQVM:pMeasureBinIndex: 通过二进制下标进行PMeasure操作
  17. 添加接口SingleAmplitudeQVM:pMeasureDecIndex: 通过十进制下标进行PMeasure操作
  18. 添加接口CPUQVM:: pMeasureNoIndex: PMeasure操作
  19. 添加接口validateSingleQGateType: 验证单量子逻辑门有效性
  20. 添加接口validateDoubleQGateType:验证双量子逻辑门有效性
  21. 添加接口getUnsupportQGateNum:统计量子程序(包含量子线路、QIF、QWHILE)中不支持的逻辑门的数量
  22. 添加接口getQGateNum:统计量子程序(包含量子线路、QIF、QWHILE)中逻辑门的数量
  23. 添加接口transformBinaryDataToQProg: 解析二进制数据转化为量子程序
  24. 添加接口transformQProgToBinary:量子程序转化为二进制数据

pyQPanda:

  1. 添加接口cAlloc: 申请一个固定位置上的经典比特
  2. 添加接口cFree_all:释放传入的所有经典寄存器
  3. 添加接口get_allocate_qubit_num: 获取申请量子比特的数量
  4. 添加接口get_allocate_cmem_num:获取申请经典比特的数量
  5. 添加接口get_prob_tuple_list:获得目标量子比特的概率测量结果, 其对应的下标为十进制,需先调用directlyRun
  6. 添加接口get_prob_list:获得目标量子比特的概率测量结果, 并没有其对应的下标,需先调用directlyRun
  7. 添加接口get_prob_dict:获得目标量子比特的概率测量结果, 其对应的下标为二进制,需先调用directlyRun
  8. 添加接口pmeasure_no_index:概率测量
  9. 添加接口accumulate_probability:累计概率
  10. 添加接口QGate::set_dagger:设置逻辑门转置共轭
  11. 添加接口QGate::set_control:设置逻辑门控制比特
  12. 添加接口QCircuit::set_dagger:设置线路转置共轭
  13. 添加接口Circuit::set_control:设置线路控制比特
  14. 添加接口create_empty_circuit: 申请空线路
  15. 添加接口QWhileProg::get_true_branch:获取正确分支
  16. 添加接口QWhileProg::get_classical_condition 获取判断表达式
  17. 添加接口QIfProg::get_true_branch:获取正确分支
  18. 添加接口QIfProg::get_classical_condition 获取判断表达式
  19. 添加接口QIfProg::get_false_branch:获取失败分支
  20. 添加接口create_If_prog:创建QIf
  21. 添加接口create_empty_qprog:创建QProg
  22. 添加接口QVM::allocate_qubit_through_phy_address:通过量子比特物理地址申请量子比特
  23. 添加接口QVM::allocate_qubit_through_vir_address:通过量子比特虚拟地址申请量子比特
  24. 添加接口QVM::get_result_map:获取结果map
  25. 添加接口QVM::get_allocate_qubit_num:获取申请比特数
  26. 添加接口QVM::get_allocate_cmem_num:获取申请经典寄存器数
  27. 添加接口QVM::init_qvm:初始化量子虚拟机
  28. 添加接口PartialAmplitudeQVM::pmeasure_subset:获取量子态任意子集的结果
  29. 添加接口validate_single_qgate_type:验证单量子逻辑门有效性
  30. 添加接口validate_double_qgate_type: 验证双量子逻辑门有效性
  31. 添加接口transform_qprog_to_originir:量子程序转化OriginIR
  32. 添加接口transform_originir_to_qprog:OriginIR转化量子程序
  33. 添加接口get_unsupport_qgate_num:统计量子程序(包含量子线路、QIF、QWHILE)中不支持的逻辑门的数量
  34. 添加接口get_qgate_num:统计量子程序(包含量子线路、QIF、QWHILE)中逻辑门的数量
  35. 添加接口get_qprog_clock_cycle:统计量子程序时钟周期
  36. 添加接口transform_binary_data_to_qprog:解析二进制数据转化为量子程序
  37. 添加接口transform_qprog_to_binary:量子程序转化为二进制数据
  38. 添加接口transform_qprog_to_qasm:量子程序转化为QASM指令集
  39. 添加接口transform_qprog_to_quil:量子程序转化为Quil指令集