对有噪声的量子样本进行经典后处理,以提高能量估计的准确性
项目描述
Qiskit插件:基于样本的量子对角化(SQD)
目录
关于
Qiskit插件 是一组模块化工具,用于构建由Qiskit提供动力的实用规模工作负载。
本软件包包含Qiskit插件,用于基于样本的量子对角化(SQD)——一种利用量子计算和分布式经典计算来寻找量子算符(如量子系统哈密顿量)的特征值和特征向量的技术。
经典分布式计算用于处理量子处理器获得的样本,并在由这些样本张成的子空间中投影和对角化目标哈密顿量。这使得SQD对受到量子噪声损坏的样本具有鲁棒性,并能处理大型哈密顿量,例如包含数百万个交互项的化学哈密顿量,而任何精确对角化方法都无法实现。
SQD工具可以针对以泡利算符的线性组合或第二量子化费米子算符表示的哈密顿量。输入样本通过用户定义的量子电路获得,这些电路被认为是目标算符的本征态(例如基态)的良好表示。随着目标本征态稀疏性的提高,SQD作为样本数量的函数的收敛率得到改善。
投影和对角化步骤由经典求解器执行。我们提供了两个通用求解器,一个用于费米子系统,另一个用于量子比特系统。用户可以通过用户界面与可能对特定系统更有效的其他求解器进行接口。
文档
所有文档均可在https://qiskit.github.io/qiskit-addon-sqd/找到。
安装
如果可能的话,我们鼓励您通过pip
安装此软件包。
pip install 'qiskit-addon-sqd'
有关更多安装信息,请参阅这些安装说明。
计算需求
SQD的计算成本主要由本征态求解器调用决定。在自洽配置恢复迭代步骤的每一步中,执行n_batches
个本征态求解器调用。不同的调用是并行执行的。在这个教程中,这些调用在for
循环内。强烈建议并行执行这些调用。
qiskit_addon_sqd.fermion.solve_fermion()
函数是多线程的,能够处理具有~25个空间轨道和~10个电子的系统,子空间维度约为~$10^7$,使用~10-30个核心。
选择子空间维度
子空间维度的选择会影响本征态求解器的准确性和运行时间。子空间越大,计算越准确,但会增加运行时间和内存需求。给定系统的最佳子空间大小是未知的,因此可以按照本节中描述的示例执行子空间维度的收敛性研究。
子空间维度是间接设置的
在此软件包中,用户通过控制每个子空间中包含的比特字符串数量(见qiskit_addon_sqd.subsampling.postselect_and_subsample()
中的samples_per_batch
参数)来控制子空间维度。此参数的值在量子化学应用中设置了子空间维度的上限。请参阅此示例以获取更多详细信息。
弃用策略
我们遵循语义版本控制,并受Qiskit的弃用策略的指导原则。我们可能会偶尔进行破坏性更改以提高用户体验。在可能的情况下,我们将保留旧接口并将它们标记为已弃用,只要它们可以与新接口共存。每次重大改进、破坏性更改或弃用都将记录在发行说明中。
贡献
源代码可在GitHub上找到。
开发者指南位于此项目存储库根目录中的CONTRIBUTING.md。通过参与,您应遵守Qiskit的行为准则。
我们使用GitHub问题来跟踪请求和错误。
许可证
参考文献
[1] Javier Robledo-Moreno等人,《在量子中心超级计算机上超越精确解的化学》,arXiv:2405.05068 [quant-ph]。
[[2] Keita Kanno等人,《量子选择配置相互作用:量子计算机选择的子空间中的哈密顿量经典对角化》,arXiv:2302.11320 [quant-ph]。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
构建分布
qiskit_addon_sqd-0.6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 714e88849ffb937b94e4ec3adbeebd31047f5a3b216d3199a696494bc4b5e313 |
|
MD5 | 48d038708bf0e47fff1f66781920a343 |
|
BLAKE2b-256 | c4612a54092d5a7e11bff362f11e0feb88aa11c57196e15fdba6dfe208db6f5e |
qiskit_addon_sqd-0.6.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 41282101dcbe2ecef7be965371960ff72e3554617888abb88c22a2523fed69b3 |
|
MD5 | e7dd4102ddfc5719ded567202c1bb256 |
|
BLAKE2b-256 | 9c3545d131d7ab4f5c1df08767f0e5237cf124e8196b39b77b7c3c29048202e1 |