双线性型与二次型

西尔维斯特判据

西尔维斯特判据是一个判定正定的快速行列式检验:实对称矩阵 B 正定当且仅当它所有的顺序主子式都严格为正。k 阶顺序主子式是 B 左上角 k 乘 k 子块的行列式,所以你依次检验 1x1 角、2x2 角,直到完整的 n 乘 n 行列式——而它们必须全部为正。

其魅力在于你完全不必计算特征值。特征值要求解根;顺序主子式只需 n 个行列式,且有漂亮的递推(这些行列式与对称高斯消元的主元相关,那些主元也都必须为正)。当你必须手算证明正定、或在代码中快速判定时,它是主力检验。

两条警告让人不致出错。其一,此检验只判正定;要判负定,对 -B 施用,这会使 B 的顺序主子式从负号开始正负交替。其二——著名的陷阱——检验主子式不能推广到半定情形。一个矩阵可以所有顺序主子式 >= 0 却仍非半正定;标准反例是 [0, 0; 0, -1],其顺序主子式为 0 与 0,却并非半定。

正确的半定版本使用全部主子式,而非仅仅顺序(左上嵌套)的那些:B 半正定当且仅当每个主子式——任意对称地选取行与列后所得子块的行列式——都非负。这工作量大得多,这正是为何干净的顺序主子式捷径只保留给严格正定情形。

B = [2, 1; 1, 2]: det[2] = 2 > 0, det B = 3 > 0 => positive definite

两个顺序主子式都为正,故矩阵正定。

顺序主子式检验只对严格正定(或经 -B 判负定)有效。判半定时你必须检验全部主子式,而非仅嵌套的顺序主子式——[0,0; 0,-1] 是教科书式陷阱。

又称
leading principal minor test