我的任务非常简单:给定整数数组作为多项式的系数,获取多项式因式分解的系数(在整数上)。
所以我只需要一个简单的函数,例如:
输入:
[1, 0, 0, 1] # 1+x^3
[[1, 1], [1, -1, 1]] # (1+x)(1-x+x^2)
我发现 SymPy 有许多用于处理多项式的函数,但我不需要符号表示,只需要数组。所以我需要建议:如何在 SymPy 中使用数组或者哪个库最适合这个。
所以我需要建议:如何在 SymPy 中使用数组或哪个库最好 适合这个。
回答第二部分:
您可以使用
NumPy
:
import numpy as np
def factorize_polynomial(coefficients):
roots = np.roots(coefficients)
factors = []
for root in roots:
factor = [1, -root]
factors.append(factor)
return factors
# Example usage:
input_coeffs = [1, 0, 0, 1]
output_coeffs = factorize_polynomial(input_coeffs)
print(output_coeffs)