一个用于分析量子稳定器电路的快速库。
项目描述
Stim
Stim是一个量子稳定器电路的快速模拟器。
API参考可在stim的GitHub wiki上找到:https://github.com/quantumlib/stim/wiki
Stim可以使用pip安装到Python 3环境中
pip install stim
安装Stim后,您可以使用 import stim
并使用它。有三个支持的用例
- 使用
stim.TableauSimulator
进行交互式模拟。 - 使用从
stim.Circuit
编译的采样器进行高速采样。 - 使用
stim.Tableau
和stim.PauliString
进行独立探索。
交互式模拟
使用 stim.TableauSimulator
模拟单个操作并检查结果
import stim
s = stim.TableauSimulator()
# Create a GHZ state.
s.h(0)
s.cnot(0, 1)
s.cnot(0, 2)
# Look at the simulator state re-inverted to be forwards:
t = s.current_inverse_tableau()
print(t**-1)
# prints:
# +-xz-xz-xz-
# | ++ ++ ++
# | ZX _Z _Z
# | _X XZ __
# | _X __ XZ
# Measure the GHZ state.
print(s.measure_many(0, 1, 2))
# prints one of:
# [True, True, True]
# or:
# [False, False, False]
高速采样
通过创建一个 stim.Circuit
并将其编译为采样器,可以非常快速地生成样本
import stim
# Create a circuit that measures a large GHZ state.
c = stim.Circuit()
c.append("H", [0])
for k in range(1, 30):
c.append("CNOT", [0, k])
c.append("M", range(30))
# Compile the circuit into a high performance sampler.
sampler = c.compile_sampler()
# Collect a batch of samples.
# Note: the ideal batch size, in terms of speed per sample, is roughly 1024.
# Smaller batches are slower because they are not sufficiently vectorized.
# Bigger batches are slower because they use more memory.
batch = sampler.sample(1024)
print(type(batch)) # numpy.ndarray
print(batch.dtype) # numpy.uint8
print(batch.shape) # (1024, 30)
print(batch)
# Prints something like:
# [[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# ...
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
# [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
# [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]]
这同样适用于包含噪声的电路
import stim
import numpy as np
c = stim.Circuit("""
X_ERROR(0.1) 0
Y_ERROR(0.2) 1
Z_ERROR(0.3) 2
DEPOLARIZE1(0.4) 3
DEPOLARIZE2(0.5) 4 5
M 0 1 2 3 4 5
""")
batch = c.compile_sampler().sample(2**20)
print(np.mean(batch, axis=0).round(3))
# Prints something like:
# [0.1 0.2 0. 0.267 0.267 0.266]
您还可以使用 stim.Circuit.compile_detector_sampler
采样注解检测事件。
有关可以在stim.Circuit
中出现的门列表,请参阅GitHub上的最新README。
独立探索
Stim提供数据类型stim.PauliString
和stim.Tableau
,支持多种快速操作。
import stim
xx = stim.PauliString("XX")
yy = stim.PauliString("YY")
assert xx * yy == -stim.PauliString("ZZ")
s = stim.Tableau.from_named_gate("S")
print(repr(s))
# prints:
# stim.Tableau.from_conjugated_generators(
# xs=[
# stim.PauliString("+Y"),
# ],
# zs=[
# stim.PauliString("+Z"),
# ],
# )
s_dag = stim.Tableau.from_named_gate("S_DAG")
assert s**-1 == s_dag
assert s**1000000003 == s_dag
cnot = stim.Tableau.from_named_gate("CNOT")
cz = stim.Tableau.from_named_gate("CZ")
h = stim.Tableau.from_named_gate("H")
t = stim.Tableau(5)
t.append(cnot, [1, 4])
t.append(h, [4])
t.append(cz, [1, 4])
t.prepend(h, [4])
assert t == stim.Tableau(5)
项目详情
下载文件
下载您平台对应的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。
源分发
stim-1.14.0.tar.gz (814.0 kB 查看哈希值)
构建分发
stim-1.14.0-cp39-cp39-win_amd64.whl (2.6 MB 查看哈希值)
stim-1.14.0-cp38-cp38-win_amd64.whl (2.5 MB 查看哈希值)
stim-1.14.0-cp37-cp37m-win32.whl (2.2 MB 查看哈希值)
stim-1.14.0-cp36-cp36m-win32.whl (2.2 MB 查看哈希值)
关闭
stim-1.14.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a0bbac90e81a50084ec104a04f6075956a266083370dd9e73210aabf770b469d |
|
MD5 | 054f61fa5968fa1a40f1a1cd195d4102 |
|
BLAKE2b-256 | fa5bc61d6fe29a2f3a57d50b61fabcb82e572390a6340a04567751d469344b74 |
关闭
stim-1.14.0-cp312-cp312-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 39425614ad476b0f8ddf75413a0710de00d1970c2a5b90ec417e221a1412d42c |
|
MD5 | d2aeab6af017044031cc993d9ba81191 |
|
BLAKE2b-256 | 0654aa1269cab0e342de31f3122dd0c8e06be4624c1ca65bfdd09ee2ac4efb16 |
关闭
哈希值 用于 stim-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5ff7f6fee2bd6e1bc718b4e57205d6d3fc6d3c292c3eafd22fdb7a8d7b010a1b |
|
MD5 | d4861e049a741ef55db69ca318111fcd |
|
BLAKE2b-256 | 1971de7c2a9e6cfe0ea078cdea34cb9d39a6898964880212254f47834e629779 |
关闭
哈希值 用于 stim-1.14.0-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a86f9ccf0be4e4cab6ba246c320aec5ade9aab5c586d8afa353440b7e6372b8 |
|
MD5 | 37ecc90a1c858f1a9d4d43219f67297c |
|
BLAKE2b-256 | 022f15d0ccba620aefdeb1c064f97eca04d57525611d7bc06e7934e96f02e8ec |
关闭
哈希值 用于 stim-1.14.0-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 383464d27a7f2a692fe4877607e9f894f6edaf3e7b5ed2d55d3872794e0cfd0b |
|
MD5 | d7551164d9d8fa1867e01ba15def48c8 |
|
BLAKE2b-256 | 131b9cc8cf338235a7585a11aae5d6c237bea2bbd6191063d08790bf402e5c33 |
关闭
哈希值 用于 stim-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb34d8ac0d13b604af70de0a6a58191045b4f3d09fc1ffedd91683315d1c99a6 |
|
MD5 | 6b4986e98f569c1092795f1a2729c136 |
|
BLAKE2b-256 | 30351fb567928b10a37d541bc809ac0883fdcd9f89b00b50ecf1e1761596a481 |
关闭
哈希值 用于 stim-1.14.0-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0716c47bf5090db014373b44f471467f88b1a019698741bee189afdcb0dd3f19 |
|
MD5 | 1cca2e614e5cbb75974b0eb652ecbefd |
|
BLAKE2b-256 | 1195497325c2bf8f83782d1c5217e58cd736e67545cdadf9f909b120089a5e64 |
关闭
哈希值 用于 stim-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ea0f96c63a2d278b5eeb87ea1faea23ef5be9a7ae3bb16fcfa67cd00792471bc |
|
MD5 | 8c9e072b69e0d5c54b5a5d5b07908f3c |
|
BLAKE2b-256 | 9685c928e75b52ce91d74c409c1cf2537c8b6e91176567ae4d5283b94e421951 |
关闭
哈希值 用于 stim-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3568b4d79e90287aeb12581cb9b7a854e223427a95d19ea838d918b5d40431ea |
|
MD5 | faa3ebf96bb6d42f4c4cc7b24b279ecf |
|
BLAKE2b-256 | c9057902e01f80a6ab6a6a318d3a2942f1c31fbac5225d3021f7953150f2f0ce |
关闭
哈希值 用于 stim-1.14.0-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 13b1814cef65f591238f84be62c64c7cdd2494998a92911812207a69e52cbed6 |
|
MD5 | b2f07d945b948116421e1b5c26d6b0a5 |
|
BLAKE2b-256 | 0db62a745f9bdfb6bdf8aa8a3314e2a621b7dd0d482f34bc639abee5bdd1e8f3 |
关闭
哈希值 用于 stim-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c01b47ddc708aadc36a8a4b2f4873c54836120565f24b6a6b92ad7c650b1df58 |
|
MD5 | f3589412e586fae1ecf964bce8812f0e |
|
BLAKE2b-256 | efdc90c512151ea0428f6e3e8435b964e8e09bcade78336737a4c25ae01dcdea |
关闭
哈希值 用于 stim-1.14.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5344d1abe2c9a7382942c634c8c8fd77023ef1b04378c8db400bf3c02c010d10 |
|
MD5 | a550b2bf3b336cedf69124376be46e28 |
|
BLAKE2b-256 | c6a357cbc4b8e5c5b3c3361127d0ba1aa6df4a5af18cade80d82291dedd9fde5 |
关闭
哈希值 用于 stim-1.14.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 04587a59bb0d9b756d3cb9367f1ebe02fb30ea8b1330da7f4f99b71cd08e3f40 |
|
MD5 | 6b7cdcb42d1d38215c3e93cfdc278cfa |
|
BLAKE2b-256 | 8eefdbd6ae3b2bf414024f736da0f7cf115011437fc8c385e979496e1a845ba9 |
关闭
哈希值 用于 stim-1.14.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7b61e3cc13aa8f2bdedd0194c42414b56a8f024d06f2ef4d745b77f99109cdad |
|
MD5 | 07978b971ce057cf3056ab53e6395469 |
|
BLAKE2b-256 | f483760cfb1d93a7bbb7f9f77d9ab9e3c12de654dbb314f6c779dfbc8aca37c4 |
关闭
哈希值 用于 stim-1.14.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7855eca741b27d22d7964bf3bc7b509d381a329786f33f5f1b4656ac9968269f |
|
MD5 | 8c8d45f0d0cb73d8cc0fa2326ade4d0d |
|
BLAKE2b-256 | fd5b5d2b06b73823a30c4d6a985d3d4a70aadd381f9508639b8cd1133df71176 |
关闭
哈希值 用于 stim-1.14.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 422a7f12a203be20364fc88c0373a0e0a8b6141762d8cb1a997e01724d8a1cb6 |
|
MD5 | 2c5e43b5d2829189c5124fff64b89058 |
|
BLAKE2b-256 | bd46217d9d24563a266e464eeb44ab6e66aa661f5e1ca4437fc9f559c5d6e1e8 |
关闭
哈希值 用于 stim-1.14.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b44935d177a56c5fdebf3283088f1014a7271f15cfcf8cf21ccb50604abb95e7 |
|
MD5 | e3f3178793c05de7bd23930b20249a7d |
|
BLAKE2b-256 | 487388960bb9064ad000fc9338ba022cc67865d16e1a9e513cf9ce9261280af7 |
关闭
哈希值 用于 stim-1.14.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab583c0d935bae3dd9762c9eb92d634e1cd511fdc9b7f688158312bd24e8de1b |
|
MD5 | efa64009bc92cf1ad791fba794e4ff38 |
|
BLAKE2b-256 | b838fabf8bd067308c1caf038bdc7f3f5bc7980f0f22e7f10907eee27235871d |
关闭
哈希值 用于 stim-1.14.0-cp36-cp36m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 365a0a4afb0b52653d945daec918a53de63739960409b201c25878dce665b3ab |
|
MD5 | 7e2987938f10be2ed9f2771c911d4c13 |
|
BLAKE2b-256 | 7927394fd17a4c2d3112f50e34cd12d0771d5701b920884121a095626e5ffbb5 |