無平方多項式

数学裡的無平方多項式（）是指在域或是整环上的單變數多項式，在包括其係數的代數閉域內，沒有重根。在特征為0的域，或是有限域中，單變數多項式是無平方因式，若且唯若其無法被任何的平方所。在物理學和工程上，會將無平方多項式稱為沒有重根的多項式。

根據乘积法则，若除以可以整除，則的除以也可以整除。反之亦然，因此是無平方多項式若且唯若是多項式和其導數的最大公因式。

多項式的無平方分解（square-free decomposition）或無平方因次分解是指將多項式分解為無平方多項式的次幂

其中不是整數的都是無平方多項式，且彼此之間的最大公因式為1（稱為互質）。每一個非零的多項式都有一個無平方分解，且是唯一的（頂多會差異一個非零常係數的相乘或相除）。無平方分解比多項式的完整（各項是不可约多项式）要簡單。因此在不需要完整多項式分解時會用此方式代替，像是部分分式分解以及代數分式的符号积分。在計算機代數系統的多項式分解演算法中，無平方分解是第一步。因此無平方分解是計算機代數的基礎。

在特征為0的域中，用去除以和導數的最大公因式（GCD）, 其商是上面無平方分解的乘積。在非零特徵的中，其商是的乘積，而不是的倍數。進一步的最大公因式計算以及實際的除法，可以計算無平方分解。在特徵為0的域中，已有比較好的算法，就是以下的Yun演算法。其最多會是輸入多項式以及其導數GCD計算量的兩倍。準確的說，若是計算二個次多項式最大公因式需要的時間，則就是計算其無平方分解時間的上限。

也有已知的演算法可以計算多變數多項式的無平方分解，作法是將多變數多項式視為是有單變數多項式，但其係數是由多項式組成，接著遞迴的使用單變數下的演算法。
Yun演算法
Yun演算法可以針對特征為0的域上的多項式，進行無平方分解，其作法會進行許多的最大公因式計算以及多項式除法。

其輸入是非零的多項式f，第一步是計算f和其 f'''的最大公因式a''0

若

是想要的分解，因此令  

和

若令、和，可得

和

重複上述步驟，直到為1為止，就找到所有的。

演算法可以表示如下：

和的次數都比的次數少1。是的乘積，次數的總和就是的次數。因為GCD計算和除法的複雜度都和多項式次數有關，成長速度比線性要快。因此迴圈的總執行時間少於演算法第一行進行所需的時間。Yun演算法的總執行時間上限是計算和的最大公因式，以及計算除法總時間的兩倍。

平方根
一般來說，多項式不會有多項式的平方根，大部份的多項式無法用另一個多項式的平方來表示。

多項式有平方根若且唯若所有無平方分解的次方都是偶數，此時，將次方除以2就是多項式的平方根。

因此判斷一個多項式是否有平方根，就變成無平方分析裡的一個特例。

參考資料

Category:多項式
Category:计算机代数