热门问题
时间线
聊天
视角

无平方多项式

来自维基百科,自由的百科全书

Remove ads

数学里的无平方多项式(英语:square-free polynomial)是指在或是整环上的单变数多项式,在包括其系数的代数闭域内,没有重根。在特征为0的域,或是有限域中,单变数多项式是无平方因式,当且仅当其无法被任何非常数多项式的平方所整除英语divisibility (ring theory)[1]。在物理学和工程上,会将无平方多项式称为没有重根的多项式。

根据乘积法则,若f除以p2可以整除,则f形式导数英语formal derivativef除以p也可以整除。反之亦然,因此是无平方多项式当且仅当是多项式和其导数的最大公因式[2]

多项式的无平方分解(square-free decomposition)或无平方因次分解是指将多项式分解为无平方多项式的次幂

其中不是整数的ak都是无平方多项式,且彼此之间的最大公因式为1(称为互质)[1]。每一个非零的多项式都有一个无平方分解,且是唯一的(顶多会差异一个非零常系数的相乘或相除)。无平方分解比多项式的完整多项式分解英语polynomial factorization(各项是不可约多项式)要简单。因此在不需要完整多项式分解时会用此方式代替,像是部分分式分解以及代数分式符号积分。在计算机代数系统的多项式分解算法中,无平方分解是第一步。因此无平方分解是计算机代数的基础。

在特征为0的域中,用去除以和导数的最大公因式(GCD), 其商是上面无平方分解的乘积。在非零特征p完美域英语perfect field中,其商是的乘积,而i不是p的倍数。进一步的最大公因式计算以及实际的除法,可以计算无平方分解。在特征为0的域中,已有比较好的算法,就是以下的Yun算法[1]。其运算复杂度英语computational complexity最多会是输入多项式以及其导数GCD计算量的两倍。准确的说,若是计算二个次多项式最大公因式需要的时间,则就是计算其无平方分解时间的上限。

也有已知的算法可以计算多变数多项式的无平方分解,作法是将多变数多项式视为是有单变数多项式,但其系数是由多项式组成,接着递回的使用单变数下的算法[3]

Remove ads

Yun算法

Yun算法可以针对特征为0的域上的多项式,进行无平方分解[1],其作法会进行许多的最大公因式计算以及多项式除法。

其输入是非零的多项式f,第一步是计算f和其形式导数英语formal derivative f'的最大公因式a0

是想要的分解,因此令

若令,可得

重复上述步骤,直到为1为止,就找到所有的

算法可以表示如下:


重复

直到为止
输出

的次数都比的次数少1。的乘积,次数的总和就是的次数。因为GCD计算和除法的复杂度都和多项式次数有关,成长速度比线性要快。因此循环的总执行时间少于算法第一行进行所需的时间。Yun算法的总执行时间上限是计算的最大公因式,以及计算除法总时间的两倍。

Remove ads

平方根

一般来说,多项式不会有多项式的平方根,大部分的多项式无法用另一个多项式的平方来表示。

多项式有平方根当且仅当所有无平方分解的次方都是偶数,此时,将次方除以2就是多项式的平方根。

因此判断一个多项式是否有平方根,就变成无平方分析里的一个特例。

参考资料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads