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

Render a sympy expression literally, with no simplification

我想知道如何让 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)

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

截至目前,无法使用 sympy 执行此操作。它解析输入 sqrt(4*A**2*Z**2) 并存储表达式树,沿途按它认为合适的方式对术语进行排序,将所有有理因素组合成一个,等等。没有关于原始输入的信息。

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

使用 "evaluate(False)" 块来停止 simplifaction/evaluation 规则:

(我正在使用 Python 3.4,sympy 0.7)

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

sqrt(4*x)
>>>