如何使用SymPy避免减少复杂分数

时间:2019-02-28 16:05:23

标签: python python-3.x sympy

我正在使用SymPy,并且出于可读性和解释性目的,我想在分母中打印一个带有虚数的分数(Sin x的Euler公式),但是每次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)

但是给我sp.Rational的TypeError

所以:我该如何将假想数保留在分母中?

0 个答案:

没有答案
相关问题