我們知道,求解方程組的一般方法是高斯消元,時(shí)間復(fù)雜度為 O(n^3)。
如果求得解是實(shí)數(shù)的話,我們可以通過犧牲精度的方法來迭代求解。具體見2009年姜碧野的論文。
原理是這樣的:
a11 * x1 + a12 * x2 + ... + a1n * xn = b1 可以變化成
x1 = 1/a11 * (b1 - a12 * x2 - a13 * x3 - .. a1n * xn);
如果x1 ... xn已經(jīng)估計(jì)了一個(gè)值,那么通過上式進(jìn)行進(jìn)一步迭代就會(huì)得到更精確的解。
如果有解的話,最后一定是收斂的。
但是如果無解,或者有多個(gè)解,結(jié)果怎么樣我就不知道了。。。。
這種方法叫做 jacobi 迭代法,復(fù)雜度O(k * n^2)。
缺點(diǎn)是后期收斂速度很慢。
有一種改進(jìn)方法,叫做代數(shù)多重網(wǎng)格法(Algebraic Multi-Grid)。迭代過程中可以逐漸縮小大型矩陣的規(guī)模,使網(wǎng)格由細(xì)變粗。
具體細(xì)節(jié)有待鉆研。
posted on 2013-05-23 23:03
西月弦 閱讀(360)
評論(0) 編輯 收藏 引用