Python Sympy:Exp(-i.H.t)
我试图计算辛相中的哈密顿时间演化 H是一个矩阵(哈密顿量)。例如:Python Sympy:Exp(-i.H.t),python,sympy,Python,Sympy,我试图计算辛相中的哈密顿时间演化 H是一个矩阵(哈密顿量)。例如:矩阵([[1,2],[2,2]] t是一个符号:t=symbol('t') 如何轻松计算A=exp(-I.H.t) 我尝试了很多东西,但都没有成功:计算特征值,特征向量…这就是你想要的吗 In [1]: M = Matrix([[1, 2], [2, 2]])
矩阵([[1,2],[2,2]]
t是一个符号:t=symbol('t')
如何轻松计算A=exp(-I.H.t)
我尝试了很多东西,但都没有成功:计算特征值,特征向量…这就是你想要的吗
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 ⎦
这是你想要的吗
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 ⎦
应该能够做到以下几点:
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
按预期返回一个复杂的symphy矩阵。应该能够执行以下操作:
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
按预期返回一个复杂的symphy矩阵