矩陣分解
分解的唯一性
大多數矩陣分解本身並不唯一;只有在固定一個歸一化約定之後才唯一。原因是你總能把一個可逆因子塞進中間再消去:若 A = B C,則對任意尺寸合適的可逆 M 都有 A = (B M)(M^-1 C)。唯一性的論斷其實是在說允許哪些 M。
標準的固定方式很簡單。一旦要求 L 為單位下三角(對角線為 1),LU 就唯一,從而對角縮放不能在 L 與 U 之間游移;再加上部分選主元,P A = L U 便被確定。對行滿秩的 A,一旦要求 R 的對角線為正,QR 就唯一,這釘住了 Q 每一行的符號。Cholesky A = L L^T 在要求 L 的對角線為正時唯一。
最深刻的情形是譜分解與奇異值分解,其唯一性是有條件的。特徵向量只定義到一個縮放倍數;當特徵值有重根時,其特徵空間的任意一組基都可用,所以特徵向量矩陣確實不唯一。在 SVD 中,對應於重奇異值的奇異向量可以在那個子空間內自由旋轉。
這在實踐中為何重要:兩個正確的程式,或同一程式的兩次運行,可能返回相差一個符號或一個旋轉的因子,而二者都對。若你的程式碼直接比較因子,或假定固定的符號,就會看到虛假的不一致。應當比較真正被確定的東西——A 本身或奇異值,而非那些不唯一的因子。
A = B C = (B M)(M^-1 C); fix M by a convention (unit diag L, positive diag R, etc.)
唯一性是用一個歸一化換來的,它消除了插入可逆 M 的自由。
當對分解的單元測試時好時壞,問題通常出在符號或旋轉的自由度上,而非答案錯了。應檢驗 A = 乘積或奇異值,絕不要檢驗原始因子。
又稱
另見