我正在使用 Sympy 在一些扩展字段上分解多元多项式。
如果我可以将单变量多项式分解为实数,我想我会有一个工作代码。对于我的代码,这使我不得不在“QQ”上分解单变量多项式,如果需要,在某个数字字段上分解。
我现在的方法是在“QQ”上定义这些单变量多项式,然后查看根并确定每个根是否为真。如果它是真实的,我会在“QQ”中添加所需的术语,然后让 Sympy 考虑因素。这意味着我尝试自动化以下步骤:
- f=Poly((x^2-3)*(x^2-5),x,domain='QQ')
- 解决(f,x)
- (给出 [-sqrt(3),sqrt(3),-sqrt(5),sqrt(5)])
- f.factor(f,extension=[sqrt(3),sqrt(5)])
(..或其他方式,但我认为具有类似的步骤和运行时间)
这当然有很长的运行时间,因为您需要两次计算因子。还有很多我需要考虑的例外情况。
长话短说:有没有办法让 Sympy 将多项式分解为 'QQ' 并允许它在需要时进行一些扩展?
有没有像 f.factor(numberfield=True) 这样的东西?
先感谢您!!