以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 算法理论与分析 』  (http://bbs.xml.org.cn/list.asp?boardid=60)
----  求因式分解的算法  (http://bbs.xml.org.cn/dispbbs.asp?boardid=60&rootid=&id=17982)


--  作者:whz2xwj
--  发布时间:5/8/2005 7:22:00 PM

--  求因式分解的算法
求因式分解的算法,谢谢各位大虾!!
--  作者:mysword
--  发布时间:5/8/2005 7:54:00 PM

--  
在哪个域里分解?
--  作者:whz2xwj
--  发布时间:5/8/2005 8:31:00 PM

--  
只要1元的就可以了
--  作者:whz2xwj
--  发布时间:5/8/2005 8:32:00 PM

--  
最高次不超过20,系数范围-1000到1000

--  作者:whz2xwj
--  发布时间:5/8/2005 8:36:00 PM

--  
求因式分解的算法,谢谢各位大虾!!
只要1元的就可以了
最高次不超过20,系数范围-1000到1000

--  作者:asadafag
--  发布时间:5/8/2005 8:43:00 PM

--  
……
2楼的问题才是关键吧。实数域、复数域、有限域?
--  作者:bsj731
--  发布时间:9/6/2005 10:33:00 AM

--  
请问有限域的怎么求
--  作者:galois
--  发布时间:10/13/2005 9:55:00 PM

--  
谈一下我所知道的有关结论吧。
显然,我们这里谈论多项式因式分解,指的是有理整数Z(也可推广到代数整数,那就更没什么人知道怎么做了)上的多项式因式分解,或是有限域GF(p)上的多项式因式分解。Q上的分解跟Z上等价。 R和C上的分解属于数值计算的范畴,计算机科学家不关心。

问题一:在GF(p)上求多项式的根。据我所知,目前没找到确定性多项式算法,但有很多随机多项式算法。目前猜测,如果此多项式有可交换的Galois群,那可以在多项式时间分解。
问题二:在GF(p)上分解多项式。同样,这不会比问题一容易。目前有很多随机多项式算法或是实际性能不错的方法。
问题三:在Z上分解多项式。有趣的是,这个问题要比Z上的大整数分解容易得多(因此基于多项式分解的RSA体制是没用处的。)。1982年由Lenstra,A.K.,Lenstra.Jr.H.W.和Lovasz,L.提出的著名的LLL算法证明这个问题是属于P类。证明了其复杂性为O(n^12+n^9(log|f|^3)),n为f的次数。但由于它确实很慢,实际上从没有人真正用它来分解因式。

在GF(p)上,一个比较实用的算法如下:
设输入多项式为A.
1.[Squarefree Factorization] 将A变换成A1*(A2^2)*(A3^3)……。A1,A2……都无平方因子,且互素。
2.[Distinct degree factorization] 对步骤1中算出的每个Ai,找出A(i.d)——A的所有d次素因子的乘积。
3.[Final splittings] 将A(i,d)分解为多个d次因子。
4.[Cleanup]

在Z上,可以借助前面算法去设计一些方法,还是比较复杂。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
7,378.906ms