热门问题
时间线
聊天
视角
无平方多项式
来自维基百科,自由的百科全书
Remove ads
数学里的无平方多项式(英语:square-free polynomial)是指在域或是整环上的单变数多项式,在包括其系数的代数闭域内,没有重根。在特征为0的域,或是有限域中,单变数多项式是无平方因式,当且仅当其无法被任何非常数多项式的平方所整除[1]。在物理学和工程上,会将无平方多项式称为没有重根的多项式。
根据乘积法则,若f除以p2可以整除,则f的形式导数f ′除以p也可以整除。反之亦然,因此是无平方多项式当且仅当是多项式和其导数的最大公因式[2]。
多项式的无平方分解(square-free decomposition)或无平方因次分解是指将多项式分解为无平方多项式的次幂
其中不是整数的ak都是无平方多项式,且彼此之间的最大公因式为1(称为互质)[1]。每一个非零的多项式都有一个无平方分解,且是唯一的(顶多会差异一个非零常系数的相乘或相除)。无平方分解比多项式的完整多项式分解(各项是不可约多项式)要简单。因此在不需要完整多项式分解时会用此方式代替,像是部分分式分解以及代数分式的符号积分。在计算机代数系统的多项式分解算法中,无平方分解是第一步。因此无平方分解是计算机代数的基础。
在特征为0的域中,用去除以和导数的最大公因式(GCD), 其商是上面无平方分解的乘积。在非零特征p的完美域中,其商是的乘积,而i不是p的倍数。进一步的最大公因式计算以及实际的除法,可以计算无平方分解。在特征为0的域中,已有比较好的算法,就是以下的Yun算法[1]。其运算复杂度最多会是输入多项式以及其导数GCD计算量的两倍。准确的说,若是计算二个次多项式最大公因式需要的时间,则就是计算其无平方分解时间的上限。
也有已知的算法可以计算多变数多项式的无平方分解,作法是将多变数多项式视为是有单变数多项式,但其系数是由多项式组成,接着递回的使用单变数下的算法[3]。
Remove ads
Yun算法
Yun算法可以针对特征为0的域上的多项式,进行无平方分解[1],其作法会进行许多的最大公因式计算以及多项式除法。
其输入是非零的多项式f,第一步是计算f和其形式导数 f'的最大公因式a0
若
是想要的分解,因此令
和
若令、和,可得
和
重复上述步骤,直到为1为止,就找到所有的。
算法可以表示如下:
重复
直到为止
输出
和的次数都比的次数少1。是的乘积,次数的总和就是的次数。因为GCD计算和除法的复杂度都和多项式次数有关,成长速度比线性要快。因此循环的总执行时间少于算法第一行进行所需的时间。Yun算法的总执行时间上限是计算和的最大公因式,以及计算除法总时间的两倍。
Remove ads
平方根
一般来说,多项式不会有多项式的平方根,大部分的多项式无法用另一个多项式的平方来表示。
多项式有平方根当且仅当所有无平方分解的次方都是偶数,此时,将次方除以2就是多项式的平方根。
因此判断一个多项式是否有平方根,就变成无平方分析里的一个特例。
参考资料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads