CONCEPT / linear-algebra
行列式:有向体积、可逆性与消元
从平行四边形有向面积出发,推导行列式的多线性、交替性、行变换规则及其与可逆性的等价关系。
本页目标
- 解释二维与三维行列式的有向面积和体积含义。
- 使用多线性、交替性和归一化理解行列式的定义。
- 根据初等行变换高效计算行列式并跟踪符号和倍数。
- 证明行列式为零、列线性相关和方阵不可逆之间的联系。
本页目录
学习目标
行列式把一个方阵对应线性变换对有向体积的影响压缩为一个标量。它能判断变换是否丢失维度,能在消元中跟踪体积变化,也构成特征方程和变量替换公式的重要部分。本章既给出计算规则,也说明规则从何而来。
先修知识
应会计算矩阵乘法,理解方阵、单位矩阵、逆矩阵和线性变换,并能判断一组向量是否线性相关。高斯消元有助于快速计算,但本章会列出所需的三类行变换规则。
记 ,即把方阵列写成 个向量。 或 表示行列式。绝对值描述体积比例,符号还记录有向基是否翻转。
为什么面积需要符号
普通面积永远非负,却无法区分一组有序基是顺时针还是逆时针。线性变换若把 的次序翻转,几何形状的面积仍然相同,但坐标系取向改变。行列式用正负号保留这部分信息。
当两列落在同一直线上时,它们张成的平行四边形面积为零。此时整个平面至少有一个方向被压扁,映射不能逆转。因而零值既是几何退化,也是代数不可逆的信号。
二阶行列式的几何推导
设 、 。由两列张成的平行四边形有向面积定义为
可以用剪切不改变底和高来理解。若 ,从第二列减去 倍第一列,得到 。新平行四边形与原来有相同有向面积,而底长的有向分量为 ,高度为 ,乘积正是 。当 时可交换两列再作同样分析,交换会翻转符号。
这个公式也可由面积函数对每一列线性、交换两列变号、单位正方形面积为一三条性质唯一推出。几何剪切给出直觉,三条代数性质则能推广到任意维数。
示例一:面积缩放与取向翻转
设
行列式为 。因此单位正方形被送到面积为 的平行四边形,并且取向翻转。矩阵作用在任意平面区域上时,面积都乘以 ;这一比例不只对单位正方形成立,因为线性变换会把细小平行四边形统一按同一因子缩放。
三条刻画性质
阶行列式是列向量的函数,满足:
- 对每一列分别线性;
- 交换任意两列,函数值变号;
- 。
这三条性质唯一确定行列式。
交替性立即推出两列相同时行列式为零:交换这两列既不改变矩阵,又要求行列式变号,所以 ,只能有 。若一列是其他列的线性组合,多线性展开后每一项都会出现重复列,因此行列式同样为零。
把每列写成标准基的线性组合并完全展开,只有所有标准基恰好各出现一次的项可能非零,于是得到置换公式
该公式说明唯一性,却包含 项,不适合大矩阵直接计算。实际计算应使用消元或分解。
余子式展开
固定第 行,把置换公式按所选列分组,可得拉普拉斯展开
其中 是删去第 行、第 列后的子矩阵。也可沿任意一列展开。含有许多零元素时,选择零最多的行或列能明显减少手算。
三阶情形沿第一行展开为
正负号按棋盘格交替。所谓“对角线口诀”只适用于三阶,不能推广为一般定义。
行变换如何改变行列式
由三条刻画性质可推出:
- 交换两行,行列式乘以 ;
- 某一行乘以 ,行列式乘以 ;
- 某一行加上另一行的倍数,行列式不变。
第三条可由多线性展开:把 放入第 行,得到原行列式加上一个第 、 行成比例的行列式,后者为零。使用消元把矩阵化为上三角矩阵后,行列式等于对角元素乘积,再乘回所有交换和缩放产生的因子。
示例二:用消元计算三阶行列式
计算
用第二行减去第一行的两倍,行列式不变,得到
再用第三行加第二行,得到上三角矩阵,对角线为 ,故 。若用余子式沿第一列展开,也得到 。两种算法交叉核对了符号。
零行列式与不可逆性的等价链
对 方阵,以下命题等价:
- ;
- 列向量线性无关;
- 只有零解;
- 线性变换不压扁任何非零方向;
- 可逆;
- 对每个 ,方程 有唯一解。
若列线性相关,多线性与交替性说明行列式为零。若列线性无关,它们构成 的一组基,映射既单射又满射,因此可逆。若 可逆,利用乘法性质 ,有 ,所以 不可能为零。
乘法性质也有几何解释: 先把体积乘以 , 再乘以 ,复合变换应乘以二者乘积。严格代数证明可先固定 ,验证函数 满足行列式刻画性质,再由唯一性得到结论。
这一等价链还给出实用的反证方法。若已经找到非零向量被映到零向量,就不必展开行列式,立刻知道矩阵不可逆且行列式为零;反过来,若通过消元得到每列都有主元,也无需余子式展开即可确认行列式非零。不同判据回答的是同一结构事实,选择计算量最小的一条即可。行列式的绝对值非常小时,矩阵虽可能在精确算术中可逆,却会把某些方向强烈压缩;此时数值求解可能敏感,还需结合奇异值或条件数判断稳定性,不能只检查是否严格等于零。
克拉默法则及其边界
当 可逆时,方程 的第 个坐标可以写成
其中 表示把 的第 列替换为 。推导来自行列式对第 列的线性性: ,替换后除 外的项都含重复列而为零。
方程组
对应 , 。替换第一列得 ,所以 ;替换第二列得 ,所以 。代回原方程可直接核对。
克拉默法则适合理论推导和很小的手算,不是大型系统的推荐算法。逐个计算多个行列式成本高,也可能放大舍入误差;数值求解通常使用带主元的消元、QR 或其他分解。
常见误区
“行列式是矩阵所有元素的乘积。”只有三角矩阵的行列式等于对角元素乘积;一般矩阵还包含不同排列对应的带符号项。
“行列式接近零就一定等于奇异。”精确数学中零与非零有明确区别;浮点计算中,一个很小的行列式还受矩阵尺度和维数影响,不能单独作为病态程度的可靠指标。条件数和奇异值更适合数值诊断。
“行列式相同的矩阵具有相同几何作用。”单位矩阵与非平凡剪切矩阵的行列式都为一,但前者保持全部向量,后者改变长度和角度。行列式只保留总体体积与取向信息。
代码:基于消元的行列式
export function determinant(input: readonly (readonly number[])[]): number {
const n = input.length;
if (n === 0 || input.some((row) => row.length !== n)) {
throw new Error("Determinant requires a non-empty square matrix.");
}
const a = input.map((row) => [...row]);
let value = 1;
for (let column = 0; column < n; column += 1) {
let pivot = column;
for (let row = column + 1; row < n; row += 1) {
if (Math.abs(a[row][column]) > Math.abs(a[pivot][column])) pivot = row;
}
if (a[pivot][column] === 0) return 0;
if (pivot !== column) {
[a[pivot], a[column]] = [a[column], a[pivot]];
value *= -1;
}
const pivotValue = a[column][column];
value *= pivotValue;
for (let row = column + 1; row < n; row += 1) {
const factor = a[row][column] / pivotValue;
for (let k = column + 1; k < n; k += 1) a[row][k] -= factor * a[column][k];
}
}
return value;
}
代码使用绝对值较大的主元降低部分舍入风险,但以严格零判断奇异仍只适合教学。可靠数值库还会根据数据类型、尺度和容差处理退化情况。
练习
计算 ,并解释结果的面积缩放与取向含义。若交换两列,答案如何变化?
查看解答
原行列式为 ,面积放大十倍且取向保持。交换两列后行列式变为 ,普通面积比例不变,但取向翻转。
不完全展开,利用行变换证明 。
查看解答
第二、三行分别减第一行,得到 。第三行再减第二行的两倍,得到对角元素 的上三角矩阵。所用都是加倍行变换,行列式不变,因此结果为一。
证明若 且 可逆,则 。再用行列式说明一个幂等方阵的行列式只能是零或一。
查看解答
等式左乘 得 。对任意幂等方阵取行列式,有 ,实数解只有零和一;行列式为一时矩阵可逆,因而矩阵本身就是单位矩阵。
与其他知识的关系
- 矩阵 提供行列索引、乘法和逆矩阵的基本语言。
- 线性变换 给出有向体积缩放和信息损失的几何对象。
- 线性方程组 使用非零行列式判断方阵系统的唯一可解性。
- 矩阵的秩 用独立方向数量刻画与零行列式相同的退化现象。
- 特征值与特征向量 通过 寻找不变方向。
资源
MIT 18.06SC Linear Algebra
Gilbert Strang
提供线性代数核心概念的完整课程顺序、例题、习题和考试材料。
打开官方来源MIT OpenCourseWare 18.06SC 把行列式与消元、可逆矩阵、特征值和体积解释连接起来,可用于继续练习计算并核对等价条件。
MIT 18.02SC Multivariable Calculus
Denis Auroux
把线性代数对象用于几何与多变量问题,并提供例题、习题和解答。
打开官方来源MIT OpenCourseWare 18.02SC 在叉积、三重积和多重积分变量替换中使用有向面积、体积与 Jacobian 行列式,展示行列式在几何和微积分中的应用。它不替代一般 阶行列式的线性代数证明。
下一步
下一章学习 特征值与特征向量,把 改写为 ,再用零行列式找到允许的 。若更关心方程求解,可先进入