MindQuantum是基于昇思MindSpore开源深度学习平台开发的新一代通用量子计算框架,聚焦于NISQ阶段的算法实现与落地。结合HiQ高性能量子计算模拟器和昇思MindSpore并行自动微分能力,MindQuantum有着极简的开发模式和极致的性能体验,能够高效处理量子机器学习、量子化学模拟和量子组合优化等问题,为广大科研人员、老师和学生提供快速设计和验证量子算法的高效平台,让量子计算触手可及。
通过如下示例可便捷搭建参数化量子线路
from mindquantum import *
import numpy as np
encoder = Circuit().h(0).rx({'a0': 2}, 0).ry('a1', 1)
print(encoder)
print(encoder.get_qs(pr={'a0': np.pi / 2, 'a1': np.pi / 2}, ket=True))
你将得到
┏━━━┓ ┏━━━━━━━━━━┓
q0: ──┨ H ┠─┨ RX(2*a0) ┠───
┗━━━┛ ┗━━━━━━━━━━┛
┏━━━━━━━━┓
q1: ──┨ RY(a1) ┠───────────
┗━━━━━━━━┛
-1/2j¦00⟩
-1/2j¦01⟩
-1/2j¦10⟩
-1/2j¦11⟩
在jupyter notebook中,也可通过线路的svg()
接口来以svg格式绘制量子线路图(更有dark
和light
模式可选)
circuit = (qft(range(3)) + BarrierGate(True)).measure_all()
circuit.svg() # circuit.svg('light')
ansatz = CPN(encoder.hermitian(), {'a0': 'b0', 'a1': 'b1'})
sim = Simulator('mqvector', 2)
ham = Hamiltonian(-QubitOperator('Z0 Z1'))
grad_ops = sim.get_expectation_with_grad(
ham,
encoder.as_encoder() + ansatz.as_ansatz(),
)
import mindspore as ms
ms.set_context(mode=ms.PYNATIVE_MODE, device_target='CPU')
net = MQLayer(grad_ops)
encoder_data = ms.Tensor(np.array([[np.pi / 2, np.pi / 2]]))
opti = ms.nn.Adam(net.trainable_params(), learning_rate=0.1)
train_net = ms.nn.TrainOneStepCell(net, opti)
for i in range(100):
train_net(encoder_data)
print(dict(zip(ansatz.params_name, net.trainable_params()[0].asnumpy())))
训练得到参数为
{'b1': 1.5720831, 'b0': 0.006396801}
初级使用教程
中级使用教程
高级使用教程
通用量子算法
近期量子算法
对于上述示例所涉及API和其他更多用法,请查看MindQuantum API文档文档链接
请根据MindSpore官网安装指南,安装1.4.0及以上版本的MindSpore。
pip install mindquantum
从代码仓下载源码
cd ~
git clone https://gitee.com/mindspore/mindquantum.git
编译MindQuantum
Linux系统下请确保安装好CMake >= 3.18.3,然后运行如下命令:
cd ~/mindquantum
bash build.sh --gitee
这里 --gitee
让脚本从gitee代码托管平台下载第三方依赖。如果需要编译GPU版本,请先安装好 CUDA 11.x,和对应的显卡驱动,然后执行如下编译指令:
cd ~/mindquantum
bash build.sh --gitee --gpu
Windows系统下请确保安装好MinGW-W64和CMake >= 3.18.3,然后运行如下命令:
cd ~/mindquantum
./build.bat /Gitee
Mac系统下请确保安装好openmp和CMake >= 3.18.3,然后运行如下命令:
cd ~/mindquantum
bash build.sh --gitee
安装编译好的whl包
进入output目录,通过pip
命令安装编译好的mindquantum的whl包。
执行如下命令,如果没有报错No module named 'mindquantum'
,则说明安装成功。
python -c 'import mindquantum'
通过Docker也可以在Mac系统或者Windows系统中使用Mindquantum。具体参考Docker安装指南.
运行代码前请设置量子模拟器运行时并行内核数,例如设置并行内核数为4,可运行如下代码:
export OMP_NUM_THREADS=4
对于大型服务器,请根据模型规模合理设置并行内核数以达到最优效果。
更多注意事项请查看FAQ页面。
如果你想构建用于分发的二进制whl包,请参考二进制whl包构建指南
关于如何快速搭建参数化量子线路和量子神经网络,并进行训练,请点击查看MindQuantum使用教程
有关安装指南、教程和API的更多详细信息,请参阅用户文档。
查看MindSpore如何进行开放治理。
欢迎参与贡献。更多详情,请参阅我们的贡献者Wiki。
欢迎查阅MindQuantum白皮书。当您用MindQuantum进行科学研究时,请引用:
@misc{xu2024mindspore,
title={MindSpore Quantum: A User-Friendly, High-Performance, and AI-Compatible Quantum Computing Framework},
author={Xusheng Xu and Jiangyu Cui and Zidong Cui and Runhong He and Qingyu Li and Xiaowei Li and Yanling Lin and Jiale Liu and Wuxin Liu and Jiale Lu and others},
year={2024},
eprint={2406.17248},
archivePrefix={arXiv},
primaryClass={quant-ph},
url={https://arxiv.org/abs/2406.17248},
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型