QPanda-2

QPanda 2 is an open source quantum computing framework developed by OriginQC that can be used to build, run, and optimize quantum algorithms.

APACHE-2.0 License

Stars
1.1K

Bot releases are hidden (Show)

QPanda-2 - QPanda v2.1.16 Latest Release

Published by shenzhi-git over 1 year ago

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-2 - QPanda v2.1.14

Published by shenzhi-git about 2 years ago

QPanda

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

pyQPanda

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

Published by shenzhi-git over 2 years ago

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

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

QPanda-2 - QPanda v2.1.12

Published by shenzhi-git over 2 years ago

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-2 - QPanda v2.1.11

Published by shenzhi-git over 2 years ago

QPanda

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

pyQPanda

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

QPanda-2 - QPanda v2.1.10

Published by shenzhi-git almost 3 years ago

QPanda

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

pyQPanda

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

Published by shenzhi-git almost 3 years ago

QPanda

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

pyQPanda

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

Published by shenzhi-git about 3 years ago

QPanda

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

pyqpanda

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

Published by shenzhi-git about 3 years ago

QPanda

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

pyQPanda

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

Published by shenzhi-git over 3 years ago

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-2 - QPanda v2.1.5

Published by shenzhi-git almost 4 years ago

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-2 - QPanda v2.1.4

Published by shenzhi-git about 4 years ago

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-2 - QPanda v2.1.3

Published by shenzhi-git over 4 years ago

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-2 - QPanda v2.1.2

Published by shenzhi-git over 4 years ago

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-2 - QPanda v2.1.1

Published by shenzhi-git almost 5 years ago

QPanda:

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

pyQPanda:

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

Changed

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

QPanda-2 - QPanda v2.1.0

Published by yekongxiaogang almost 5 years ago

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-2 - 调整QPanda架构,添加新的接口

Published by yekongxiaogang about 5 years ago

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指令集