Try   HackMD

Conjugate Gradient Method

Conjugate Gradient Method

這邊我們一樣考慮解

Ax=b,前面講的是 Gradient Method,那這節要講的是 Conjugate Gradient Method,效率一般來說會更好,而且好很多

α 要選來 minimize
Φ(x(k))
,因為我們希望它越小越好,前面的 Gradient Method 裡面
p(k1)
是用 gradient 來做的,但這邊我們不用這個方法。

我們先看

α,先不管
p(k1)
,所以假設
p(k1)
已知:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

基本上推導過程差不多,所以重點就是

p(k1) 要怎麼找

A-orthogonal

在開始找之前我們先給個定義,假設 A 是個

Rn×n 的矩陣,我們說有一個 nonzero vector 的 set
{v(1),v(2), ... ,v(n)}
,如果這個集合滿足
<v(i),Av(j)>=0  if  ij
的話,我們就說這個集合是一個 A-orthogonal 的 set。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

那我們說這個集合如果是 A-orthogonal 而且 A 矩陣是對稱正定的話,那麼這個集合必定會線性獨立,證明:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

代表這個集合是

Rn 的一組基底

Thm 7.32

給定一個集合 A-orthogonal 的集合

{v(1),v(2), ... ,v(n)}
A
是對稱正定矩陣。

那當我們要解

Ax=b 時我們要用這個式子:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

那妳可以看見

v 只有 n 項,也就代表最多只會迭代 n 次,也就是說
x(n)
就是我們要的
x

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

證明:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

所以現在問題就變成

v 要怎麼找了

Thm 7.33

residual vector

r(k), k = 1, 2, , n,滿足 <
r(k),v(j)
>
=0
, j = 1, 2, , k

也就是說

r(1)
v(1)
垂直,
r(2)
v(1)
還有
v(2)
垂直,
r(n)
和全部的
v(j)
垂直。

那證明我們就用數學歸納法:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

找 A-orthogonal 的集合

假設執行到第 k 步的時候

x(1),x(2),...,x(k1)
v(1),v(2),...,v(k1)
都已經知道了,那下一次的
v(k)=r(k)=r(k1)+βk1 v(k1)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

因為我們要造的是 A-orthogonal 的集合,所以我們希望找到的

βk1 能讓
vk
和上一次的
v(k1)
垂直,那就把寫下來整理一下:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

然後把前面算出來的

α 抄下來推一下:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

算 Conjugate gradient

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →