這個計算器能做什麼
本工具用來求解含有 n 個未知數的 n 元一次方程組,可簡寫為 \(\mathbf{A}\cdot\mathbf{x} = \mathbf{b}\),其中 A 是 \(n\times n\) 的係數矩陣,x 為未知數向量,b 為常數向量。它會回傳唯一的解向量 x,並一併算出 A 的行列式。整個運算屬於純粹的線性代數,在任何地方的結果都完全相同——不受國家或單位影響,每一個輸入值都只是一個實數。
使用方式
先設定 n(方程式與未知數的數量)。接著逐列輸入係數矩陣 A,每一列一行,數字之間以空格或逗號分隔;再輸入長度為 n 的常數向量 b。選擇顯示精度後即可求解。負數、小數以及看似分數的小數值都可以接受。只要 A 的列數與行數都等於 n、且 b 的長度也相符,就能算出解;否則工具會提示維度不一致。
計算原理說明
本求解器採用具部分主元選取的高斯消去法,其數學意義等同於 LU 分解 PA = LU。針對每一個欄位,它會挑選絕對值最大的可用主元,以維持運算的數值穩定性,再消去主元下方的元素,最後從最後一個未知數開始往上進行回代。若某個主元實質上等於零,代表行列式為零、矩陣為奇異矩陣,方程組就沒有唯一解——此時工具會直接標示出來,而不會發生除以零的錯誤。
$$\begin{gathered} \mathbf{A}\,\mathbf{x} = \mathbf{b}, \qquad \mathbf{A} = \mathbf{L}\mathbf{U} \\[1.5em] \text{solve}\quad \left\{ \begin{aligned} \mathbf{L}\mathbf{y} &= \mathbf{b} \quad(\text{forward}) \\ \mathbf{U}\mathbf{x} &= \mathbf{y} \quad(\text{back substitution}) \end{aligned} \right. \end{gathered}$$$$\det(\mathbf{A}) = (-1)^{s}\prod_{k=1}^{n} u_{kk}$$
實例演算
假設有 \(2x + y - z = 8\)、\(-3x - y + 2z = -11\)、\(-2x + y + 2z = -3\)。則 \(\mathbf{A} = [[2,1,-1],[-3,-1,2],[-2,1,2]]\)、\(\mathbf{b} = [8,-11,-3]\)。經過消去後可得 \(x = 2\)、\(y = 3\)、\(z = -1\)。代回第一條方程式驗算: $$2(2) + 3 - (-1) = 4 + 3 + 1 = 8$$ 結果正確。
常見問題
如果行列式為零會怎樣?代表矩陣為奇異矩陣,也就是這些方程式彼此相依或互相矛盾,因此沒有唯一解,計算器會提示為奇異矩陣。
為什麼要使用部分主元選取?挑選絕對值最大的主元可避免捨入誤差被放大,即使面對較棘手的矩陣也能得到準確的結果。
解一定要是整數嗎?不一定。解是以浮點數計算的,可能會是小數;顯示精度的設定可控制要呈現幾位有效數字。