1. 程式人生 > 其它 >【線性代數】基本概念

【線性代數】基本概念

:學習線性代數也是一個有些漫長的過程。第一次學習線性代數,是大學裡的公共課,老師教的簡單,學生學得輕鬆,考試分數也非常好看。但是當我在複習研究生入學考試的時候,才發現自己連線性代數這門學科的大門都沒摸到。值得慶幸的是,這個備考階段,在網易公開課看到了由Prof. Gilbert Strang講授的線性代數課。按照當時記得筆記,只學習了前面的24節課。最近因為選修了一門與微分方程有關的研究生課程,又一次回過頭來複習線性代數的基礎知識,發現之前學習過的大部分內容都記不清楚了。但是對Gilbert Strang教授講課的風格記憶猶新,這樣的教學質量對得起世界各地學子對MIT這所名校的嚮往,也讓我堅定了一個信念:如果在花費了很多努力之後,一門課程還是沒有學好,很大概率是老師的問題。

1. 用矩陣解線性方程組


解多元一次方程組是一個比較好的切入點,用來引入矩陣。例如三元一次方程組的係數,可以表示為行和列都為3的方陣。在解方程組的過程中可以直接對矩陣進行行變換(行的初等變換不改變方程組的解),即矩陣消元,用以化簡方程組。矩陣消元的方法主要包括高斯消元法高斯-若爾當消元法。例如:

