《线性代数》6. 线性相关、线性无关与生成空间

线性组合

回忆一下向量的两个最基本的运算:

  • 向量加法:\(\vec{v} + \vec{w}\)
  • 向量乘法:\(k\vec{v}\)

这两个基本运算构建了线性代数中最重要的一个概念:线性组合。对于若干个 \(n\) 维向量 \(\vec{v_{1}}, \vec{v_{2}}, \vec{v_{3}}, ..., \vec{v_{p}}\),那么 \(k_{1}·\vec{v_{1}}+k_{2}·\vec{v_{2}}+k_{3}·\vec{v_{3}}+...+k_{p}·\vec{v_{p}}\) 称为这些向量的一个线性组合。

可以理解一下线性组合这个概念,其实很好理解,就是有 \(p\)\(n\) 维向量,将每个向量的前面乘上一个系数,然后再加起来,得到的结果就是这 \(p\) 个向量的线性组合。

为了更好的理解线性组合,我们举个例子。首先在三维空间中,存在三个标准单位向量:\(\vec{e_{1}} = (1, 0, 0)^{T}, \vec{e_{2}} = (0, 1, 0)^{T}, \vec{e_{3}} = (0, 0, 1)^{T}\)

单位向量就是模为 \(1\) 的向量,标准单位向量就是一个点为 \(1\)、其余点为 \(0\) 的单位向量。显然单位向量可以有无数个,但标准单位向量的个数取决于空间的维度,比如 \(n\) 维空间中就有 \(n\) 个标准单位向量。

而任何一个点都可以用标准单位向量表示,比如:\(\vec{v} = (x, y, z) = x·(1, 0, 0)^{T} + y·(0, 1, 0)^{T} + z·(0, 0, 1)^{T} = x·\vec{e_{1}} + y·\vec{e_{2}} + z·\vec{e_{3}}\)。所以任何一个向量,都可以用标准单位向量的一个线性组合表示。

再比如矩阵乘上一个向量:

\(\begin{Bmatrix}a & b\\c & d\end{Bmatrix}·\begin{Bmatrix}k_{1}\\k_{2}\end{Bmatrix} = \begin{Bmatrix}a·k_{1} + b·k_{2}\\c·k_{1} + d·k_{2}\end{Bmatrix}\)

我们完全可以把矩阵拆分成两个向量:

\(\begin{Bmatrix}a & b\\c & d\end{Bmatrix}·\begin{Bmatrix}k_{1}\\k_{2}\end{Bmatrix} = k_{1}·\begin{Bmatrix}a\\c\end{Bmatrix} + k_{2}·\begin{Bmatrix}b\\d\end{Bmatrix} = \begin{Bmatrix}a·k_{1}\\c·k_{1}\end{Bmatrix} + \begin{Bmatrix}b·k_{2}\\d·k_{2}\end{Bmatrix} = \begin{Bmatrix}a·k_{1} + b·k_{2}\\c·k_{1} + d·k_{2}\end{Bmatrix}\)

此时也对应一个线性组合,然后重点来了,对于一组向量 \(\vec{v_{1}}, \vec{v_{2}}, \vec{v_{3}}, ..., \vec{v_{p}}\)

  • 如果能找到一组标量:\(k_{1}, k_{2}, k_{3}, ..., k_{p}\)(不全为 0),使得 \(k_{1}·\vec{v_{1}}+k_{2}·\vec{v_{2}}+k_{3}·\vec{v_{3}}+...+k_{p}·\vec{v_{p}}\) 等于零向量,那么就称这 \(p\) 个向量是线性相关的。
  • 如果只有当 \(k_{1}, k_{2}, k_{3}, ..., k_{p}\) 全部为 0 的时候,\(k_{1}·\vec{v_{1}}+k_{2}·\vec{v_{2}}+k_{3}·\vec{v_{3}}+...+k_{p}·\vec{v_{p}}\) 才等于零向量,那么这个 \(p\) 个向量就是线性无关的。

换句话说,如果一组向量是线性相关,那么其中至少有一个向量可以被其它向量表示,也就是存在一组不全为 \(0\) 的系数,这些系数和向量相乘之后的和为零向量;如果一组向量线性无关,那么没有任何一个向量可以被其它的向量表示,也就是线性组合为零向量的唯一办法就是所有的系数都为 \(0\)

我们举个例子:

\(v_{1} = \begin{Bmatrix}2\\2\end{Bmatrix}, v_{2} = \begin{Bmatrix}8\\6\end{Bmatrix}, v_{3} = \begin{Bmatrix}0\\1\end{Bmatrix}\)

