前言
关于本文档
本文档包含QuTiP的用户指南和自动生成的API文档。本文档的PDF版本可在文档页面获取。
更多信息请参见 QuTiP 项目网页.
- Author:
J.R. 约翰逊
- Author:
P.D. Nation
- Author:
亚历山大·皮奇福德
- Author:
阿尔内·格里姆斯莫
- Author:
克里斯·格伦纳德
- Author:
内森·沙马
- Author:
沙赫纳瓦兹·艾哈迈德
- Author:
尼尔·兰伯特
- Author:
埃里克·吉格尔
- Author:
Boxi Li
- Author:
杰克·利什曼
- Author:
西蒙·克罗斯
- Author:
阿西尔·加利西亚
- Author:
保罗·门切尔
- Author:
帕特里克·霍普夫
- release:
5.1.0
- copyright:
本文档的文本内容遵循知识共享署名 3.0 未移植许可协议授权。 所有包含的代码示例以及QuTiP的源代码均遵循3条款BSD许可协议。 完整的版权声明详情可查阅本文档的版权与许可页面。
引用本项目
如果您发现这个项目有用,请引用:
J. R. Johansson, P.D. Nation, 和 F. Nori, “QuTiP 2: 一个用于开放量子系统动力学的Python框架”, 计算物理通讯 184, 1234 (2013).
或
J. R. Johansson, P.D. Nation, 和 F. Nori, “QuTiP: 一个用于开放量子系统动力学的开源Python框架”, 计算物理通讯 183, 1760 (2012).
也可以分别从https://arxiv.org/abs/1211.6518或https://arxiv.org/abs/1110.0573下载。
资金
QuTiP 是在非营利组织的支持下开发的:
QuTiP 得到了部分支持
关于QuTiP
在现实世界中遇到的每一个量子系统都是一个开放的量子系统。因为尽管在实验中采取了大量措施来消除外部相互作用的不必要影响,但系统与外部世界之间仍然存在,即使非常微弱的耦合。此外,对系统进行的任何测量都必然涉及与测量设备的耦合,因此引入了额外的外部影响源。因此,开发必要的工具,包括理论和数值工具,以解释系统与其环境之间的相互作用,是理解实际量子系统动力学的重要步骤。
一般来说,除了最基本的哈密顿量之外,系统的动力学分析描述是不可能的,必须依赖于运动方程的数值模拟。在没有量子计算机的情况下,这些模拟必须使用经典计算技术进行,其中基础希尔伯特空间的维度呈指数增长,严重限制了可以有效模拟的系统大小。然而,在许多领域,如量子光学、囚禁离子、超导电路设备以及最近的纳米机械系统,可以使用少量的有效振荡器和自旋组件设计系统,这些组件由有限数量的量子激发,可以在截断的希尔伯特空间中进行经典模拟。
Python中的量子工具箱,即QuTiP,是一个用Python编程语言编写的开源框架,旨在模拟上述系统的开放量子动力学。该框架通过提供以下优势,使其与其他可用软件解决方案区分开来:
QuTiP完全依赖于开源软件。您可以自由修改和使用它,无需支付许可费用或受到任何限制。
QuTiP 基于 Python 脚本语言,提供易于阅读、快速的代码生成,无需在修改后进行编译。
QuTiP 的数值计算基于经过时间考验的算法,这些算法以 C 代码速度运行,这得益于 Numpy、Scipy 和 Cython 库,并且基于许多与专有软件相同的算法。
QuTiP 允许解决具有(几乎)任意时间依赖性的哈密顿量的动力学问题,包括崩溃算子。
时间依赖问题可以在运行时自动编译成C++代码以提高性能。
利用几乎所有现代计算机中存在的多处理核心。
QuTiP从一开始就设计为对那些有使用Sze M. Tan开发的流行量子光学工具箱经验的用户来说,学习曲线最小。
包括使用优秀的Matplotlib包创建高质量图表和动画的能力。
有关QuTiP每个版本新功能的详细信息,请参阅变更日志。
QuTiP 插件
多个库严重依赖QuTiP,使QuTiP成为一个超级库
使用QuTiP的库
多个库依赖QuTiP进行量子物理或量子信息处理。其中一些包括:
- Krotov:
Krotov 专注于Krotov方法的Python实现,用于量子最优控制
- pyEPR:
pyEPR 通过提供易于使用的分析功能和自动化工具,将经典的分布式微波分析与量子结构和哈密顿量相结合,用于量子芯片的设计。
- scQubits:
scQubits 是一个Python库,它通过提供与QuTiP的接口,为模拟超导量子比特提供了一种便捷的方式。
- SimulaQron:
SimulaQron 是一个量子互联网终端节点的分布式模拟,其特定目标是探索应用开发
- QInfer:
QInfer 是一个用于量子信息中参数估计的序列蒙特卡罗方法的库
- QPtomographer:
QPtomographer 根据参考量子通道的钻石范数推导量子过程的量子误差条
- QuNetSim:
QuNetSim 是一个量子网络模拟框架,用于开发和测试量子网络协议
- qupulse:
qupulse 是一个工具包,用于促进涉及物理量子比特的脉冲驱动状态操作的实验
- Pulser:
Pulser 是一个用于编写、模拟和执行中性原子量子设备脉冲序列的框架。
为QuTiP做贡献
我们欢迎任何有兴趣帮助我们使QuTiP成为模拟量子系统的最佳软件包的人。 在本指南的开发人员部分中,有详细的关于如何贡献代码和文档的说明。 您也可以通过回答QuTiP讨论邮件列表中的问题来帮助我们的用户,或者如果您发现任何错误,可以在主GitHub仓库中提出问题。 任何贡献代码的人都将得到适当的认可。 即使是小的贡献也会被记录。 请参阅贡献者以查看以各种方式提供帮助的人员列表。