python - 我如何告诉 sympy i^2 = -1?
问题描述
我目前正在使用 sympy 来检查一些涉及二阶导数和复数的讨厌方程的代数。
import sympy
from sympy.abc import a, e, i, h, t, x, m, A
# define a wavefunction
Psi = A * sympy.exp(-a * ((m*x**2 /h)+i*t))
# take the first order time derivative
Psi_dt = sympy.diff(Psi, t)
# take the second order space derivative
Psi_d2x = sympy.diff(Psi, x, 2)
# write an expression for energy potential (rearrange Schrodingers Equation)
V = 1/Psi * (i*h*Psi_dt + (((h**2)/2*m) * Psi_d2x))
# symplify potential function
sympy.simplify(V)
这产生了这个好东西:
a*(-h*i**2 + m**2*(2*a*m*x**2 - h))
如果 sympy 将 i^2 简化为 -1,那就太好了。那么我如何告诉它i
代表 -1 的平方根呢?
在相关的说明中,告诉 sympy 是欧拉数也非常好e
,所以如果我打电话,sympy.diff(e**x, x)
我会得到e**x
输出。
解决方案
您需要使用 SymPy内置函数,而不是将这些符号视为自由变量。尤其是:
from sympy import I, E
I
是 sqrt(-1); E
是欧拉数。
然后complexes
根据需要使用这些方法来操作复数。
推荐阅读
- ruby - 我遇到了这个关于保管箱的代码
- python - 如何为模型十进制字段django指定最大值?
- tidyeval - 如何在函数中执行 fct_drop(使用 tidy eval)?
- ios - 将 Cocoapod 添加到 Cocoapod
- c# - 如何在新选项卡或窗口中打开 PDF 文件,而不是使用 C# 和 ASP.NET MVC 下载它?
- javascript - 使用 HTML/CSS/Javascript 创建带有数据侧视图的图像网格
- r - 如何在R中的csv文件中逐行循环
- android - Android Spinner 跳转到之前选择的位置
- amazon-web-services - 用于创建 s3 存储桶并在 s3 存储桶中添加上传文件的 AWS API
- selenium - selenium Sendkeys 不适用于 Jenkins