如何检查多项式方程的所有可能根?

时间:2017-06-09 13:33:06

标签: algorithm maxima

我正在编写一个程序来检查多项式方程的所有可能根。首先,我需要找到所有可能的根,然后根据理论检查哪个根满足给定的方程。到目前为止,我能够找到常数项(即r)的整数除数和最高幂系数(即s)的除数,可能的根应该是r / s。我无法列出此列表。

这是我的程序(我是maxima的新手,可能有更好的代码)

kill(all)$ 
A:makelist(k,k,-5,5)$
    a0:4$
    an:5$
    m:zeromatrix(1,length(A))$ 
    n:zeromatrix(1,length(A))$
    for i:1 thru length(A) do(
    if mod(a0,A[i])=0 then 
    m[1,i]:A[i],
    if mod(an,A[i])=0 then 
    n[1,i]:A[i]); 
    disp("The divisors of a0 are",m)$ 
    disp("The divisors of an are",n)$ 
    for i:1 thru 11 do(
    for j:1 thru 11 do(
    disp(m[1,i]/n[1,j]))); 

最后一个disp语句应该将值r / s作为矩阵或列表。一旦发生这种情况,我可以检查列表中的元素f(x)= 0并得到根。有人能帮助我吗?

0 个答案:

没有答案