2016-01-22 98 views
5

在「黑皮書」中,Numerical Recipes第3版給出了求解線性方程組的Gauss-Jordan算法。緊接着是關於計算LU分解並隨後用它來求解線性方程組的一節(參見第53頁的LUdcmp :: solve)。不幸的是,這本書沒有解釋爲什麼一個人會喜歡一種方法到另一個。這兩種方法是否相同,或者是否有理由在特定情況下選擇其中一種方法?Gauss-Jordan消除與LU分解

+1

也許有所幫助:https://math.stackexchange.com/questions/266355/necessity-advantage-of-lu-decomposition-over-gaussian-消除 – stephan

+0

我純粹從算法/編程的角度提出這個問題,而不是數學觀點。我的經驗是,數學家通常不知道爲什麼一種算法應該優於另一種算法。 –

+0

數值線性代數應該在計算科學http://scicomp.stackexchange.com上更好地討論請看看,你會發現一個非常知名的數字社區。 –

回答

7

使用LU分解的優點是它可以重複使用來計算多個解決方案。

例如,如果你想解決方程

Ax = b 

對於恆定A和許多不同b當時的你只需要計算A的LU分解一次,它可以爲每個b被重用。然而,如果高斯 - 喬丹消除,你將不得不重新做所有的工作b

這是更快的原因是因爲高斯 - 約旦消除規模爲O(n^3),但LU分解的替代步驟方法僅縮放爲O(n^2)。因此,對於LU案例,您只需爲每個b執行一次昂貴的O(n^3)步驟。

一套合理的筆記上的正是這種可以發現here

+0

「因此,對於LU案例,您只需爲每個b執行一次昂貴的O(n^3)步驟。」 - 每個'A'都不是一次? –