求解線性系統
• lsolve(M, v) - 使用 LU 因式分解,為方程式 M·x = v 的線性系統傳回解 x。
引數
• M 是實數或複數矩陣。若為方形矩陣,則必須為非奇異矩陣。
• v是列數與 M 相同的實數或複數向量或矩陣。
其他資訊
• 矩陣的行列式若為 0,則為奇異矩陣。當矩陣具有高條件數時,此矩陣即近似奇異。這些條件將使得用以求解問題的反轉矩陣難以進行計算。此種情況可能導致 lsolve 函數失敗,或產生無意義的結果。您可以對近似奇異矩陣使用其他分解法。
• lsolve 函數以 W. H. Press 等人所著之 Numerical Recipes in C: The Art of Scientific Computing (C 語言中的數值秘笈:科學計算的藝術) (Cambridge University Press, Cambridge, 1992 第二版) 一書的常式為基礎。LU 因式分解會使用 Intel 的 BLAS/LAPACK 程式庫。
• 確認是否 rank(M) = cols(M) 後即可確認系統是否具有單一解,即 M 的所有欄是否線性獨立。
• 您可以直接使用矩陣逆轉以求解此類系統,但 lsolve 的速度較快,且在某些情況下更為精確。欲求解自然標記法的線性方程式系統,可使用解題指令群。
• 若是方程式系統不相容,lsolve 會傳回最小平方解,結果也是得自 geninv(M)·v。
• 對於 v 的矩陣值而言,lsolve(M, v<i>) 會傳回 geninv(M)·v 的第 i 欄。