看一下Sympy文档,似乎有一个“扩展”函数可以用来扩展多项式表达式。但是,实际上,这对我不起作用。我开始使用虚数:
import sympy
sympy.expand((x - 1)(x + i)(x - i))
但是,希望“ x ^ 3-x ^ 2 + x-1”返回以下错误:模块'sympy'没有属性'expand'
然后我更改了要扩展的表达式,因为这使我假设Sympy无法处理复数,如下所示:
import sympy
sympy.expand((x - 1)(x - 1)(x + 1))
但是这返回了相同的错误。
答案 0 :(得分:0)
假想的i
用大写字母I
表示。要进行乘法运算,需要显式使用*
。同样,在Python中,^
严格保留用于布尔(或按位)排斥或。功率表示为**
。
from sympy import symbols, I, expand
x = symbols('x')
print(expand((x - 1)*(x + I)*(x - I)))
输出:x**3 - x**2 + x - 1
请注意,调用expand()
的另一种方法是expression.expand()
(或示例中的((x - 1)*(x + I)*(x - I)).expand()
)。通常,这是连接多个操作的便捷方法。
答案 1 :(得分:0)
我没问题可以奔跑
import sympy
x = sympy.Symbol('x')
i = sympy.Symbol('i')
sympy.expand( (x - 1)*(x + i)*(x - i) )
这给了我
-i**2*x + i**2 + x**3 - x**2
唯一的想法:您创建的文件名为sympy.py
,现在import sympy
加载了文件而不是模块sympy
,并且在文件中找不到expand
。您必须将文件sympy.py
重命名为其他名称(不是其他模块的名称)。
但是您没有添加有问题的完整错误消息,因此我无法确认。