【发布时间】:2020-04-27 22:11:00
【问题描述】:
我正在尝试在 sympy 中计算哈密顿时间演化。
H 是一个矩阵(哈密顿矩阵)。例如:Matrix([[1, 2], [2, 2]]
t 是一个符号:t=Symbol('t')
如何轻松计算 A = exp (-i.H.t) ?
我尝试了很多事情但没有成功:计算特征值、特征向量...
【问题讨论】:
我正在尝试在 sympy 中计算哈密顿时间演化。
H 是一个矩阵(哈密顿矩阵)。例如:Matrix([[1, 2], [2, 2]]
t 是一个符号:t=Symbol('t')
如何轻松计算 A = exp (-i.H.t) ?
我尝试了很多事情但没有成功:计算特征值、特征向量...
【问题讨论】:
应该可以做这样的事情:
import sympy
t = sympy.symbols('t')
H = sympy.Matrix([[1, 2], [2, 2]])
A = sympy.exp(-sympy.I * H * t) # sympy.I is imaginary constant
A 按预期返回一个复杂的 sympy 矩阵。
【讨论】:
这是你想要的吗?
In [1]: M = Matrix([[1, 2], [2, 2]])
In [2]: (I*M*t).exp()
Out[2]:
⎡ 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t⎤
⎢ ───── + ─────── ───── + ─────── - ─────── + ───── - ─────── + ───── ───── + ─────── ───── + ─────── - ─────── + ───── - ─────── + ─────⎥
⎢ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ⎥
⎢ 4⋅√17⋅ℯ + 68⋅ℯ + 13⋅√17⋅ℯ + 85⋅ℯ 2⋅√17⋅ℯ + 18⋅ℯ - 18⋅ℯ - 2⋅√17⋅ℯ ⎥
⎢ ──────────────────────────────────────────────────────────────────────────────────────────────── ───────────────────────────────────────────────────────────────────────────────────────────────⎥
⎢ 17⋅√17 + 153 17 + 9⋅√17 ⎥
⎢ ⎥
⎢ ⎛ 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t⎞ 3⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t √17⋅ⅈ⋅t √17⋅ⅈ⋅t 3⋅ⅈ⋅t ⎥
⎢ ⎜ ───── + ─────── ───── + ─────── - ─────── + ───── - ─────── + ─────⎟ ───── + ─────── ───── + ─────── - ─────── + ───── ⎥
⎢ ⎜ 2 2 2 2 2 2 2 2 ⎟ 2 2 2 2 2 2 ⎥
⎢-⎝- 18⋅√17⋅ℯ - 34⋅ℯ + 34⋅ℯ + 18⋅√17⋅ℯ ⎠ √17⋅ℯ + 9⋅ℯ + 8⋅ℯ ⎥
⎢─────────────────────────────────────────────────────────────────────────────────────────────────────── ──────────────────────────────────────────────────────────────── ⎥
⎣ 17⋅√17 + 153 √17 + 17 ⎦
【讨论】: