在线咨询 400-826-1668
回到顶部
ARTICLE DETAIL

资讯详情

深耕国风建站与运营引流的一线实战洞察。

Qutip求解Lindblad主方程

Qutip求解Lindblad主方程 文章目录Lindblad主方程简介qutip实现Lindblad主方程简介林德布拉德主方程(Lindblad Master Equation, LME)是开放量子系统动力学中最核心、最基础的方程。简单来说LME是描述存在环境噪声、能量耗散、退相干等问题的量子系统随时间演化的薛定谔方程。在理想的封闭系统中量子态的演化是幺正的可逆的由冯·诺依曼方程描述d ρ d t − i ℏ [ H , ρ ] \frac{\mathrm d\rho}{\mathrm dt}-\frac{i}{\hbar}\left[H, \rho\right]dtdρ​−ℏi​[H,ρ]但在真实的物理世界中系统不可避免地会与外部环境发生相互作用从而导致能量耗散、退相干等问题。这些过程是非幺正的不可逆的而LME在数学上严谨地描述了这种不可逆的耗散和退相干过程其标准形式如下d ρ d t − i ℏ [ H , ρ ] ∑ k γ k ( L k ρ L k † − 1 2 { L k † L k , ρ } ) \frac{\mathrm d\rho}{\mathrm dt}-\frac{i}{\hbar}\left[H, \rho\right]\sum_k\gamma_k\left( L_k\rho L_k^\dagger-\frac{1}{2}\left\{L_k^\dagger L_k, \rho\right\} \right)dtdρ​−ℏi​[H,ρ]k∑​γk​(Lk​ρLk†​−21​{Lk†​Lk​,ρ})该方程第一部分与封闭系统的冯·诺依曼方程完全一样H HH是系统的哈密顿量描述了系统内部在没有环境干扰时的自由演化。其第二部分就是LME的灵魂了描述是耗散演化过程其中L k L_kLk​为Lindblad算符描述环境对系统施加的具体“作用方式”。例如对于自发辐射L σ − L\sigma_-Lσ−​是降算符。γ k \gamma_kγk​是衰减率描述该过程发生的快慢γ k \gamma_kγk​越大则噪声越强。L k ρ L k † L_k\rho L_k^\daggerLk​ρLk†​为量子跳跃项代表系统由于环境发生的量子跳跃。{ ⋅ , ⋅ } \{\cdot,\cdot\}{⋅,⋅}是反对易子这一项的目的是保证概率守恒即Tr ⁡ ( ρ ) 1 \operatorname{Tr}(\rho)1Tr(ρ)1qutip实现qutip中实现了薛定谔方程和LME的求和算法。定义哈密顿量H 0.1 ⋅ 2 π σ z H0.1\cdot2\pi\sigma_zH0.1⋅2πσz​表示将自旋为1 2 \frac{1}{2}21​的粒子放进沿着X XX轴方向的恒定磁场中拉比频率为0.1。初始态ψ 0 \psi_0ψ0​处于二维空间的基态∣ 0 ⟩ |0\rangle∣0⟩。我们希望在演化过程中实时计算并记录σ z , σ z \sigma_z, \sigma_zσz​,σz​的值结果如下其作图为薛定谔方程求解结果右图为LME求解结果。在LME求解过程中将Lindblad算符设为0.05 σ x \sqrt{0.05}\sigma_x0.05​σx​代码如下。importqutipimportnumpyasnpimportmatplotlib.pyplotasplt plt.rcParams[font.sans-serif]Times New RomandefplotResult(ax,res):ax.plot(res.times,res.expect[0])ax.plot(res.times,res.expect[1])ax.set_xlabel(Time)ax.set_ylabel(Expectation values)ax.legend((Sigma-Z,Sigma-Y))ax.grid()H2*np.pi*0.1*qutip.sigmax()psi0qutip.basis(2,0)e_ops[qutip.sigmaz(),qutip.sigmay()]timesnp.linspace(0.0,10.0,100)resultqutip.sesolve(H,psi0,times,e_opse_ops)axplt.subplot(121)ax.set_title(sesolve results)plotResult(ax,result)resultqutip.mesolve(H,psi0,times,[np.sqrt(0.05)*qutip.sigmax()],e_opse_ops)axplt.subplot(122)ax.set_title(mesolve results)plotResult(ax,result)plt.show()
返回列表