假设我有x^6-1要因式分解,使用.factor我得到了我的不可约因式,但是我想把这些因式放在一个列表中,我试着使用.factor_list()但是它没有给予我想要的结果,而是把它们存储在一个元组中,并且在因式旁边总是有一个1,我想把每个因式分解的多项式都放在一个列表中,如果可能的话,我该怎么做?
例如,
from sympy import Symbol, factor, Poly
x = Symbol('x')
p = x**6 - 1
factors = factor(p)
factors
这给了我4个不可约因子,我怎么把它们存储在一个列表中,而不是元组中?
3条答案
按热度按时间bwleehnv1#
您可以通过强制将因子分解结果视为产品(无论是否为产品),将产品分解为一系列因子;这将给予你一个因子元组。如果需要的话,你可以使用
list
把它变成一个列表:你说:“我想让每个分解的多项式在一个列表中单独存在,如果可能的话,我该怎么做?”你是这个意思吗:
你想怎么处理重复的参数?
我不认为最后一步应该是必要的合并相似的因素。我将报告作为一个错误,因为文档字符串显示了另一个例子,其中一个因素的多重性为2出现在一个元组。
aiazj4mn2#
factor_list
的输出是前导系数,然后是一个单子不可约因子的元组列表沿着多重性:您可以只从
factor_list
输出中提取所需的返回值部分:mzmfm0qo3#
我想你可以用
as_terms()
方法这将生成以下列表: