1. 程式人生 > >線性代數之——向量空間

線性代數之——向量空間

1. 向量空間和子空間

向量空間 \(\boldsymbol R^n\) 由所有的 \(n\) 維向量 \(v\) 組成,向量中的每個元素都是實數。

向量空間 \(\boldsymbol R^2\) 可以用 \(xy\) 平面來表示,其中的每個向量有兩個元素,它們定義了平面上一個點的座標。

在一個向量空間中,如果我們將任意向量相加或者乘以一個標量,也就是任意向量的線性組合,它們的結果仍然在這個向量空間中。

三維空間中過原點的一個平面是一個向量空間,這個向量空間和 \(\boldsymbol R^2\) 很像,但其中的每個向量都有三個元素。如果我們對這個平面中的兩個向量相加,那結果仍然在這個平面中。如果我們對其中的一個向量乘以一個常數,結果也仍然在這個平面中。這個平面位於 \(\boldsymbol R^3\)

向量空間裡,稱為 \(\boldsymbol R^3\)子空間

一個向量空間的子空間是由一系列包含零向量的向量組成的,並且滿足:如果是 \(\boldsymbol v\)\(\boldsymbol w\) 是子空間的兩個向量並且 \(c\) 是任意標量,那麼有 (1) \(\boldsymbol v + \boldsymbol w\)在子空間中, (2) \(c \boldsymbol v\) 在子空間中。

也就是說,所有向量的線性組合都仍然在這個子空間中。

\(\boldsymbol R^3\) 的所有可能子空間有:

  • \(L\) 所有過 (0, 0, 0) 的直線
  • \(P\)
    所有過 (0, 0, 0) 的平面
  • \(Z\) 只有零向量 (0, 0, 0)
  • \(\boldsymbol R^3\) 整個空間

一個最重要的子空間是和矩陣 \(A\) 緊密聯絡的。當我們求解 \(Ax=b\) 時,\(Ax\) 是對 \(A\) 的列的線性組合。為了得到 \(b\),我們用任何可能的 \(x\) 來求取 \(A\) 的列的所有可能的線性組合,這產生了一個 \(A\) 的列空間 \(C(A)\)\(C(A)\) 不僅僅包含 \(A\) 的所有列向量,還包括他們的所有線性組合

因此,當我們求解 \(Ax=b\) 時,如果 \(b\) 存在於 \(A\) 的列空間中的話,我們就可以找到一組係數,使得它們對 \(A\)

的列的線性組合就是 \(b\),否則,方程就無解。

2. \(A\) 的零空間

矩陣 \(A\) 的零空間包含所有 \(Ax=\boldsymbol0\) 的解,這些向量位於 \(\boldsymbol R^n\) 中,表示為 \(N(A)\)

假設 \(x\)\(y\) 位於矩陣 \(A\) 的零空間中,也就是 \(Ax=0\)\(Ay=0\),那就有 \(A(x+y)=0\)\(A(cx)=0\),即它們相加或者乘以一個標量後仍然在零空間中,因此零空間是一個子空間。

零空間是所有特解的線性組合。

平面 \(x+2y+3z=0\) 可以表示為

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

上述方程的兩個特解分別為

\[s_1 = \begin{bmatrix} -2\\1\\0 \end{bmatrix},s_2=\begin{bmatrix} -3\\0\\1 \end{bmatrix}\]

向量 \(s_1\)\(s_2\) 位於平面 \(x+2y+3z=0\) 中,這個平面就是矩陣 \(A=\begin{bmatrix} 1&2&3 \end{bmatrix}\) 的零空間,這個平面上的所有向量都是 \(s_1\)\(s_2\) 的線性組合。

注意到,上述特解的最後兩個元素分別為 0 和 1,這些元素是自由的並且是我們特殊選擇的。因為矩陣 \(A=\begin{bmatrix} 1&2&3 \end{bmatrix}\) 的第一列包含一個主元,因此特解的第一個元素是不自由的,自由的元素就對應著該列沒有主元

3. 消元法求解 \(Ax=0\)

這時候,矩陣 \(A\) 是矩形的,我們求解有 \(n\) 個未知數的 \(m\) 個方程。

\[A = \begin{bmatrix} 1&1&2&3\\2&2&8&10\\3&3&10&13 \end{bmatrix}\]

第一個主元是 1,然後我們需要將主元下面的 2 和 3 變成 0。

\[A \to \begin{bmatrix} 1&1&2&3\\ 0&\boxed0&4&4\\0&0&4&4 \end{bmatrix}\]

這時候,第二列主元的位置為 0,並且其下面的位置也為 0,因此我們也無法用行交換來得到一個主元。

這意味著我們遇到了問題,但我們不應該停止,我們繼續看第三列。我們得到了第二個主元 4,然後繼續向下消元得到下三角矩陣 \(U\)

\[U = \begin{bmatrix} \boxed1&1&2&3\\ 0&0&\boxed4&4\\0&0&0&0 \end{bmatrix}\]

由於第 1 列和第 3 列包含主元,因此主變數就是 \(x_1\)\(x_3\),而 \(x_2\)\(x_4\) 是自由變數。

這時候,我們分別將兩個自由變數設為 0 和 1,就可以得到方程的解為

針對每個自由變數都有一個與之對應的特解,所有特解的線性組合就是零空間 \(N(A)\)。如果沒有一個變數是自由的,這就意味著方程組只有一個零向量解。

若是 \(n>m\),即列數大於行數,那肯定至少有一個變數是自由的,因為每一行最多隻有一個主元,這也就意味著方程組有至少一個特解,這個解是非零的。

對上面的下三角矩陣 \(U\) 繼續進行消元,第二行除以 4,然後第一行減去第二行的 2 倍,我們可以得到簡化行階梯形式 \(R\)

\[R = \begin{bmatrix} \boldsymbol1&1&\boldsymbol0&1\\ \boldsymbol0&0&\boldsymbol1&1\\0&0&0&0 \end{bmatrix}\]

這時候,特解就可以很容易地從 \(R\) 中讀出來,第一個特解的 -1 和 0 就是 \(R\) 中第二列的元素 1 和 0 取負號,第二個特解的 -1 和 1 就是 \(R\) 中第四列的元素 1 和 1 取負號。

另外,在 \(R\) 的左邊乘以任意可逆的矩陣,不會改變其零空間

獲取更多精彩,請關注「seniusen」!