如何避免复杂分数的归约

2024-09-28 23:32:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在玩SymPy,为了便于阅读和解释,我想用分母中的虚数打印一个分数(Euler的sinx公式),但是每次1/(2j)减到-0.5j,不管我写什么。你知道吗

有趣的是,如果没有j,分数就不会减少。 举个例子:

cosx = (sp.exp(1j * x) + sp.exp(-1j * x))/2
num = sp.exp(1j * x) - sp.exp(-1j * x)
sinx = sp.sympify(num/(sp.S(2j)), evaluate=False)

sp.pprint()cosx按我想要的方式打印,而sinx给了我我所说的问题。
如你所见,我尽我所能避免这种情况,但它仍然给我-0.5*I
我甚至尝试过这种愚蠢的方式,类似于SymPy文档中的一个例子:

sinx = sp.Mul(1, sp.Rational(num, 2j), evaluate=False)

但这给了我打字的错误理性的你知道吗

那么:我如何保持分母中的虚数呢?你知道吗


Tags: false方式num分数sp例子公式evaluate