由于 \(v_{2} = 4·v_{1} - 2·v_{3}\),或者说存在 \(k_{1} = 4, k_{2} = -1, k_{3} = -2\),使得 \(k_{1}v_{1} + k_{2}v_{2} + k_{3}v_{3} = O\),所以 \(v_{1}, v_{2}, v_{3}\) 是线性相关的。

\(v_{1} = \begin{Bmatrix}1\\0\end{Bmatrix}, v_{2} = \begin{Bmatrix}0\\1\end{Bmatrix}\)

此时 \(v_{1},v_{2}\) 就是线性无关的,因为任何一个向量都无法被其它向量表示。换句话说,我们找不到一组标量 \(k\),使得它们的线性组合为零向量,除非这组 \(k\) 全部是 \(0\),但 \(0\) 和任意向量相乘,结果都是零向量。所以如果只有组里面的 \(k\) 都是 \(0\),才能使得这些向量线性组合的结果为零向量,那么这些向量就是线性无关的。

然后我们不难发现,任何一个向量和它的标准单位向量都是线性相关的,我们以三维空间为例。

对于任何一个向量:\(\vec{v} = \begin{Bmatrix}x\\y\\z\end{Bmatrix}\),都有 \(\vec{v} = x· \begin{Bmatrix}1\\0\\0\end{Bmatrix} + y· \begin{Bmatrix}0\\1\\0\end{Bmatrix} + z· \begin{Bmatrix}0\\0\\1\end{Bmatrix}\),因此(所有的)标准单位向量和任何一个向量组合起来,那么这组向量都是线性相关的。

补充:只要这组向量中有一个向量和可以被其它向量表示,那么这组向量就是线性相关的。换句话说,对于 \(k_{1}v_{1} + k_{2}v_{2} + k_{3}v_{3} + ... + k_{p}v_{p} = O\),当 \(k_{i}\) 不为 0 时,\(v_{i}\) 才可以被其它向量表示。

矩阵的逆与线性相关、线性无关

先来补充一下线性相关的一些性质:假设有 \(m\)\(n\) 维向量 \(\vec{v_{1}},\vec{v_{2}},\vec{v_{3}},...,\vec{v_{m}}\),如果 \(m > n\),那么这 \(m\) 个向量一定是线性相关。比如有 \(4\) 个三维向量,那么不管向量的值是多少,它们一定线性相关。我们证明一下,要找到一组不全为 \(0\) 的数,使得:

\(k_{1}·v_{1} + k_{2}·v_{2} + k_{3}·v_{3} + ··· + k_{m}·v_{m} = k_{1}·\begin{Bmatrix}v_{11}\\v_{12}\\v_{13}\\···\\v_{1n}\end{Bmatrix} + k_{2}·\begin{Bmatrix}v_{21}\\v_{22}\\v_{23}\\···\\v_{2n}\end{Bmatrix} + k_{3}·\begin{Bmatrix}v_{31}\\v_{32}\\v_{33}\\···\\v_{3n}\end{Bmatrix} + ··· + k_{m}·\begin{Bmatrix}v_{m1}\\v_{m2}\\v_{m3}\\···\\v_{mn}\end{Bmatrix} = O\)

我们知道矩阵 \(A\) 和一个向量 \(\vec{v}\) 相乘,可以看作是 \(A\) 的每一个列向量和 \(\vec{v}\) 的每一个标量相乘,然后再相加。那么这个过程也可以反过来,因此上面的式子等价于如下:

\(\begin{Bmatrix}v_{11}&v_{21}&v_{31}&···&v_{m1}\\v_{12}&v_{22}&v_{32}&···&v_{m2}\\v_{13}&v_{23}&v_{33}&···&v_{m3}\\···&···&···&···&···\\v_{1n}&v_{2n}&v_{3n}&···&v_{mn}\end{Bmatrix} · \begin{Bmatrix}k_{1}\\k_{2}\\k_{3}\\···\\k_{m}\end{Bmatrix} = O\)

由于等号右边全部是 0, 所以我们只看系数矩阵即可,所以这又可以转化为一个线性系统问题。接下来我们的任务就是看这个线性系统是否有非零解,首先零解肯定是解的一种,但如果只有零解,那么显然这 \(m\)\(n\) 维向量就是线性无关的,否则就是线性相关。

由于 \(m > n\),也就是说系数矩阵的列数要大于行数,或者说未知数的个数大于方程的个数。所以它会有无数解,而不是只有一个零解,因此这 \(m\) 个向量是线性相关。

所以得出结论:如果向量的个数 \(m\) 大于向量的维度 \(n\),那么这 \(m\) 个向量是线性相关。

