置换不变性

置换不变量子求解器 (PIQS)

排列不变量子求解器(PIQS) 是一个 QuTiP 模块,用于研究由一组相同量子比特组成的开放量子系统的动力学,这些量子比特可以通过局部和集体浴根据 Lindblad 主方程耗散。

\(N\)个量子比特或两级系统(TLSs)组成的集合的Liouvillian,\(\mathcal{D}_{TLS}(\rho)\),可以仅使用多项式资源而不是指数资源来构建。这在研究许多TLS的现实量子光学模型以及作为腔QED中的工具方面有许多应用。

考虑一个根据方程演化的系统

\[ \begin{align}\begin{aligned}\dot{\rho} = \mathcal{D}_\text{TLS}(\rho)=-\frac{i}{\hbar}\lbrack H,\rho \rbrack +\frac{\gamma_\text{CE}}{2}\mathcal{L}_{J_{-}}[\rho] +\frac{\gamma_\text{CD}}{2}\mathcal{L}_{J_{z}}[\rho] +\frac{\gamma_\text{CP}}{2}\mathcal{L}_{J_{+}}[\rho]\\+\sum_{n=1}^{N}\left( \frac{\gamma_\text{E}}{2}\mathcal{L}_{J_{-,n}}[\rho] +\frac{\gamma_\text{D}}{2}\mathcal{L}_{J_{z,n}}[\rho] +\frac{\gamma_\text{P}}{2}\mathcal{L}_{J_{+,n}}[\rho]\right)\end{aligned}\end{align} \]

其中 \(J_{\alpha,n}=\frac{1}{2}\sigma_{\alpha,n}\) 是 SU(2) 泡利自旋算符,其中 \({\alpha=x,y,z}\)\(J_{\pm,n}=\sigma_{\pm,n}\)。集体自旋算符为 \(J_{\alpha} = \sum_{n}J_{\alpha,n}\)。Lindblad 超算符为 \(\mathcal{L}_{A} = 2A\rho A^\dagger - A^\dagger A \rho - \rho A^\dagger A\)

在动力学中包含局部过程导致使用维度为\(4^N\)的Liouvillian空间。通过利用相同粒子的置换不变性[2-8],Liouvillian \(\mathcal{D}_\text{TLS}(\rho)\)可以在Dicke状态\(|j, m \rangle\)的基础上构建为块对角矩阵。

所研究的系统通过创建一个对象来定义,例如简单地命名为 system,其第一个属性是

  • system.N,系统中TLS的数量 \(N\)

集体和局部过程的速率简单地定义为

  • collective_emission 定义了 \(\gamma_\text{CE}\),集体(超辐射)发射

  • collective_dephasing 定义了 \(\gamma_\text{CD}\),集体失相

  • collective_pumping 定义了 \(\gamma_\text{CP}\),集体泵浦。

  • emission 定义了 \(\gamma_\text{E}\),非相干发射(损耗)

  • dephasing 定义了 \(\gamma_\text{D}\),局部退相干

  • pumping 定义了 \(\gamma_\text{P}\),非相干泵浦。

然后 system.lindbladian() 创建总的TLS Lindbladian超算符矩阵。同样地,system.hamiltonian 定义了系统的TLS哈密顿量 \(H_\text{TLS}\)

系统的Liouvillian可以使用system.liouvillian()构建。 通过简单地调用system,可以可视化Piqs对象的属性。 我们给出了两个关于使用PIQS的基本示例。 在第一个示例中,考虑了N个驱动TLS的非相干发射。

from qutip import piqs
N = 10
system = piqs.Dicke(N, emission = 1, pumping = 2)
L = system.liouvillian()
steady = steadystate(L)

更多使用示例,请参见网站教程部分中的“置换不变Lindblad动力学”部分,https://qutip.org/tutorials.html

Useful PIQS functions.

操作符

命令

描述

集体自旋代数 \(J_x,\ J_y,\ J_z\)

jspin(N)

用于 \(N\) 个TLS的集体自旋代数 \(J_x,\ J_y,\ J_z\)

集体自旋 \(J_x\)

jspin(N, "x")

集体自旋算子 \(Jx\)。需要 \(N\) 个TLS

集体自旋 \(J_y\)

jspin(N, "y")

集体自旋算子 \(J_y\)。需要 \(N\) 个TLS

集体自旋 \(J_z\)

jspin(N, "z")

集体自旋算子 \(J_z\)。需要 \(N\) 个TLS

集体自旋 \(J_+\)

jspin(N, "+")

集体自旋算子 \(J_+\).

集体自旋 \(J_-\)

jspin(N, "-")

集体自旋算子 \(J_-\)

集体自旋 \(J_z\) 在非耦合基中

jspin(N, "z", basis='uncoupled')

在维度为 \(2^N\) 的非耦合基中的集体自旋算子 \(J_z\)

Dicke 状态 \(|j,m\rangle\) 密度矩阵

dicke(N, j, m)

\(|j,m\rangle\) 给出的 Dicke 状态的密度矩阵

在Dicke基中的激发态密度矩阵

excited(N)

Dicke基中的激发态

非耦合基中的激发态密度矩阵

excited(N, basis="uncoupled")

非耦合基中的激发态

Dicke基中的基态密度矩阵

ground(N)

Dicke基中的基态

Dicke基中的GHZ态密度矩阵

ghz(N)

N个TLS的Dicke(默认)基中的GHZ态密度矩阵

集合的坍缩算子

Dicke.c_ops()

集合的坍缩算子可以通过Dicke类的c_ops方法调用。

请注意,在这里使用的Dicke基形式中,表示完整系统密度矩阵的数学对象(或从steadystate获得)是密度矩阵的代表。这个代表对象的线性大小为N^2,而完整的密度矩阵是在2^N的希尔伯特空间上定义的。为了计算这种密度矩阵的非线性函数,如冯·诺伊曼熵或纯度,必须考虑这种块对角密度矩阵的每个块的简并性。请注意,只要计算算符的期望值,即Tr[A*rho]是rho线性函数,代表密度矩阵就会直接给出正确的结果。当需要计算密度矩阵的非线性函数时,需要正确权衡每个简并块;这由piqs中的dicke_function_trace处理,用户可以使用它来定义可以描述为泰勒可展开函数迹的一般非线性函数。已经实现的两个使用dicke_function_trace的非线性函数是purity_dicke,用于计算Dicke基中密度矩阵的纯度,以及entropy_vn_dicke,可用于计算冯·诺伊曼熵。

更多与qutip.piqs模块相关的函数可以在API文档中找到。 piqs.Dickepiqs.Pim类的属性也可以在那里找到。