[ PROMPT_NODE_27226 ]
time_evolution
[ SKILL_DOCUMENTATION ]
# QuTiP 时间演化与动力学求解器
## 概述
QuTiP 提供了多种量子动力学求解器:
- `sesolve` - 薛定谔方程 (幺正演化)
- `mesolve` - 主方程 (带耗散的开放系统)
- `mcsolve` - 蒙特卡洛 (量子轨迹)
- `brmesolve` - Bloch-Redfield 主方程
- `fmmesolve` - Floquet-Markov 主方程
- `ssesolve/smesolve` - 随机薛定谔/主方程
## 薛定谔方程求解器 (sesolve)
用于幺正演化的封闭量子系统。
### 基本用法
python
from qutip import *
import numpy as np
# 系统设置
N = 10
psi0 = basis(N, 0) # 初始态
H = num(N) # 哈密顿量
# 时间点
tlist = np.linspace(0, 10, 100)
# 求解
result = sesolve(H, psi0, tlist)
# 访问结果
states = result.states # 每个时间点的态列表
final_state = result.states[-1]
### 计算期望值
python
# 用于计算期望值的算符
e_ops = [num(N), destroy(N), create(N)]
result = sesolve(H, psi0, tlist, e_ops=e_ops)
# 访问期望值
n_t = result.expect[0] # ⟨n⟩(t)
a_t = result.expect[1] # ⟨a⟩(t)
### 含时哈密顿量
python
# 方法 1: 字符串形式 (更快,需要 Cython)
H = [num(N), [destroy(N) + create(N), 'cos(w*t)']]
args = {'w': 1.0}
result = sesolve(H, psi0, tlist, args=args)
# 方法 2: 函数形式
def drive(t, args):
return np.exp(-t/args['tau']) * np.sin(args['w'] * t)
H = [num(N), [destroy(N) + create(N), drive]]
args = {'w': 1.0, 'tau': 5.0}
result = sesolve(H, psi0, tlist, args=args)
# 方法 3: QobjEvo (最灵活)
from qutip import QobjEvo
H_td = QobjEvo([num(N), [destroy(N) + create(N), drive]], args=args)
result = sesolve(H_td, psi0, tlist)
## 主方程求解器 (mesolve)
用于具有耗散和退相干的开放量子系统。
### 基本用法
python
# 系统哈密顿量
H = num(N)
# 塌缩算符 (Lindblad 算符)
kappa = 0.1 # 衰减率
c_ops = [np.sqrt(kappa) * destroy(N)]
# 初始态
psi0 = coherent(N, 2.0)
# 求解
result = mesolve(H, psi0, tlist, c_ops, e_ops=[num(N)])
# 结果为密度矩阵演化
rho_t = result.states # 密度矩阵列表
n_t = result.expect[0] # ⟨n⟩(t)
### 多耗散通道
python
# 光子损耗
kappa = 0.1
# 去相位
gamma = 0.05
# 热激发
nth = 0.5 # 热光子数
c_ops = [
np.sqrt(kappa * (1 + nth)) * destroy(N), # 热衰减
np.sqrt(kappa * nth) *