【发布时间】:2016-11-19 17:32:28
【问题描述】:
我正在尝试在 SymPy 中进行一些符号计算,但我无法使用乳胶打印并获得我想要的图形输出。这一直困扰着我,并且花了几个小时(可能是几天)试图改进一种自定义对象打印方式的方法(在 LaTeX 中,在 pprint 表示中它有很好的文档记录)。
但是,在这种情况下,我试图对取决于 x、y、z 的未定义函数 psi 进行符号计算。然而,这些计算意味着具有 psi* \vec r 的三倍旋度的项。
我有以下代码
init_printing(use_latex=True)
R = ReferenceFrame(r"E", variables=["x", "y", "z"])
psi = Function(r"\psi")(R[0], R[1], R[2])
rpsi = (R[0]*R.x + R[1]*R.y + R[2]*R.z)*psi
如果您不熟悉,R[i] 是第 i 个变量(x、y 或 z),R.x、R.y 和 R.z 是酉笛卡尔向量,已实例化在对 ReferenceFrame 的调用中(来自 sympy.physics 的函数)。
例如,当我尝试查看curl(curl(rpsi, R), R) 时,输出中充满了“\psi(x, y, z)”(在乳胶中编译并显示为图像),以至于难以理解表达式。
有没有办法自定义被编译的乳胶字符串(这将适用于我正在做的其他计算)。如果这不可能,如何解决这个特定问题(即每次打印函数时都显示自变量)。
我正在使用带有 qtconsole 的 jupyter。
干杯,
【问题讨论】: