从字面上呈现一个表达式,没有简化

时间:2015-12-18 12:10:23

标签: python math latex ipython sympy

我想知道我怎么能让表达能够表达,使得表达式按字面意思呈现并且不会发生任何伪造(在sqrt下4)

from sympy import init_session
init_session(quiet=true)
from sympy.interactive import printing
printing.init_printing(use_latex=True)
a=sqrt(4*A**2*Z**2)
a

给出

2 * sqrt(a**2*Z**2)

我宁愿把它写成最初写的(在教育文本的过程中)。那么如何防止同情者进行任何简化或解决?

2 个答案:

答案 0 :(得分:2)

使用“evaluate(False)”块来停止简化/评估规则:

(我正在使用Python 3.4,同情0.7)

with evaluate(False):
    print(sqrt(4*x))

sqrt(4*x)
>>>

答案 1 :(得分:1)

截至目前,没有办法用同情心做到这一点。它解析输入sqrt(4*A**2*Z**2)并存储表达式树,按照它认为合适的方式对术语进行排序,将所有合理因素组合成一个,等等。没有关于原始输入的信息。

参考:Issue #3846: Allow manipulation of raw expression trees,于2008年开放。该问题似乎不会很快得到解决。