Can you summarize the following document?
        
  實數矩陣"A"的QR分解是把"A"分解為 這裡的"Q"是正交矩陣(意味著"Q""Q" = "I")而"R"是上三角矩陣。類似的,我們可以定義A的QL, RQ和LQ分解。  更一般的說,我們可以因數分解複數formula_2×formula_3矩陣(有著"m" ≥ "n")為formula_4×formula_2 么正矩陣(在"Q""Q" = "I"的意義上)和formula_2×formula_7上三角矩陣的乘積。  如果"A"是非奇異的,且限定"R" 的對角線元素為正,則這個因數分解是唯一的。

  QR分解的實際計算有很多方法,例如Givens旋轉、Householder變換,以及Gram-Schmidt正交化等等。每一種方法都有其優點和不足。

  Householder變換將一個向量關於某個平面或者超平面進行反射。我們可以利用這個操作對formula_8的矩陣formula_9進行QR分解。  矩陣formula_10可以被用於對一個向量以一種特定的方式進行反射變換,使得它除了一個維度以外的其他所有分量都化為0。  令formula_11為矩陣formula_9的任一"m"維實列向量,且有formula_13(其中formula_14為標量)。若該演算法是通過浮點數實現的,則formula_14應當取和formula_11的第formula_17維相反的符號(其中formula_18是要保留不為0的項),這樣做可以避免精度缺失。對於複數的情況,令,並且在接下來矩陣formula_10的構造中要將矩陣轉置替換為共軛轉置。  接下來,設formula_21為單位向量formula_22,||·||為歐幾裡的範數,formula_23為formula_24單位矩陣,令  或者,若formula_9為復矩陣,則  則formula_10為一個formula_24的Householder矩陣,它滿足  利用Householder矩陣,可以將一個formula_36的矩陣formula_37變換為上三角矩陣。 首先,我們將A左乘通過選取矩陣的第一行得到行向量formula_32的Householder矩陣formula_39。這樣,我們得到的矩陣formula_40的第一列將全部為0(第一行除外):  這個過程對於矩陣formula_37(即formula_40排除第一行和第一列之後剩下的方陣)還可以繼續做下去,從而得到另一個Householder矩陣formula_44。注意到formula_44其實比formula_39要小,因為它是在formula_40而非formula_9的基礎上得到的。因此,我們需要在formula_44的左上角補上1,或者,更一般地來說:  將這個迭代過程進行formula_51次之後(formula_52),將有 其中R為一個上三角矩陣。因此,令 則formula_55為矩陣formula_9的一個QR分解。  相比與Gram-Schmidt正交化,使用Householder變換具有更好的數值穩定性。

  MATLAB以qr函式來執行QR分解法,其語法為  此外,原矩陣A不必為正方矩陣; 如果矩陣A大小為m*n,則矩陣Q大小為m*m,矩陣R大小為m*n。
QR分解法是三種將矩陣分解的方式之一。這種方式,把矩陣分解成一個正交矩陣與一個上三角矩陣的積。QR分解經常用來解線性最小二乘法問題。QR分解也是特定特徵值演算法即QR演算法的基礎。