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分解

  1. 依標示的列、行位置輸入矩陣A的四個元素。
  2. 確認兩個直行皆非零,且互不為純量倍數。
  3. 選擇「計算QR分解」,套用格拉姆-施密特程序。
  4. 依橫列讀取Q與R,再將兩者相乘以核對分解。

常見問題

Q與R分別代表什麼?

Q包含描述方向的正交歸一行向量。R是上三角矩陣,記錄還原原矩陣所需的長度與投影係數。

為什麼各直行必須線性獨立?

格拉姆-施密特程序要求Q的每個新直行都有非零的垂直餘量。線性相依的直行會使餘量為零,因此無法用這種方式建立完整的兩行正交歸一基底。

QR分解是唯一的嗎?

不同的正負號選擇可產生等價分解,因為Q與R中對應的符號會在乘積中抵消。要求R的對角元素非負,是常見的唯一性慣例。

如何驗證結果?

將Q乘以R,逐一與原矩陣A的元素比較。也可以確認Q的轉置乘以Q是否等於單位矩陣。

QR分解有哪些用途?

它廣泛用於最小平方問題、特徵值演算法,以及穩定的方程式求解。正交矩陣有助於控制這些計算中的數值誤差。