那么问题来了,它们何时线性无关呢?如果线性无关,那么 \(k_{1},k_{2},...,k_{m}\) 必须全部为 \(0\),换句话说系数矩阵 \(A·x = O\) 只有零解。根据克拉默法则,若齐次线性方程组只有零解,那么系数矩阵的行列式不为 \(0\),而行列式不为 \(0\) 是矩阵可逆的一个充要条件。

关于行列式后续再聊,总之只需要知道:如果系数矩阵是可逆的(非奇异矩阵),那么这 \(m\) 个向量就线性无关。而矩阵可逆也隐含了 \(m\)\(n\) 是相同的。

直观理解线性相关和线性无关

我们上面介绍了线性相关和线性无关,对于若干个 \(n\) 维向量 \(\vec{v_{1}},\vec{v_{2}},\vec{v_{3}},...,\vec{v_{m}}\),如果存在至少一组不全为 \(0\)\(k\),使得 \(k_{1}·v_{1} + k_{2}·v_{2} + k_{3}·v_{3} + ··· + k_{m}·v_{m} = O\),那么这若干个向量就是线性相关,否则就是线性无关。光看定义还是很好理解的,但是这背后的含义估计有人还是觉得不够直观,那么下面就来换个角度来理解它。

所谓线性相关,就是其中一个向量和被其它向量的线性组合表示,这也是相关二字的含义,因为一个向量被其它向量关联起来了。但是从信息角度来看,线性相关就以为着这组向量存在信息冗余,因为至少会有一个向量可以表示成其它向量的线性组合,那么这个向量本身就没有表达任何新的信息。而线性无关则意味着信息的完全不冗余,因为每个向量都是独立的,无法表达成其它向量的线性组合。

下面我们就以二维平面为例,在里面随便定义两个向量。

蓝色箭头是随便定义的两个向量,我们记作 \(\vec{u}, \vec{w}\),它们什么关系我们并不在乎,有可能线性相关,也可能线性无关。但如果再加入第三个向量(图中的绿色箭头),那么这三个向量就一定线性相关。证明也很简单,我们将蓝色箭头所在线段延长,并从绿色箭头的位置向两个线段做彼此的平行线,交点为 A、B。显然绿色箭头代表的向量就等于 \(OA + OB\),而 \(OA\)\(OB\) 又可以表示成 \(\vec{u}\)\(\vec{w}\)\(k_{1}\)\(k_{2}\) 倍,所以三个向量一定是线性相关的。

当然啦,图中的三个向量都画在了坐标系的第一象限,此时 \(k_{1}, k_{2}\) 均为正值。但其它象限也是一样的,只是 \(k_{1}, k_{2}\) 的符号会发生变化。

然后图中的 \(\vec{u}, \vec{w}\) 是不共线的,如果它们共线呢?答案就更简单了,此时这两个向量本身就是线性相关的。如果再来一个向量 \(\vec{v}\),它们仍然线性相关,只需要让 \(\vec{v}\) 系数为 \(0\) 即可。

以上是二维空间,该结论同样可以扩展到 \(n\) 维空间。假设有 \(n\)\(n\) 维向量,它们之间是否线性相关我们无法确定,但如果有 \(n + 1\) 个,那么一定线性相关。

然后我们还可以得出一个结论,如果 \(n\) 个向量中存在零向量,那么这 \(n\) 个向量也一定线性相关(不管向量的维度是多少)。这个也很好证明,只需要让非零向量的系数为 \(0\),零向量的系数不为 \(0\)(随便一个数都行),这样相加之后还是零向量,我们依旧找到了一组不全为 \(0\)\(k\),所以它们线性相关。

生成空间

我们上面已经证明了,在二维空间随便选择两个向量 \(\vec{u},\vec{w}\),只要这两个向量不共线,那么任意的第三个向量都可以被 \(\vec{u},\vec{w}\) 的线性组合表示出来。换句话说,在二维空间中,任意一个向量都可以表示为 \(\vec{u}\)\(\vec{w}\) 的线性组合,那么这个时候就说 \(\vec{u}\)\(\vec{w}\) 可以生成整个二维空间。

类似的,这个结论也可以推广到 \(n\) 维空间。若空间中的所有向量都可以被表示成 \(\vec{v_{1}},\vec{v_{2}},\vec{v_{3}},...,\vec{v_{n}}\) 的线性组合,则称:这些向量可以生成整个空间。

对于 \(n\) 维空间,至少需要 \(n\) 个向量才能够生成。但有 \(n\) 个向量未必能够生成 \(n\) 维空间,就拿二维空间为例,如果两个向量共线,那么就无法生成二维空间。

空间的基

