Qr分解法求最小二乘

QR分解法是一種用於求解最小二乘問題的方法,它可以用來找到線性方程組 Ax = b 的最小二乘解,其中 A 是 m × n 的矩陣,b 是 m 維的向量,x 是 n 維的向量。最小二乘解是指找到一個向量 x,使得 Ax 最接近 b。

步驟如下:

  1. 對矩陣 A 進行 QR 分解。這意味著可以將 A 分解為 Q * R 的形式,其中 Q 是 m × m 的正交矩陣,R 是 m × n 的上三角矩陣。

  2. 通過 QR 分解,我們可以將 Ax = b 轉換為 Q Rx = Q b。

  3. 由於 Q 是正交矩陣,我們可以將 Q * b 視為新的右端向量,記為 y。

  4. 現在我們有 Rx = y,這是一個上三角矩陣和向量 y 之間的方程。我們可以使用回代法或直接解這個方程來找到 x 的最小二乘解。

  5. 由於 R 是上三角矩陣,我們可以直接通過回代法從 y 的最後一個元素開始向前工作,逐步計算出 x 的值。

這種方法的好處是,即使 A 不是滿秩矩陣,QR 分解法也可以找到 Ax = b 的最小二乘解。此外,QR 分解法在數值穩定性方面表現良好,尤其是在 A 具有特殊結構(如稀疏性或對稱性)的情況下。