\begin{eqnarray}
\left\{
\begin{array}{1}
x + 2y + z = 2 \\
3x + 8y +z = 12 \\
4y + z = 2
\end{array}
\right.
\end{eqnarray}

用矩陣表示方程組(1)的係數以及等號後面的數值(該矩陣既包括係數有包括等號右邊的常數項,也被成為增廣矩陣),可以寫成:

\begin{bmatrix}
1 & 2 & 1 & 2 \\
3 & 8 & 1 & 12 \\
0 & 4 & 1 & 2
\end{bmatrix}

其中,第一、二和三列分別表示方程組(1)中$x, y, z$在三個方程中的係數,第四列表示等式右邊的數值。

對上面的矩陣進行行變換,消元化簡之後可以得到一個上三角矩陣(只看係數部分):

\begin{bmatrix}
1 & 2 & 1 & 2 \\
0 & 2 & -2 & 6 \\
0 & 0 & 5 & -10
\end{bmatrix}

將化簡後的矩陣迴帶到方程組得到方程組(2),

\begin{eqnarray}
\left\{
\begin{array}{2}
x + 2y + z = 2 \\
2y - 2z = 6 \\
5z = -10
\end{array}
\right.
\end{eqnarray}

現在根據方程組(2),就可以方便地解出各個未知數的值。

為了更方便地表示方程組,通常將係數矩陣記為$\mathbf{ A }$,將三個未知數用一個列向量$\vec{x} = [x, y, z]^{T}$表示,將等號右邊的數值用列向量$\vec{b} = [2, 12, 2]^{T}$表示。因此方程組(1)就可以寫成:$\mathbf{ A } \vec{x} = \vec{b}$,即:

\[
\begin{bmatrix}
1 & 2 & 1 \\
3 & 8 & 1 \\
0 & 4 & 1
\end{bmatrix}
\begin{bmatrix}
x \\ y \\ z
\end{bmatrix}
=
\begin{bmatrix}
2 \\ 12 \\ 2
\end{bmatrix}
\]

多元一次方程組解的幾何解釋

對於二元一次方程組,每一個等式都可以表示二維平面($\mathbb{R}^2$)上的一條直線,兩個方程的解同時位於兩條直線上,因此就表示兩條直線的在二維平面上的交點。每一個方程相當於增廣矩陣中的一行,因此把每一個方程看做是二維平面上的直線也是以行的視角來解釋的。

另一方面,如果從列的角度來說,係數矩陣中的每一列相當於都是二維平面($\mathbb{R}^2$)中的一個點,從原點連線其中任意一個點就構成一個二維平面上的一個向量。這時求解方程組的解,就相當於解決如何把兩個列向量進行線性組合(拉伸或壓縮後相加),使結果等於等號右邊數值所組成的列向量。

對於三元一次方程組,如果以行的視角,方程組的解可以看成是在三維空間中($\mathbb{R}^3$)3個平面的交點。以列的視角,引數矩陣中的每一列還是相當於三維空間中的一個點。方程組的解就是在三維空間中三個向量線性組合的係數。

由此用列向量的視角來解釋方程組的解會更簡單一些:對於n元一次方程組,就相當於在$\mathbb{R}^n$空間中,求n個向量線性組合時每個向量的權重,使得線性組合的結果等於方程組等式右邊的數值構成的向量。

2. 矩陣與向量的乘積


矩陣可以左乘一個行向量(元素個數與矩陣的行數相同),此時得到的結果相當於矩陣中各行的線性組合。左邊行向量中的每個元素可以看做是矩陣中對應行的係數。例如:

\[
\begin{bmatrix}
1 & 2
\end{bmatrix}
\begin{bmatrix}
1 & 2 & 1 \\
3 & 8 & 1
\end{bmatrix} =
1 \begin{bmatrix}
1 & 2 & 1
\end{bmatrix} +
2 \begin{bmatrix}
3 & 8 & 1
\end{bmatrix}
\]

此外,矩陣也可以右乘一個列向量(元素個數與矩陣的列數相同),此時得到的結果相當於矩陣中各列的線性組合。右邊列向量中的每個元素可以看做是矩陣中對應列的係數。例如:

\[
\begin{bmatrix}
1 & 2 & 1 \\
3 & 8 & 1
\end{bmatrix}
\begin{bmatrix}
1 \\ 2 \\ 3
\end{bmatrix}
=
1 \begin{bmatrix}
1 \\ 3
\end{bmatrix} +
2 \begin{bmatrix}
2 \\ 8
\end{bmatrix} +
3 \begin{bmatrix}
1 \\ 1
\end{bmatrix}
\]

同理,兩個矩陣之間的乘法,也可以看成是左邊多個行向量與右邊矩陣各行的線性組合,或右邊多個列向量與左邊矩陣各列的線性組合。

3. 矩陣的種類及性質


用$m$表示矩陣$\mathbf{A}$的行數,用$n$表示矩陣$\mathbf{A}$的列數,則矩陣中每個元素可以表示為$a_{i,j}$,其中$i<=m, j<=n$,分別表示該元素所在的行數和列數。

3.1 矩陣的型別

  • 如果$m=n$該矩陣就是一個方形矩陣(方陣);
  • $n$階單位矩陣,是一個$n \times n$的方陣,其主對角線元素為1,其餘元素為0。單位矩陣以$I_n$表示;如果階數可忽略,或可由前後文確定的話,也可簡記為$\mathbf{ I }$(或者$\mathbf{ E }$);
  • 對角矩陣(diagonal matrix)是一個主對角線之外的元素皆為0的矩陣。對角線上的元素可以為0或其他值。對於n行n列的對角矩陣$\mathbf{ D } = (d_{i,j})$符合以下的性質:$d_{i,j} = 0 \mbox{ if } i \ne j \qquad \forall i,j \in\{1, 2, \ldots, n\}$;

  • 三角矩陣(triangular matrix)是方形矩陣的一種,因其非零係數的排列呈三角形狀而得名。三角矩陣分上三角矩陣和下三角矩陣兩種。上三角矩陣的對角線左下方的係數全部為零,下三角矩陣的對角線右上方的係數全部為零。三角矩陣可以看做是一般方陣的一種簡化情形。

  • 對稱矩陣(symmetric matrix)是一個方形矩陣,其轉置矩陣和自身相等。即$\mathbf{ A }=\mathbf{ A }^{\textrm {T}}$.

3.2 矩陣的性質

  • 矩陣的行空間:由矩陣中包含的行向量構成;
  • 矩陣的列空間:有矩陣中包含的列向量構成;
  • 矩陣的秩:列向量空間的維度,也是相互獨立(線性不相關)的列向量的個數,表示由列向量的所有線性組合張成線性空間的維度;

4. 行列式


行列式(Determinant),記作$\det(A)$或$|A|$,是一個在方塊矩陣上計算得到的標量。行列式可以看做是有向面積或體積的概念在一般的歐幾里得空間中的推廣。在歐幾里得空間中,行列式描述的是一個線性變換對“面積或體積”所造成的影響。

如果我們將矩陣$\mathbf{ A }$寫成$\mathbf{ AI }$,即右乘一個單位矩陣,那麼乘積的結果就相當於左邊的矩陣$\mathbf{ A }$對單位矩陣的變換(拉伸和旋轉)。例如下面的例子:這裡用$\mathbf{ A }$表示單位矩陣(黃色小方塊),另一個矩陣為


\begin{bmatrix}
3 & 2 \\
0 & 2
\end{bmatrix}

乘積的結果:由兩條列向量圍成的面積從1變成了6,恰好等於左乘矩陣的行列式的值。

加入行列式等於0,表示什麼呢?如下圖所示,行列式等於0,相當於兩個列向量是線性相關的,畫出來就是共線的。這時候圍成的面積也等於0.

更多例子可觀看視訊:https://www.youtube.com/watch?v=Ip3X9LOh2dk

5. 特徵值與特徵向量


上文中描述過,矩陣右乘一個列向量(元素個數與矩陣的列數相同),此時得到的結果相當於矩陣中各列的線性組合。矩陣與向量的乘積中,結果的維度保持不變(與向量的維度相同),從影象上來看一個左乘矩陣的作用就是旋轉和拉伸該向量。這樣的矩陣,只要列數與該向量的個數相等,其它沒有任何限制,理論上可以有無數個。

進一步,假如有一個矩陣使得式子$\mathbf{ A }^{ ' } \vec{v} = \lambda \vec{v}$成立,此時矩陣$A'$非常特殊:該矩陣只改變了向量$\vec{v}$的長度,不改變該向量的方向(但可能旋轉180度),其作用的效果相當於一個標量$\lambda$。

從矩陣$\mathbf{ A }^{'}$的角度來說,此時的向量$\vec{v}$就是該矩陣的特徵向量,等式右邊的標量$\lambda$就是該矩陣的特徵值。

知乎使用者李浩對“如何理解矩陣特徵值?”這個問題有非常精彩的回答:https://www.zhihu.com/question/21874816/answer/19592526

reference

https://open.163.com/newview/movie/courseintro?newurl=%2Fspecial%2Fopencourse%2Fdaishu.html

https://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%B6%88%E5%8E%BB%E6%B3%95

https://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF-%E8%8B%A5%E7%88%BE%E7%95%B6%E6%B6%88%E5%85%83%E6%B3%95

https://zhuanlan.zhihu.com/p/25583527

https://zh.wikipedia.org/wiki/%E5%96%AE%E4%BD%8D%E7%9F%A9%E9%99%A3

https://zh.wikipedia.org/wiki/%E5%B0%8D%E8%A7%92%E7%9F%A9%E9%99%A3

https://zh.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E7%9F%A9%E9%98%B5

https://zh.wikipedia.org/wiki/%E8%A1%8C%E5%88%97%E5%BC%8F

https://www.youtube.com/watch?v=Ip3X9LOh2dk

https://www.zhihu.com/question/21874816/answer/19592526