QuantumSim 的 DQCsim 后端。
项目描述
QuantumSim 的 DQCsim 后端包装器
另请参阅:DQCsim和 QuantumSim。
这个存储库包含一些将 DQCsim 连接到 QuantumSim 0.2.0 的胶水代码。
地位
大致支持以下内容,但未测试正确性或由知道他们在量子力学方面做什么的人审查:
- 量子位振幅阻尼和相位阻尼可以在 DQCsim 周期中基于每个量子位使用 t1/t2 时间进行建模和配置。
- 测量支持随机折叠状态(默认)、选择最可能的结果或折叠到预定状态。以任何一种方式报告概率。
- 应该支持所有一个和两个量子比特门。
不支持/限制:
- 基于门的错误建模。
- 具有两个以上量子位的多量子位门(缺少对此的 QuantumSim API 调用)。
- 影响多个量子位的测量门仍然一次崩溃一个状态;目前不可能获得一次折叠多个状态的完整概率矩阵,并且
probable
测量方法也在每个量子比特的基础上运行。
安装
您可以使用pip
usingpip install dqcsim-quantumsim
或等效工具进行安装。如果您使用 安装,请--user
确保 Python 安装可执行文件的路径在您的系统路径中,否则 DQCsim 将无法找到该插件。查看文件安装位置的一种简单方法是运行pip uninstall dqcsim-quantumsim
;它会在查询确认之前显示将要删除的文件。
从源代码构建/安装
-
在本地“构建”wheel 文件(这是必要的,因为 DQCsim 识别插件需要可执行的 shell 脚本):
python3 setup.py bdist_wheel
-
安装刚刚构建的 wheel 文件:(
pip install target/python/dist/*
或等效的)
将生成的轮子释放到 PyPI 应该是安全的。在这样做之前,请确保在setup.py
和
中增加版本号dqcsim_quantumsim/backend.py
。
用法
安装插件后,您可以通过quantumsim
在 DQCsim 命令中选择后端来使用它。
可以使用 init arb(为所有 qubits 设置默认值)或在分配 qubit 时使用 arb 来配置 qubits 的 t1/t2 时间。接口/操作对是quantumsim.error
。套利应该有一个 JSON 对象附加到它的形式{"t1": <float>, "t2": <float>}
。
为了控制测量量子位时叠加的折叠方式,请将表单的 JSON 对象附加{"method": ...}
到它,其中方法可能是以下之一:
"random"
:根据状态向量中的概率随机折叠状态。"probable"
: 崩溃到最可能的结果。- 整数:整数被解码为二进制表示,测量操作中的第一个量子位映射到最低有效位。国家总是崩溃到这个结果。
- 列表:当一次测量多个量子位时,以每个量子位为基础控制方法。该列表的长度必须与量子比特数相同。它可能是字符串方法之一,整数 0 或整数 1。
如果崩溃到预定状态的概率为 0,则模拟崩溃。所选测量结果的概率通过表单的 ArbData 中的 JSON 对象
{"probability": <float>}
以及通过 ArbData 的第一个二进制字符串作为 C 双精度值与测量结果一起存储。
执照
许可证是 GPL,因为 QuantumSim 的许可证是 GPL。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
内置分布
dqcsim_quantumsim -0.0.5-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d844f864a8a1ce4b7bfaae88914f633579db912711cdcb9401284b135c0ff6d |
|
MD5 | 02b66f334278815ab2f4b50cfda2237b |
|
布莱克2-256 | 1edfe07dc2905cb7575f26a5ef8b2b291fbb8af976b0436c32b7c24b5c11b810 |