简体中文 | English
Quantum Leaf (量易伏) 是百度量子计算研究所旗下全球首个云原生量子计算平台。用户可以使用量易伏进行量子编程,量子模拟和运行真实量子计算机。量易伏旨在为量子基础设施即服务 (Quantum infrastructure as a Service, QaaS) 提供量子基础开发环境。
本安装包是 QComputeSDK 的 Python 语言实现的全量量子开源计算框架。它采用经典量子混合的编程模式并预制多种先进模块,用户不仅可以在量子环境对象 (QEnv) 下快速搭建电路,也可以将它用于各类复杂量子算法的研发。QComputeSDK 内置多类本地高性能模拟器和云端模拟器/真机调用接口,用户可以将电路在本地模拟器快速模拟验证也可以将电路任务进一步提交至云端真实量子硬件(超导、离子阱)以及高性能模拟器执行。
- 轻松上手
- 近 50 篇教程案例,还在不断地增加
- 量子电路本地可视化
- 全自动调用相关计算模块,完成预订流程
- 功能丰富
- 支持电路嵌套的量子子程序功能
- 本地高性能模拟器支持 32 量子比特的模拟运算
- 云端高性能异构模拟器支持更大规模量子模拟
- 支持多种噪声模型的模拟
- 基于英伟达 cuQuantum 的本地 GPU 模拟器
- 基于 Gaussian/Fork 态的本地光量子模拟器
- 真实量子算力
- 接入百度自研超导量子计算机 QPUQian
- 接入中科院精密测量院离子阱量子计算机 IonAPM
- 接入中科院物理所超导量子计算机 IoPCAS
推荐使用 Anaconda 创建虚拟环境,
conda create -n qcompute_env python=3.10
conda activate qcompute_env
Anaconda 请从官网下载
注意: 无论使用 Anaconda 还是原生 Python ,Python 版本都应 >= 3.9
通过 pip
完成安装,
pip install qcompute
用户也可以选择下载全部文件后进行本地安装。我们推荐此种方式安装以及二次 SDK 开发,可以方便的形成本地开发闭环,更方便调试等动作。
git clone https://github.com/baidu/QCompute.git
cd QCompute
pip install -e .
如果用户选择下载全部文件,现在可以试着运行一段程序来验证是否安装成功。这里我们运行 QComputeSDK 提供的测试脚本,
python -m Test.PostInstall.PostInstall_test
该脚本中包括执行本地与云端任务测试,云端测试前需要在命令行输入用户 Token ,Token 可登陆量易伏官网查看。如不需要做云端测试可运行 Ctrl+c
结束。
注意:通过 pip 安装请跳过此步。
从 QComputeSDK 3.0.0 版本开始,开发者可以通过 QComputeSDK 运行百度自研超导量子计算机乾始。设备定期对外提供服务,可以从量易伏真机详情页查看真机开放时间。该设备在 QComputeSDK 中的后端名为CloudBaiduQPUQian
.
QComputeSDK 是一个实现后台接入真实量子硬件的量子计算开发框架。建立起了量子计算与量子硬件的桥梁,为量子算法和应用的研发落地提供强有力的支撑,也提供了丰富的案例供开发者学习。
在这里,我们提供了初级、中级、高级案例供大家学习。初级案例中展示了使用 QComputeSDK 可以快速上手的简单示例,包括量子态制备、经典量子混合编程、以及将电路任务提交到量子计算机上执行等。中级案例中是 QComputeSDK 的进阶用法,包括模块的使用、内置转换器的使用等。高级案例中则是进阶量子算法在 QComputeSDK 上的实现示例,我们为这些算法都配套了详细的教程文档。建议用户下载 QComputeSDK 全部文件安装,本地运行进行实践。
在最近的更新中,QComputeSDK 加入了本地光量子计算模拟器 (LocalBaiduSimPhotonic) 。与传统的量子电路模型不同,光量子计算具有其独特的运行方式。QComputeSDK 在架构上支撑起光学体系,也成为了首个集成通用量子计算与光量子计算双体系的量子开发套件。感兴趣的读者请参见光量子计算模拟器教程。
了解更多 QComputeSDK 使用方法,请参考 API 文档,包含了供用户使用的所有函数和类的详细说明与用法。
QComputeSDK 中包括量子计算架构、量子模拟器、量子案例以及扩展功能等。对于需要涉及架构或模拟器源码的开发者,建议下载全部文件并本地安装调试。对于使用 QComputeSDK 研发算法应用的开发者或科研工作者,建议以 GHZ_Cloud.py 作为代码框架,修改和使用这个文件可以有效帮助熟悉本量子开发套件的语法。建议开发者熟悉 QComputeSDK 的电路模型构造,注意量子位输出顺序为高位。
- 我们非常欢迎您提交问题、报告与建议,您可以通过以下渠道反馈
- GitHub Issues / Gitee Issues
- 量易伏官网-意见反馈
- 量易伏官方邮箱 [email protected]
- 技术交流 QQ 群:1147781135,欢迎扫码进群
我们非常欢迎开发者使用 QComputeSDK 进行量子应用研发,如果您的工作有使用 QComputeSDK,也非常欢迎联系我们。以下为基于 QComputeSDK 开发的量子应用:
- 量噪 (QEP, Quantum Error Processing),百度量子计算研究所研发的量子噪声处理工具集,主要功能包括量子性能评估、量子噪声刻画、量子噪声缓释和量子纠错。
- 盲量子计算 (UBQC, Universal Blind Quantum Computation),百度量子计算研究所研发的基于 UBQC 协议的盲计算代理服务。
- QAPP 是基于 QComputeSDK 开发的量子计算解决方案工具集,提供包括量子化学、组合优化、机器学习在内的诸多领域问题的量子计算求解服务。
- 量子奇异值变换 (QSVT, Quantum Singular Value Transformation),百度量子计算研究所研发的量子奇异值变换工具集,主要功能包括量子奇异值变换,对称量子信号处理,以及哈密顿量模拟。
- 量子金融 QFinance ,百度量子计算研究所研发的量子金融库,提供用于期权定价的量子蒙特卡罗方法。
- 光量子计算模拟器 (PQS, Photonic Quantum Simulator),百度研究院量子计算研究所研发的光量子计算模拟器,支持基于 Gaussian 态和 Fock 态的光量子线路模拟。
-
问:使用 QComputeSDK 可以做什么?它有哪些应用场景?
答:QComputeSDK 是一个基于 Python 的量子计算开发框架,可以用于构建、运行和优化量子算法。我们在 QComputeSDK 建设了全面且完善的基础设施用于支持各类量子算法的实现,因此在量子应用的研发上它具有广泛的应用场景。具体工作可以参考但不限于 QComputeSDK 中的扩展功能。
-
问:想用 QComputeSDK 做量子编程,但对量子计算不是很了解,该如何入门?
答:Nielsen 和 Chuang 所著的《量子计算与量子信息》是量子计算领域公认的经典入门教材。建议读者首先学习这本书的第一、二、四章,介绍了量子计算中的基本概念、数学和物理基础、以及量子电路模型。读者也可以在量易简上学习,这是一个在线量子学习知识库,不仅包含量子计算教程,还有丰富的视频课程。读者还可以下载量易伏APP,APP上的量子小调包含丰富有趣的量子样例,帮助读者随时随地的学习。
-
问:QComputeSDK 是否免费?
答:QComputeSDK 是免费的。QComputeSDK 是开源 SDK 并携带多类本地模拟器,用户执行本地模拟任务是免费的。当用户通过 QComputeSDK 将任务提交给云端模拟器或真机运行时,会扣除一定点数。详细的扣点规则可以参考用户指南。用户在创建账户时我们会赠送点数,点数余额可以在个人中心查看。
-
问:点数不足怎么办?
答:点数目前仅用于资源控制。点数不足时可以从量易伏官网的意见反馈或量易伏APP的用户反馈提交点数申请。我们会在三个工作日内处理您的请求。
QComputeSDK 使用 Apache-2.0 license 许可证。
- 刘树森
- 贺旸
- 江云帆
- 张文学
- 孙文赟
- 付永凡
- 陈建萧
- 沈豪杰
- 吕申进
- 王友琪