上面我们说了,如果 \(m\)\(n\) 维向量想表示 \(n\) 维空间,那么必须满足 $ m ≥ n$;如果线性无关,那么必须满足 \(m ≤ n\)。要是我希望一组向量既可以生成整个 \(n\) 维空间,并且线性无关,那么 \(m\) 必须等于 \(n\)。这是因为生成 \(n\) 维空间至少需要 \(n\) 个向量,而线性无关最多只能有 \(n\) 个向量(一旦超过 \(n\),那么就一定线性相关),所以此时只能有 \(n\) 个向量。

事实上,如果 \(n\) 个向量想表示 \(n\) 维空间,那么这 \(n\) 个向量必须是线性无关的,否则它无法表示 \(n\) 维空间。而这样的 \(n\) 个向量,我们称之为 \(n\) 维空间的一组基。

结论:\(n\)\(n\) 维向量(因为空间是 \(n\) 维的,所以向量也是 \(n\) 维的)\(\vec{v_{1}},\vec{v_{2}},\vec{v_{3}},...,\vec{v_{n}}\),若它们是这个 \(n\) 维空间的基,必须满足如下条件:

  • 1)这 \(n\) 个向量能够生成整个 \(n\) 维空间;
  • 2)这 \(n\) 个向量线性无关;

当然,这两个条件如果满足任意一个,那么另一个一定满足。同时也能看出,如果一组向量可以生成 \(n\) 维空间(向量个数不小于 \(n\))、并且这组向量还线性无关(向量个数不大于 \(n\)),那么向量的个数一定为 \(n\)

所以基本身还是很好理解的,那么一个空间中有多少个基呢?显然是无数个,以二维空间为例,只要两个向量不共线,那么它们就可以是这二维空间的一组基。此外我们之前介绍的标准单位向量也是一组基,并且还是最常见的一组基。

\(\vec{e_{1}},\vec{e_{2}}\) 是空间的基,\(\vec{u},\vec{w}\) 也是空间的基,它们都可以表示整个生成空间,所以它们具有同样的性质。换句话说,它们都可以看做是二维空间的一个坐标系,只是表达的坐标有些差异。我们以一个矩阵为例:

\(\begin{Bmatrix}4 & 2\\1 & 3\end{Bmatrix} · \begin{Bmatrix}2\\2\end{Bmatrix}\)

我们之前说矩阵可以理解为转换函数,负责对向量进行变换。如果使用基的概念来理解,那么就是使用 \((1, 0), (0, 1)\) 这组基表示的坐标点 \((2, 2)\),如果换成新的一组基 \((4, 1), (2, 3)\) 来表示,坐标是多少?

如果是以标准单位向量作为基,那么就沿着 \((1, 0)\) 走两个单位,沿着 \((0, 1)\) 走两个单位,所以点的坐标是 \((2, 2)\)。更专业的说法是 \((2, 0)\)\((0, 2)\) 组成的平行四边形的对角线的终点坐标,而上面的 \((2, 2)\) 也就是这么来的。但现在基改变了,那么就变成了沿着 \((4, 1)\) 走两个单位,沿着 \((2, 3)\) 走两个单位,这里的单位就是基对应的模。所以点的坐标就变成了 \((8, 2)\)\((4, 6)\) 组成的平行四边形的对角线的终点坐标。

所以这两组基具备相同的性质,它们都可以表达为一个坐标系,只不过标准单位向量之间的夹角是 90 度,并且模是 1,所以它是最常见的一组基。拓展到 \(n\) 维空间也是如此,任意给定一组基,那么任何一个向量(或者点)都可以表示成这组基的线性组合,并且表示方法是唯一的(也就是一个点不会存在两个坐标)。

以上我们就介绍了什么是空间的基,再来补充基的两个性质:

  • 如果 \(m\) 个向量可以生成 \(n\) 维空间,并且其中的一个向量可以被其它向量线性组合,那么删除这个向量后,剩下的向量仍然可以表示整个 \(n\) 维空间。这个很好理解,因为该向量可以被其它向量线性组合,所以它没有提供新的信息,所以即便将它删除,仍然可以表示 \(n\) 维空间。
  • 如果 \(m\) 个向量可以生成 \(n\) 维空间,则该组向量一定存在一个子集,是 \(n\) 维空间的一组基。举个例子,如果 \(m = n\),那么这 \(m\) 个向量显然就是空间的一组基,只不过此时的子集就是该组向量本身(不是真子集)。否则 \(m >= n\),那么根据上一个性质,我们不断删除可以被其它向量线性组合的向量,那么当向量个数等于 \(n\) 时,它就是一定是空间的基(此时是真子集)。

总之生成空间和空间的基非常重要,因为很多时候我们看待一个点的视角不一定非要放在直角坐标系中,或者说不一定要放在标准单位向量组成的坐标系中。

posted @ 2023-09-02 20:10  古明地盆  阅读(119)  评论(0编辑  收藏  举报