这里强烈推荐3Blue1Brown的系列视频:线性代数的本质。
基向量
事实上,我们在初中以来的平面直角坐标系中所使用的坐标都隐含了一个条件,即我们所选择的基向量分别是沿x轴正方向和y轴正方向的单位向量,这是非常自然的,然而基向量的选择是非常多样的,空间中一个点的坐标也不是固定不变的,而是依赖于我们基向量的选择。基向量是这样一组特殊的向量,能够让向量空间中的任意向量,都可以唯一地表示成它们的线性组合。这就要求我们选择的向量组中的向量要足够“特别”,它不能被向量组中的其他向量表示,否则就不满足唯一表示这个条件。举个例子:
在$\ R^3\ $中,我们选择了$\ \vec{x},\vec{y},\vec{z}\ $这样一组向量作为基底,然而$\ \vec{z} = \vec{x} + \vec{y}$,那么对于向量$\ \vec{a} = 2\vec{x} + \vec{y}\ $来说,它还可以表示为$\ \vec{a} = \vec{x} + \vec{z}$,这就违反了基的唯一性表示原则,所以一组向量要想成为基向量,它们就彼此不能互相表示,也即线性无关。
基于此,我们可以定义向量空间的维度:基包含的向量个数,这里隐含了一个定理,即同一个空间中的所有基包含的向量个数一定是相同的,我们来简单证明一下:
假设现在有两组包含不同数量向量的基$V_1 = \{ \vec{x}, \vec{y}, \vec{z} \} $,$V_2 = \{ \vec{p}, \vec{q} \}$,由于$\ V_2\ $是基,我们可以得出$\ \vec{x}, \vec{y}, \vec{z}\ $均可以被$\ \vec{p}, \vec{q}\ $表示:
由于$\ m_1, m_2, m_3, n_1, n_2, n_3\ $均为已知数,所以下列二元一次方程($\ k, j\ $为未知数)至少有一组解:
于是$\ \vec{z} = k\vec{x} + j\vec{y}$,这与我们基向量的线性无关性矛盾,所以凡是包含向量数量比向量空间维度大的向量组必不可能是基。
矩阵
首先看以下二维空间中的变换:

它就是线性变换 $\ L \ $,具有以下两个性质:
通俗来说就是原来等距的点变换后依然等距,相对关系不变,并且原点不能移动,这样的变换就叫作线性变换。那么如何用数学表达式描述一个线性变换呢?
没错,就是矩阵!
对于矩阵我们并不陌生,它是排列成长方形阵列的元素集合,这里的元素可以是数字或符号甚至是函数,不过最常见的形式还是实数。尽管我们可能对矩阵乘法等各种运算已经熟稔于心,但是对于它表示的含义我们也许并不是特别清楚,它在我们眼里不过是一堆数字,但是实际上它是有着简单的几何意义的,考虑如下矩阵:
将它的第一列$\ {[1 \quad 5]^T} \ $视作对基向量$\ {[1 \quad 0]^T} \ $线性变换后得到的新向量,第二列$\ {[-3 \quad 2]^T} \ $则是对基向量$\ {[0 \quad 1]^T} \ $线性变换后得到的新向量,由此就可以得出该矩阵定义了该向量空间的变换规则,只要用它左乘任何一个向量就可以得到线性变换后的新向量,首先用$\ A \ $乘以基向量:
这与我们$\ A \ $矩阵两列分别表示基向量变换后得到的新向量符合得很好,也从一个侧面很好的解释了为什么矩阵乘法要定义成
只有这样矩阵乘法才能表示线性变换,然而我们现在只解释了基向量的线性变换,为什么说这样一个矩阵就可以定义空间中所有向量的线性变换呢?注意到上一节中我们提到的基向量定义,空间中的所有向量都可以由基唯一表示,那么对于任何一个向量:
我们可以看到变换后的新向量$ \ A\vec{x} \ $在新基$\ A\vec{i} \ 和 \ A\vec{j} \ $下的坐标还是$\ (m, \ n)$,这说明经过矩阵$\ A \ $相乘后,向量之间的相对关系并未改变,所以它是一个线性变换。
以上举的是方阵的例子,它表示的变换不会改变向量的维度,一个二阶矩阵乘以一个二维向量后得到的还是一个二维向量。反之如果不是方阵的话,它表示的变换则会改变向量的维度,一个$2 \times 3$大小的矩阵就表示将三维向量压缩为二维。
秩
在上一节末尾我提到方阵不会改变向量的维度,但是不代表它不会改变空间的维度,考虑以下方阵:
对任意向量$\ \vec{p} = {[x \quad y ]^T}\ $,变换结果为:
可以看到变换后的所有向量均集中在直线$\ y = 5x\ $上,于是我们将空间变换成了一维。更进一步,零矩阵可以将空间压缩成零维,尽管它可能阶数很高,为了衡量这种“压缩”维度的能力,我们提出了秩这个概念。秩被定义为列(行)向量生成的最大线性无关组的向量个数,换句话说就是变换保留了原空间的几个维度,就像上述的$\ B \ $矩阵,秩$\ rank(B) = 1 \ $,变换后的空间也就是一维。
这里总结一下,向量的维度和空间的维度并不是一回事,尽管我们已经习惯了用二个坐标表示二维空间,三个坐标表示三维空间。向量的维度指的是向量中元素的个数,而空间的维度指的是空间中线性无关的基向量的个数,也就是空间的自由度。像上面的(12)式,尽管变换后的向量中有2个元素,但是却只用一个变量就可以表示,这就是只有一个自由度。
行列式
考虑这样一个问题,如何衡量线性变换对空间的缩放程度,即在二维空间中原来面积为1的区域经过变换后的面积为多少如何计算?三维空间的体积如何变化甚至是更高维的空间呢?
实际上,以上问题都可以用行列式解决,它可以衡量一个矩阵对空间大小的改变程度。
说明经过$\ A\ $矩阵这个变换,面积变为原来的17倍。而对于$\ B \ $矩阵:
这也十分合理,因为$\ B \ $矩阵将空间压缩为了一维,面积为0,所以缩放倍数同样也为0。
我们知道行列式可以有负数的情况,这个时候我们可以把面积看作带方向的矢量,负数即代表空间被翻转。
从这个视角,我们也解释为什么行列式要定义在方阵上:对于非方阵,输入空间和输出空间的维度不同,无法直接定义一个统一的缩放因子。