多項式求根的數值計算與分析
在數學與工程應用中,求解多項式的根是一項核心任務。本多項式求根計算器能夠尋找次數 1 到 20 之多項式的所有實根、複根與重根。使用者可根據需求,選擇以「展開的算式」或「係數列表」兩種格式輸入多項式。
在數值分析中,代數精確解與數值近似解有著本質上的不同。對於一次方程式,本工具會採用「直接線性解法」進行快速求解;而對於更高次數的多項式,由於不存在一般性的根式通解,系統則採用「Ehrlich–Aberth 疊代」演算法。此方法從數組確定性的複數猜測值開始,並利用「Horner 方法」高效計算多項式及其導數,同時更新並收斂至所有複數根的近似值。
輸入格式與參數設定
使用者可透過以下兩種模式輸入多項式:
- 展開的算式:輸入已展開的一元單變數方程式或表示式,各項可出現在等號的任一側。例如,可直接輸入
x^5 - x = 0。 - 係數列表:輸入以逗號、空格或換行分隔的無因次實數,順序由最高次方排列至常數項。若有缺少的次方項,必須輸入
0補位。
此外,工具提供「顯示小數位數」的精度控制,範圍為 4 到 12 位小數。較高的小數位數會使數學停止條件(收斂測試)更為嚴格,但無法補救初始係數中已遺失的精確度。
為了方便快速測試,工具內建了三種預設範例按鈕:
- 五個根
- 四個複數根
- 重根
演算法執行與代入步驟
當您點擊「求解所有根」後,計算器將依序執行以下步驟來確保數值精確度:
- 標準式整理:將所有項收集並整理為標準式。
- 正規化:將每個係數除以最高次項係數,以簡化後續計算。
- 範圍縮放:將求根搜尋範圍縮放 R,使初始猜測值保持在穩定區間內,避免計算溢位。
- 同時疊代:同時更新所有根的猜測值,直到修正量低於收斂容許值。
- 驗證與殘差計算:將每個求得的根代回原多項式,計算出「正規化殘差」,以評估數值解的品質。
數值敏感度與重根特性
在數值求根中,重根或極接近的根具有高度的「不穩定性」。在重根處,多項式及其導數皆趨近於零,這會削弱疊代修正的步長。因此,係數極微小的擾動,就可能導致一個重根在複數平面上分裂為數個相近的根。
當系統偵測到此類情況時,會顯示警告訊息:「已找到根,但由於存在重根或極接近的根,部分顯示的位數對係數的微小變化較為敏感。」只有當數值極為接近時,求解器才會將其歸類為重根並顯示其重數。
輸入限制與錯誤處理
為確保計算的穩定性與瀏覽器效能,本工具設有以下限制與規則:
- 次數與範圍限制:多項式有效次數必須為 1 到 20。所有係數必須為實數,且絕對值必須小於或等於 10¹⁰⁰(|coefficient| ≤ 1e100)。
- 輸入字數:輸入內容必須保持在 600 個字元以內。
- 格式要求:不支援含有括號的算式,必須先展開括號,使每個次方項都有明確的係數。不支援負數或分數次方。
- 特殊多項式:若輸入為非零常數,系統將提示「非零常數絕不等於 0,因此該多項式無根。」;若輸入為零多項式,則提示「任何複數皆為零多項式的根。」
隱私與處理說明
本工具的所有計算與多項式輸入步驟完全保留在您的瀏覽器中進行,絕不會上傳至任何外部伺服器,確保您的資料隱私。
常見問題 (FAQ)
我可以輸入什麼?
請使用實數、無因次係數,以及最高 20 次方的非負整數一元變數。表示式必須為已展開的形式,但各項的順序可以任意排列,或出現在等號的兩側。係數列表則依最高次方到常數項的順序排列,且缺少的次方項必須包含零。
這些是精確根嗎?
否。除了線性方程式(一次方程式)外,顯示的根皆為數值近似值。高於 4 次的多項式沒有一般的根式解公式,且即使是較低次數的公式,在面對棘手的係數時也可能會失去精度。請利用殘差與敏感度警告來評估近似值;當您需要二次方程式的精確分數或根式解時,請使用一元二次方程式計算器。
如何求解高次多項式的根?
求解器從數組確定性的複數猜測值開始,並使用 Ehrlich–Aberth 更新同時改進所有猜測值。Horner 方法能高效計算多項式及其導數,且每個求得的根都會代回原多項式中,以進行與縮放無關的正規化殘差檢驗。
為什麼重根的穩定性較低?
在重根處,多項式及其導數皆為零。這會削弱修正步驟,因此係數的微小變化就可能將一個重根分裂為數個相近的根。只有當數值極為接近時,求解器才會將根歸類為重根,並保持顯示其重數。