如何在SymPy中将多项式的因式存储为列表?
提取SymPy多项式不可约因式为列表
针对多项式x^6 - 1的因式分解需求,你可以通过以下两种简单方法提取不可约因式并存储为列表:
方法1:利用factor_list()提取
factor_list()返回的结构是(首项系数, [(因式1, 指数1), (因式2, 指数2), ...]),只需遍历第二个元素中的元组,取出每个元组的第一个元素(即因式本身)即可:
from sympy import Symbol, factor_list x = Symbol('x') p = x**6 - 1 factor_tuple = factor_list(p) irreducible_factors = [fac for fac, exp in factor_tuple[1]] # 输出结果:[x - 1, x + 1, x**2 + x + 1, x**2 - x + 1] print(irreducible_factors)
方法2:通过factor()的.args属性获取
factor()返回的是因式相乘的表达式,调用其.args属性会得到所有相乘因子组成的元组,直接转成列表即可:
from sympy import Symbol, factor x = Symbol('x') p = x**6 - 1 factored_expr = factor(p) irreducible_factors = list(factored_expr.args) # 输出结果:[x - 1, x + 1, x**2 + x + 1, x**2 - x + 1] print(irreducible_factors)
内容的提问来源于stack exchange,提问作者Jos
相关产品推荐
相关产品推荐

