QR分解計算器
將2乘2矩陣分解為正交矩陣Q與上三角矩陣R。
矩陣QR分解
依橫列順序輸入矩陣的四個元素,再計算格拉姆-施密特分解。
關於QR分解
QR分解將矩陣A分解為Q與R的乘積。Q的行向量正交歸一,也就是每個直行的長度皆為一,且不同行彼此垂直。R是上三角矩陣,因此主對角線下方的所有元素皆為零。對滿秩方陣而言,將顯示的Q與R相乘即可還原原矩陣,僅可能因小數四捨五入產生些微差異。本計算器針對實數2乘2矩陣進行此分解。
計算採用經典的格拉姆-施密特程序,依序處理A的各直行。首先計算第一行的歐幾里得長度。將該行除以其長度,可得到Q的第一個單位向量,而此長度成為R的第一個對角元素。接著,將第二行投影到第一個單位向量上。減去投影後得到垂直向量,將其歸一化,即可建立Q的第二行。投影係數與第二個向量的長度共同補齊上三角矩陣R。
QR分解是數值線性代數的核心工具。它可用於方程式數量多於未知數的超定系統中的最小平方法擬合,也用於求特徵值的演算法。正交變換保留長度,通常不像直接運算那樣容易放大捨入誤差,因此適合數值計算。本頁著重二維情形,方便檢視每一步,但相同的直行正交化概念也能延伸到更大的長方形矩陣。
若要產生兩個單位向量,輸入的兩個直行必須線性獨立。全零的第一行無法歸一化;若第二行只是第一行的倍數,扣除投影後便不再有垂直方向。這類矩陣秩不足,不具有此處採用的完整QR形式。QR分解也可能因正負號而異:將Q的一行與R對應的橫列同時變號,乘積仍保持不變。本計算器以非負長度作為R的對角元素,提供穩定且一致的結果比較慣例。
QR分解範例
| 矩陣A | 分解因子 | 說明 |
|---|---|---|
| [1, 0] [0, 1] | Q = 單位矩陣,R = 單位矩陣 | 各直行已正交歸一 |
| [3, 0] [4, 5] | Q = [0.6, -0.8] [0.8, 0.6], R = [5, 4] [0, 3] | 格拉姆-施密特程序將長度與方向分離 |
| [1, 1] [1, -1] | Q 約為 [0.707107, 0.707107] [0.707107, -0.707107] | 輸入的直行彼此垂直,但尚未歸一化 |
如何計算QR分解
- 依標示的列、行位置輸入矩陣A的四個元素。
- 確認兩個直行皆非零,且互不為純量倍數。
- 選擇「計算QR分解」,套用格拉姆-施密特程序。
- 依橫列讀取Q與R,再將兩者相乘以核對分解。
常見問題
Q與R分別代表什麼?
Q包含描述方向的正交歸一行向量。R是上三角矩陣,記錄還原原矩陣所需的長度與投影係數。
為什麼各直行必須線性獨立?
格拉姆-施密特程序要求Q的每個新直行都有非零的垂直餘量。線性相依的直行會使餘量為零,因此無法用這種方式建立完整的兩行正交歸一基底。
QR分解是唯一的嗎?
不同的正負號選擇可產生等價分解,因為Q與R中對應的符號會在乘積中抵消。要求R的對角元素非負,是常見的唯一性慣例。
如何驗證結果?
將Q乘以R,逐一與原矩陣A的元素比較。也可以確認Q的轉置乘以Q是否等於單位矩陣。
QR分解有哪些用途?
它廣泛用於最小平方問題、特徵值演算法,以及穩定的方程式求解。正交矩陣有助於控制這些計算中的數值誤差。