概述¶
简介¶
cuQuantum Python 旨在将 NVIDIA cuQuantum SDK 的全部功能引入 Python。为此,我们采用了两层方法
提供 cuQuantum 中相应 C API 的 1:1 Python 封装器,包括 cuStateVec、cuTensorNet 和 cuDensityMat。
提供高层、Pythonic 的 API,以便更轻松地与 Python 应用程序集成。Pythonic API 可以进一步分为两组不同的类别,分别侧重于不同的量子领域应用
基于精确张量网络收缩和近似张量网络 ansatz 的量子模拟。
基于量子多体算符和密度矩阵(或状态向量)形式的模拟量子动力学求解器。
在以下各节中,我们将介绍每个组件,并展示预期用法的示例。Python 示例代码(如下所示)可以在 NVIDIA/cuQuantum 存储库中找到。
兼容性策略¶
cuQuantum Python 与任何 Python 包没有什么不同,没有 Python 社区的依赖、协作和共同发展,我们将无法取得成功。考虑到这些因素,我们努力履行以下承诺
对于底层 Python 绑定,我们支持最新的 cuQuantum SDK。
对于高层 Pythonic API,我们尽可能保持 API 向后兼容。当必须进行重大更改时,我们会在 YY.MM 发行版本中发出运行时警告,并在发行说明中通知用户,并在下一个版本(YY.MM 之后)中进行破坏性更改。唯一的例外是实验性 API(例如,
cuquantum.cutensornet.experimental
模块和cuquantum.Network.gradients()
方法),所有 API 都可能在版本之间更改,恕不另行通知。我们遵守 NEP-29 并支持社区定义的一组核心依赖项(CPython、NumPy 等)。
引用 cuQuantum¶
Bayraktar 等人,“cuQuantum SDK:用于加速量子科学的高性能库”,2023 年 IEEE 国际量子计算与工程会议 (QCE),美国华盛顿州贝尔维尤,2023 年,第 1050-1061 页,doi:10.1109/QCE57702.2023.00119。