行列式与本页画面
2 × 2矩阵A = (a b; c d)是平面上的一个线性变换。它把î和ĵ送到自己的两列a₁ = (a, c)和a₂ = (b, d),于是单位正方形变成以a₁、a₂为边的平行四边形。A的行列式就是这个平行四边形的有向面积。
图上画的是A作用前后的平面:标准网格是淡色虚线,A把它变成的网格是墨色细线,单位正方形的像是黄色的平行四边形。原点附近的黄色小弧从a₁沿较近的一边转到a₂。旗子是跟着一起变换的图形,虚线是它原来的位置,实线是A把它放到的位置。
行列式说的不只是单位正方形。网格的每一个小方格都变成同样的平行四边形,所以由方格拼成的区域,面积都乘上|det A|。把网格加密也一样。圆盘这样的图形,能用越来越小的方格填得越来越满,所以它们的面积也乘上|det A|。选“圆”时,面积为π的单位圆变成面积为|det A|·π的椭圆;det A = 0时,它压成一条线段或一个点。
符号说明平面有没有被翻过来。从a₁沿较近的一边转到a₂,如果是逆时针,就像从î转到ĵ那样,A保持平面的定向,det A > 0。如果是顺时针,A就反转了平面的定向:旗子朝向反了,黄色填充变成斜线,det A < 0。行列式随矩阵的元素连续变化,不能从正数一下跳到负数。把a₂拖过a₁所在的直线,平行四边形会先压成一条线段,这时det A = 0,然后才翻过去。
det A = 0时,两列落在同一条直线上,A把整个平面压到这条线上;A是零矩阵时,就压成原点O这一个点。于是不同的点会落到同一个地方,这一步没法还原,所以A没有逆矩阵。
为什么是ad − bc?打开“剪切构造”推一推。剪切是把平行四边形的一条边沿另一条边所在的直线滑动。底和高都没变,面积也就没变。det A ≠ 0且|a|不小于|c|时,先把a₂沿a₁推,推到竖直的(0, h),这里h = d − bc/a。再把a₁沿这条竖边推,推到x轴上的(a, 0)。结果是边长为|a|和|h|的长方形,有向面积a·h = ad − bc。|c|比|a|大时,页面换一个方向推成长方形,有向面积同样是ad − bc。如果det A = 0,平行四边形是扁的,推不成长方形。
把一列的倍数加到另一列上,正是这样一次剪切,所以行列式不会变。
值得注意
- 打开“剪切构造”时,A并没有变。被推动的是黄色的副本,A自己的平行四边形留成一个淡淡的虚线轮廓。
- det A = 0而A不是零矩阵时,实线是整个平面落到的那条线,虚线是落到O的那些点。两条线可能是同一条,比如A = (1 −1; 1 −1)。