一、說明
本部落格講述内容根據MIT線性代數第二十八課歸納而成。
MIT線性代數連結:http://open.163.com/newview/movie/courseintro?newurl=%2Fspecial%2Fopencourse%2Fdaishu.html
二、主要講述問題
1-如何判斷一個矩陣是正定矩陣
2-正定矩陣的最小值
3-正定矩陣的幾何解釋
三、如何判斷一個矩陣是正定矩陣
1-正定矩陣
一個矩陣是正定矩陣,那麼必須要滿足以下的關系
(1)它必須是一個nXn的方陣(我們用符号A來表示)
(2)對于任意的一個向量x(不是每一個元素都是0), 都必須滿足這樣的一個條件:$x^{T}Ax>0$
2-正定矩陣具有的特點
(這個可以參考第二十六課内容,如果有時間我會補充)
(1)它的所有的主元都必須是大于0的
(2)它的所有的特征值都是大于0的(實際上,特征值和主元的符号是相同的,比如,如果主元有三個正的,兩個負的,那麼特征值也是這樣)
(3)它的所有的子行列式都是大于0的。
至于什麼是子行列式,我們可以看一下下面的例子:
對于一個矩陣:
$\begin{bmatrix}2 & 3 & 1\\ 0 & 2 & 2\\ 1 & 1 & 1\end{bmatrix}$
那麼它的子行列式有:$\begin{bmatrix}2\end{bmatrix}$,
$\begin{bmatrix}2 & 3\\ 0& 2\end{bmatrix}$
$\begin{bmatrix} 2 & 3 & 1\\ 0 & 2 & 2\\ 1 & 1 & 1\end{bmatrix}$
3-如何判斷
根據上面的條件,那麼自然而然就知道如何判斷一個矩陣是不是正定矩陣:
(1)隻有所有的主元都是正的,那麼這個矩陣是正定矩陣
(2)所有的特征值是正的,那麼這個矩陣是正定矩陣
(3)這個矩陣的所有子行列式是正的,那麼這個矩陣是正定矩陣
(4)如果對于矩陣A, $x^{T}Ax>0$ (這個是根據定義式出發)
4-一個例子
4.1對于一個二階矩陣$\begin{bmatrix}a & b\\ c & d\end{bmatrix}$,那麼下面的四個條件都可以判斷:
(1) $\lambda _{1}>0, \lambda _{2}>0$
(2) $a>0, \frac{ac-bd}{a}>0$
(3)$a>0, ac-bd>0$
(4) $x^{T}Ax>0$
4.2如下面一個矩陣:$\begin{bmatrix}2 & 6\\ 6 & 18\end{bmatrix}$
我們可以看到,第一列和第二列存在一個倍數的關系,是以這是一個奇異矩陣。
奇異矩陣一定有一個特征值是0, 另外一個特征值就等于迹減去這個特征值(這裡是根據特征值之和等于主對角線的元素之和,也就是迹)
是以另外一個特征值是:20。
可以看到,一個特征值是0,另外一個特征值大于0,這個時候我們說這個矩陣是一個半正定矩陣。
這個時候我們根據$x^{T}Ax$,看一下其得到的結果:
$x=\begin{bmatrix}x_{1}\\ x_{1}\end{bmatrix} $
$f(x_{1},x_{2})=\begin{bmatrix} x_{1}&x_{2} \end{bmatrix}\begin{bmatrix}2 &6 \\ 6 & 18\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\end{bmatrix}$
$f(x_{1},x_{2})=2x_{1}^{2}+12x_{1}x_{2}+18x_{2}^{2}$
這個時候函數就相當于:
$f(x,y)=2x^{2}+12xy+18y^{2}$
這個時候我們畫出它的圖像如下:
matlab代碼:
[x,y]=meshgrid(-100:0.1:100);
z=2*x.^2+18*y.^2+12*x.*y;
mesh(x,y,z);
xlabel(\'x\'),ylabel(\'y\'),zlabel(\'z\');
圖像如下:

可以看到,它在(0,0)位置的值是0,但是這個時候并不是一個最低點,所形成的曲面是一個馬鞍形的面。
四、幾何含義
其實其幾何含義我們在上面已經表示出來了。
4.1例子一
下面我們可以再舉出來一個例子:
對于一個二維矩陣:$\begin{bmatrix}2 &6 \\ 6& 7\end{bmatrix}$,這個時候我們得到的 $x^{T}Ax$函數為:
$f(x,y)=2x^{2}+12xy+7y^{2}$
也可以知道這是一個非正定矩陣,我們按照上面的方法畫出來,可以知道這也是一個馬鞍面。
這也說明了,當一個矩陣不是正定矩陣的時候,這個時候所得到的函數$x^{T}Ax$并不是每一處都是大于0的,也無法得到最小值
4.2 例子二
如果對于正定矩陣:$\begin{bmatrix}2 &6 \\ 6& 20\end{bmatrix}$
這個時候我們得到的函數是:
$f(x,y)=2x^{2}+12xy+20y^{2}$
我們得到下面的一個抛物面圖像:
我們可以看到,對于一個正定矩陣,這個時候所得到的函數每一處都是大于0的。
其最小值在(0,0)處,且根據函數極值的隻是我們知道:
在該點的函數一次導數為0,二次導數大于0
4.2.1<最小值判斷>
對于一維函數來說是當其二次導數大于0的時候,一次函數等于0,這個時候函數存在極值。
而對于一個n維函數來說,隻有當它的二階導數矩陣是正定的時候,這個時候這個n維函數才存在最小極值點(上面兩個例子已經說明了這一點)。
比如一個二階函數f(x,y),那麼它的二階導數矩陣就是:
4.2.2利用配方法證明上述函數始終大于0:
我們可以利用配方法對于上面函數始終是大于0的做一個證明:
$f(x,y)=2x^{2}+12xy+20y^{2}\\=2(x+3y)^{2}+2y^{2}$
同時我們可以對矩陣$A=\begin{bmatrix}2 &6 \\ 6& 20\end{bmatrix}$做一個分解,分解為一個上三角矩陣(U)和一個下三角矩陣(L):
$A=\begin{bmatrix}1 & 0\\ 3 & 1\end{bmatrix}\begin{bmatrix}2 &6 \\ 0& 2\end{bmatrix}$
同時我們可以知道,這個矩陣的主元是:2, 2。
我們可以對比一下上面的函數和矩陣裡面的系數。
這個時候我們可以先這樣一個事實:
1-矩陣的主元是配方法裡面平方外面的系數。
2-置換矩陣的系數是配方法平方裡面的系數。
實際上,高斯的配方法就是對于矩陣消元的一個過程。
4.3 例子三
對于這樣一個矩陣:
$A=\begin{bmatrix}2 &-1 &0 \\ -1 & 2 & -1\\ 0& -1 & 2\end{bmatrix}$
我們可以得到如下特點:
1-子行列式:
一階子行列式:2
二階子行列式:3
三階行列式:4
2-根據行列式。其實我們可以得到主元:
2,1.5, 4/3
3-特征值: $2+\sqrt{2},2-\sqrt{2},2$
4- $ x^{T}Ax$
$f(x,y,z)=2x^{2}+2y^{2}+2z^{2}-2x_{1}x_{2}-2x_{2}x_{3}$
這個時候如果我們令f = 1 去截取這個圖像(這是一個思維的圖像)的時候,我們可以得到一個橄榄球樣式的三維圖像。
代碼如下:
f = @(x,y,z)2*x.*x+2*y.*y+2*z.*z-2*x.*y-2*y.*z-1; % 函數表達式
[x,y,z] = meshgrid(-10:.2:10,-10:.2:10,-10:.2:10); % 畫圖範圍
v = f(x,y,z);
h = patch(isosurface(x,y,z,v,0));
isonormals(x,y,z,v,h)
set(h,\'FaceColor\',\'r\',\'EdgeColor\',\'none\');
xlabel(\'x\');ylabel(\'y\');zlabel(\'z\');
alpha(1)
grid on; view([1,1,1]); axis equal; camlight; lighting gouraud
可以看到,這裡存在存在一個長軸,一個中軸,一個短軸,整個物體相對于這三個軸中任意兩個所構成的平面對稱。
這三個軸就是特征向量的方向,三個軸的長度是特征值的大小。
并且是對應的。
這個時候我們可以得到,$A=Q\Lambda Q^{T}$,也與剛才我們的表述相符合。
其中Q是正交矩陣,其中因為A是對稱矩陣,是以将$A=Q\Lambda Q^{-1}$換成了$A=Q\Lambda Q^{T}$。
是以可以看到,對于一個函數,我們可以通過判斷二階矩陣的是否正定來判斷是否存在其是否存在最小值。
如果是正定矩陣,對應的函數有最小值,且整個函數都是大于0的。
如果不是,則(0,0)不是最小值。
并且當我們截取函數的時候(令f = 一個常數)
這個時候我們得到的往往是一個特殊的形狀,并且和特征值、特征向量互相聯系。
而且通過高斯配方法的時候,其系數往往和矩陣的LU分解有關。