[英]Negative Index in sympy function cannot be displayed after sympify
我有一个项目,我需要在我的公式中显示负指数,我用运行前未知的输入生成,所以我必须在这些方程上调用 sympy.sympify() 。 但是,这破坏了它显示我的索引的方式。
不可能 sympify 像k_{-1}
之类的东西,但是在声明时:
kN1 = sympy.symbols("k_{-1}")
sympy.preview(kN1)
有没有办法在整个 sympify 方法中保留这个索引,或者在我使用 sympify 并完成所有计算之后,是否可以恢复这种显示它们的方式?
简而言之:我可以在调用后将负 integer 作为索引:
a = "kN1"
expr = sympy.sympify(a)
我正在使用 sympy 1.9 和 python 3.8
在 sympification 期间,解析器不够聪明,无法识别下划线或“^”之后大括号中的内容是子/上标。 因此,正如您发现的那样,您将无法成功地表现出这样的表达方式。 如果您使用常规符号名称,则可以在xreplace
打印时将它们替换为所需的名称:
...input and manipulation with kn1=Symbol('kn1') in expr
print(expr.xreplace({kn1:Symbol('k_{-1}')}))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.