量子电路的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成正比,其中n1和n2是第一部分和第二部分的量子比特数。路径模拟相互独立,可以轻松并行化以在超级计算机或数据中心上运行。注意,只需对全部路径中的分数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-tests
或make run-py-tests
。
要从测试目录中删除生成的测试文件,请运行make clean
。
Cirq使用
Cirq是一个用于模拟和调用噪声中等规模量子(NISQ)电路的框架。
要开始使用qsim模拟Google Cirq电路,请参阅教程。
有关qsim-Cirq API的更详细信息,请参阅文档。
免责声明
这不是一个官方支持的产品。
如何引用qsim
Qsim 自动上传到 Zenodo。点击此徽章 以查看所有版本的引用格式。
以下是所有版本的等效 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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d7b43c86a89c726d1d205ca833b3a98608236bfde7642f0d51648fc80d870055 |
|
MD5 | 13228375ee7ad421d9caf41be24b9889 |
|
BLAKE2b-256 | 9ebbda3beec25d7837ccba4c25ba91fbe0d6c32281252c451ad906d015eb6d20 |
qsimcirq-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3d9a977c58f5d8a928f746ad00f7d4b7986af38b3692bc360ba6a7a44045b18d |
|
MD5 | e5345ca8cea437048d933de4be8429a6 |
|
BLAKE2b-256 | 191b536fc375e3c387cceca3d5e2fb511dc8bb7644284179574551059de33803 |
qsimcirq-0.21.0-cp312-cp312-macosx_10_9_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 979f1cb1a712eafadc3269da8514e7688cf9a0013d8b9570795f6e5b73b4958a |
|
MD5 | 77b024bd5f3daa72cda3720873c7c968 |
|
BLAKE2b-256 | 7ebf62ccdb6c9981a4a2fc1763274a6cb90df100c659d5dbbae7bba2986a5fa8 |
qsimcirq-0.21.0-cp311-cp311-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2ee2e95897e5592582ebd2a600bc44d692dac3f058be745abb4e895466e38f5b |
|
MD5 | 9f313ca1f00257987beba41b539e4cbf |
|
BLAKE2b-256 | 8f2b17225e9a3d06733e10421e6bb47845031abc12ee77f0685620f11805fae0 |
qsimcirq-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 74727df453065bd44faeb748fb54c60a5d1e571e59a8c6e7d76033c2ccb69d91 |
|
MD5 | 9019fe861f5e2f48cccac4b1a15f784c |
|
BLAKE2b-256 | 1183dac291842f9834d7b13e4c5218f9ed1c26ede78d37b8e5ff06241a956f6a |
qsimcirq-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 27b2c9afcc3746ebb9e4a10043c46c16559f761f4a41b370ea70bb0954888f2b |
|
MD5 | 30b8f33c9edbabfd61e616c679d056e3 |
|
BLAKE2b-256 | e05671d87f211bc155e18d0a19da4741387a8046c6901ec55207021b247164d8 |
qsimcirq-0.21.0-cp310-cp310-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0146e1dd3b35422f0c7e61a75378a0a97c91e9df867769a352c6b60468743fa0 |
|
MD5 | f699b6bc404120c77b385a2134713586 |
|
BLAKE2b-256 | e23993acab31e71454eafcab804993ffa58f624731fb81ff2e715ba49b14685b |
qsimcirq-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f8b921ec75b00cd9e1cda733bdf077de88899bacec46735554a4f8178775e9b |
|
MD5 | e085d1a5249bf9faebd65565ee690113 |
|
BLAKE2b-256 | e7cd09ba01467549d03adc82f00e95f7833ea5c0df3eb784f54627698977cd30 |
哈希值 for qsimcirq-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7551576e7e9a2a5ed59d4a171b27aafef286f019d1863ebc18398f7f60132633 |
|
MD5 | fedfd2d17eb8285f3f603cace8158c23 |
|
BLAKE2b-256 | 54fed81714ccdc745420843ad5312debcb2321583819e9e2b0ef7846c6546f23 |
哈希值 for qsimcirq-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3657e6f1e949be683fdf597b8d6e15c166be39f54d260e65c25a8b82da2cb11b |
|
MD5 | 8d8e782403a22d043d27586fea080b39 |
|
BLAKE2b-256 | 2940f0fedade176abeb2b3006ce96cbe8f18a5f6470040e17abee7c9f3265778 |
哈希值 for qsimcirq-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e894673090cf17e46cd27561b2cce921a81b769f88a3d028c4834cede7d0ea8 |
|
MD5 | bc658598838dff05dba7607eac5dc00b |
|
BLAKE2b-256 | e576dc055df3a13846744632d875fb107d34dcd3ef2b59bc5dd6962f0090ea97 |
哈希值 for qsimcirq-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | de72798003fa1b81ad93be04f5e03526c162770379dc6d8e5ef331a6b503ee72 |
|
MD5 | 0e7a345f9e463d2e004f2089f4e27df1 |
|
BLAKE2b-256 | 48adb257981fe94f3c0c7f728c70d1cb901304de6323259c31979a8145e695a9 |
哈希值 for qsimcirq-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 26cb53d36a9c062500cab7b1f61e6de0b9493195ab36dbffc1a1400b6d0e9338 |
|
MD5 | e1efa06af5bb47c62e7f11a94ec16774 |
|
BLAKE2b-256 | e90d8683da74b2e2cfbb4e0469e58bc363dd2024d93173a6ae31967d4d02c294 |
哈希值 for qsimcirq-0.21.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 01c7a0486922600f7b715724df255796cd9742417ef04aa0141bf2e3df53cafe |
|
MD5 | e5b54ec34c5134827066bbb5662116e2 |
|
BLAKE2b-256 | 6c779072fb746935b71612deae9dc9d4d0890a5087648569884e2f5e59f5a9e9 |
哈希值 for qsimcirq-0.21.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b2ea297a41b49c2ee20a4809e300b96d23ed4741b4e72939fce675034bb8c35a |
|
MD5 | e4395ba66117736254de869c80109762 |
|
BLAKE2b-256 | 933eb22cc92ba637146e1b932efd42b44516f6d919158a618344e45056a20482 |