跳转到主要内容

量子电路的Schrödinger和Schrödinger-Feynman模拟器。

项目描述

qsim和qsimh

量子电路模拟器qsim和qsimh。这些模拟器用于[1]中的交叉熵基准测试。

[1] F. Arute等人,"使用可编程的超导处理器实现量子优越性",Nature 574, 505, (2019)。

qsim

qsim是一个Schrödinger完整态矢量模拟器。它计算态矢量的所有2n个振幅,其中n是量子比特的数量。本质上,模拟器重复进行矩阵-向量乘法。一次矩阵-向量乘法对应于应用一个门。总运行时间与g2n成正比,其中g是2-量子比特门的数量。为了加快模拟器,我们使用了门融合[2] [3],单精度算术,AVX/FMA指令用于向量化以及OpenMP进行多线程。

[2] M. Smelyanskiy, N. P. Sawaya, A. Aspuru-Guzik, "qHiPSTER: The Quantum High Performance Software Testing Environment", arXiv:1601.07195 (2016)。

[3] T. Häner, D. S. Steiger, "45-Qubit 0.5 Petabyte量子电路模拟", arXiv:1704.01127 (2017)。

qsimh

qsimh是一种混合Schrödinger-Feynman模拟器[4]。晶格被分为两部分,使用Schmidt分解来分解切割处的2-量子比特门。如果每个门的Schmidt秩为m,切割处的门数为k,则存在mk条路径。为了模拟保真度为1的电路,需要模拟所有mk条路径并求和结果。总运行时间与(2n1 + 2n2)mk成正比,其中n1n2是第一部分和第二部分的量子比特数。路径模拟相互独立,可以轻松并行化以在超级计算机或数据中心上运行。注意,只需对全部路径中的分数F求和即可运行保真度F < 1的模拟。

使用两级检查点方案来提高性能。例如,切割处有k个门。我们将这些门分为三部分:p+r+s=k,其中p是“前缀”门的数量,r是“根”门的数量,是“后缀”门的数量。第一次检查点是在应用所有直到并包括前缀门之后执行的,第二次检查点是在应用所有直到并包括根门之后执行的。对根和后缀门的所有路径进行完全求和。

如果p>0,则此类模拟给出F ≈ m-p(对于所有具有相同Schmidt秩m的前缀门)。需要运行mp个具有不同前缀路径的模拟并求和结果以获得F = 1

[4] I. L. Markov, A. Fatima, S. V. Isakov, S. Boixo, "量子霸权看起来更近也更远",arXiv:1807.10749 (2018)。

C++使用

该代码基本上设计为库。用户可以修改apps中的示例应用程序以满足自己的需求。示例应用程序的使用说明在文档中。

输入格式

电路输入格式在文档中描述。

注意:此格式已过时,不再积极维护。

示例电路

circuits中提供了多个示例电路。

单元测试

C++库的单元测试使用Google test框架,位于tests。Python测试使用pytest,位于qsimcirq_tests

要构建和运行所有测试,请运行

make run-tests

这将编译所有测试二进制文件为具有.x扩展名的文件,并按顺序运行每个测试。如果测试失败,则测试将提前停止。它还将运行qsimcirq Python接口的测试。要仅运行C++或Python测试,请分别运行make run-cxx-testsmake run-py-tests

要从测试目录中删除生成的测试文件,请运行make clean

Cirq使用

Cirq是一个用于模拟和调用噪声中等规模量子(NISQ)电路的框架。

要开始使用qsim模拟Google Cirq电路,请参阅教程

有关qsim-Cirq API的更详细信息,请参阅文档

免责声明

这不是一个官方支持的产品。

如何引用qsim

Qsim 自动上传到 Zenodo。点击此徽章 DOI 以查看所有版本的引用格式。

以下是所有版本的等效 BibTex 格式引用。

@software{quantum_ai_team_and_collaborators_2020_4023103,
  author       = {Quantum AI team and collaborators},
  title        = {qsim},
  month        = Sep,
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.4023103},
  url          = {https://doi.org/10.5281/zenodo.4023103}
}

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅 生成分发存档的教程

构建分发

qsimcirq-0.21.0-cp312-cp312-win_amd64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

qsimcirq-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

qsimcirq-0.21.0-cp312-cp312-macosx_10_9_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

qsimcirq-0.21.0-cp311-cp311-win_amd64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

qsimcirq-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

qsimcirq-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.11 macOS 10.9+ x86-64

qsimcirq-0.21.0-cp310-cp310-win_amd64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

qsimcirq-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

qsimcirq-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.10 macOS 10.9+ x86-64

qsimcirq-0.21.0-cp39-cp39-win_amd64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

qsimcirq-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64

qsimcirq-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl (1.7 MB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

qsimcirq-0.21.0-cp38-cp38-win_amd64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

qsimcirq-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64

qsimcirq-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl (1.7 MB 查看哈希值)

上传时间: CPython 3.8 macOS 10.9+ x86-64

qsimcirq-0.21.0-cp37-cp37m-win_amd64.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.7m Windows x86-64

qsimcirq-0.21.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB 查看哈希值)

上传时间: CPython 3.7m manylinux: glibc 2.17+ x86-64

qsimcirq-0.21.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.6 MB 查看哈希值)

上传时间: CPython 3.7m macOS 10.9+ x86-64

支持