行列式与空间缩放
我们刚开始学习线性代数的时候,往往都是从行列式的计算开始的。在学习了矩阵和线性变换的内容后,我们就可以非常方便地理解行列式的意义。我们使用 d e t det det 来表示一个矩阵的行列式。让我们先来看看行列式的公式,我们假设有一个 2 × 2 2 \times 2 2×2 的矩阵。
d e t ( [ a b c d ] ) = a × d − b × c det \left( \begin{bmatrix} a & b \\ c & d \end{bmatrix} \right) = a \times d - b \times c det([acbd])=a×d−b×c
在对向量空间运用线性变换后,会对向量空间进行一定的缩放。有一些将空间向外拉伸,有一些将空间向内压缩。
为了能够计算出这个缩放比例,我们使用行列式来进行计算,也就是说行列式是用来计算矩阵待变的线性变换对向量空间的缩放比例,在下面我们再讨论行列式的公式是怎么来的,首先先理解行列式的几何意义。
在二维空间中我们以 1 × 1 1 \times 1 1×1 面积为一的正方形为基础来衡量线性变换对二维空间的缩放比例。
首先用几个最简单的例子来感受一下行列式就是空间缩放比例这个概念
-
d e t ( [ 1 0 0 1 ] ) = 1 det \left( \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \right) = 1 det([1001])=1,由于单位矩阵没有对向量空间产生任何影响,所以原来 1 × 1 1 \times 1 1×1 的正方形在变换后还是 1 × 1 1 \times 1 1×1。所以空间的缩放比例也就是1。
-
d e t ( [ 2 0 0 1 ] ) = 2 det \left( \begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix} \right) = 2 det([2001])=2,矩阵将基向量 i ^ \hat{i} i^ 变换成 [ 2 0 ] \begin{bmatrix} 2 \\ 0 \end{bmatrix} [20],所以原来所以原来 1 × 1 1 \times 1 1×1 的正方形在变换后变成了 2 × 1 2 \times 1 2×1 的长方形,空间缩放比例是2。
-
d e t ( [ 4 2 2 1 ] ) = 0 det \left( \begin{bmatrix} 4 & 2 \\ 2 & 1 \end{bmatrix} \right) = 0 det([4221])=0,这个矩阵将基向量 i ^ \hat{i} i^ 变换成了 [ 4 2 ] \begin{bmatrix} 4 \\ 2 \end{bmatrix} [42] 将基向量 j ^ \hat{j} j^ 变换成了 [ 2 1 ] \begin{bmatrix} 2 \\ 1 \end{bmatrix} [21],由于两个变换后的基向量共线,导致向量空间从二维降到了一维,也就是将平面压缩到一条线上,所以空间缩放比例为0。
-
d e t ( [ 0 0 0 0 ] ) = 0 det \left( \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \right) = 0 det([0000])=0,这个矩阵将两个基向量都变成了零向量,将整个平面压缩到一个点上,空间缩放比例为0。
-
d e t ( [ − 1 0 0 1 ] ) = − 1 det \left( \begin{bmatrix} -1 & 0 \\ 0 & 1 \end{bmatrix} \right) = -1 det([−1001])=−1,在这个变换中基向量 i ^ \hat{i} i^ 变成了 [ − 1 0 ] \begin{bmatrix} -1 \\ 0 \end{bmatrix} [−10],由于一开始 i ^ \hat{i} i^ 的位置是在 j ^ \hat{j} j^ 的左边的,在变换后 i ^ \hat{i} i^ 到了 j ^ \hat{j} j^ 的右边,我们可以理解为这个变换将整个平面翻转了过来,也就是上面的负号的来源。
公式推导
从上面的例子中感受了矩阵的行列式就是线性变换对空间的缩放比例后,我们再来看看这里行列式的公式是怎么来的。其实这个行列式公式的推导非常简单,这里放一张图片,我们可以自己照着来推导行列式的公式。
d e t ( [ a b c d ] ) = ( a + b ) × ( c + d ) − a c − b d − 2 b c = a d − b c det \left( \begin{bmatrix} a & b \\ c & d \end{bmatrix} \right) = \left( a + b \right) \times \left( c + d \right) - ac - bd - 2bc = ad - bc det([acbd])=(a+b)×(c+d)−ac−bd−2bc=ad−bc
扩展
我们前面讨论的行列式是基于 2 × 2 2 \times 2 2×2 矩阵的基础上的,也就是利用行列式计算线性变换对二维平面的缩放比例。如果将行列式运用到了 3 × 3 3 \times 3 3×3 的矩阵上面,那就是利用行列式计算线性变换对三维空间的缩放比例。
在三维空间中,行列式为0也是代表线性变换将向量空间压缩到了更小的维度,这里有三种情况,分别是将三维空间压缩成一张平面,一条直线和一个点。
在三维空间中,行列式的正负符合左右手定则。
- 右手手指指向 i ^ \hat{i} i^,同时中指指向 j ^ \hat{j} j^,如果竖起的大拇指与 k ^ \hat{k} k^ 方向相同,那么这个行列式为正
- 左手手指指向 i ^ \hat{i} i^,同时中指指向 j ^ \hat{j} j^,如果竖起的大拇指与 k ^ \hat{k} k^ 方向相同,那么这个行列式为负
在后面的公式推导部分跟 2 × 2 2 \times 2 2×2 矩阵的方法一样,将原来体积为1的 1 × 1 × 1 1 \times 1 \times 1 1×1×1 正方体缩放后再减去那些无用的空间,直到剩下变换后的平行六边形。
小测试
在理解了行列式的几何意义和前面线性变换和复合变换后,让我们来尝试理解下面的等式为什么能够成立
d e t ( A × B ) = d e t ( A ) × d e t ( B ) det(A \times B) = det(A) \times det(B) det(A×B)=det(A)×det(B)