形式陈述
设 可逆, 可逆,,。 的列不必独立, 也不必正定。定义
记惯性理路Sylvester 惯性定律Sylvester law of inertia · Inertia under congruence用最大正负子空间的维数证明实对称二次型的合同分类,给出配方换基并区分零值向量与核。为 ,则
三元组按分量相加减。这个公式允许 和 奇异,但要求出现逆矩阵的 可逆。特别地,;求零重数不必先求出整个更新矩阵的谱。
若已有参考矩阵 ,要数 在实切点 左侧的特征值,取 。在 时,计算
的 阶惯性,即可更新原有切点计数。这与对整个新矩阵重新做一次分解是不同的接口:优势来自 ,以及原矩阵的分解或线性求解能被复用。
直觉
把 的每一列理解为一种受更新影响的方向, 记录这些方向之间的正负权重。大矩阵在其余空间中的作用已经包含于 ;只需知道它对 这几列的响应 ,便能汇总更新对正、负、零方向数目的影响。
然而,小矩阵的负指数不能直接加到旧负指数上。辅助变量本身携带了 的惯性,最后必须减掉这份额外计数;前面的负号也不能省。正更新与减去一个外积的更新,正是在这些符号处区别开来。
例子与边界
同时加一个方向、减一个方向
取
直接乘出
虽然 正定,负权更新已经可能制造负根。 的惯性是 。在 ,
二阶Hermitian矩阵的行列式为负,两个实特征值一正一负。因此 。 全正,公式给 ,故 左侧无根。
在 ,
首对角元正且行列式正,配方可知 正定,故 负定。于是
两个端点都无零根,故 内恰有一根。这里只求了两次二阶惯性,没有求三次多项式的根。
再取 ,相应小矩阵为
其行列式分别为 ,都一正一负,与被减掉的 抵消。因此 在三个切点左侧的根数分别等于 的计数,即 。结合前两次计数,得到三个不相交区间 各有一根。下面还会把中间区间右端收紧到 。
原矩阵的谱点未必是新矩阵的谱点
在 , 奇异,本页逆矩阵公式不能使用。但
并不奇异。先把坐标次序换成 ,前二阶块为 ,与最后变量的耦合列为 。,,所以Schur补是 。 一正一负,再加一个负方向,惯性为 。因此中间根实际被认证在 。
这一步是直接对新矩阵作合法分块,并不是把原公式中的逆偷换成伪逆。原来的切点极点只表示该计算路线失效,不表示新矩阵必有特征值在那里。
推论与应用
两次消去为什么给同一份惯性
构造带边框的Hermitian矩阵
先消去 。令 ,直接乘回可得
这是Schur补的分块合同消元理路Schur 补与静态凝聚Schur complement · Static condensation把内部变量的精确响应折入界面矩阵与右端,推导 Schur 补、恢复公式及最小能量性质,并逐项凝聚五节点链。, 可逆。反过来先消去右下块,令 ,得到
两次合同都保持惯性,所以 ,移项即得公式。证明没有用到 满列秩,也没有对 或 求逆,因而那些附加限制不需要。
正定矩阵减去低秩项的准确门槛
若 、,取 ,则 。公式化为
所以 当且仅当 。对秩一减法 、,它成为 ;等号处出现零方向,超过一则有一个负方向。这是准确门槛,而一般范数扰动只给充分安全条件。
例如 、,有 。故正定恰好要求 。在 ,向量 满足
且零指数由一阶小矩阵为零得知恰为一。若 ,小矩阵为 ,给出明确正定余量。
奇异权重、切点和算术模型
若 奇异,先把其非零谱方向写为 ,其中 可逆,零方向不贡献更新;改用 和 。若全为零,直接返回参考矩阵。不能把 换成任意广义逆后沿用同一惯性公式。
若 奇异,可改用非谱切点,或像上例一样直接对更新矩阵使用移位惯性计数理路移位惯性与特征值区间计数Shifted inertia eigenvalue count · Sturm count for symmetric tridiagonal matrices把对称矩阵的移位惯性变成严格或闭区间谱计数,以有理 LDL 和二阶主元给出不依赖近似根的区间证书。。端点恰为新谱点时,保留 ,再根据开闭区间规则计数; 仅在本页两个可逆假设下成立。
实际求 应解 ,不必显式形成大逆矩阵。已有稠密分解时, 个右端约需 算术操作,形成 约需 ,小矩阵分解约需 ;若连 的分解都要从头做,还须计入 。对许多不同切点,不能无理由宣称一次普通分解可以免费解决全部移位系统。
有限精度中,令 ,假设已认证 、,且形成小矩阵、计算 与对称化的额外误差合计不超过 。则可构造Hermitian近似 ,满足
这是由 与范数次乘性得到的。只有已认证 的全部谱距零超过 ,才可用Hermitian有序扰动界理路Hermitian 特征值的有序扰动界Weyl eigenvalue perturbation bound · Weyl monotonicity theorem从变分原理证明 Hermitian 特征值按序配对的绝对误差界,并在同一三阶扰动中核验尺度与谱隙。保证两者同惯性。先前的一阶余量 就要求总误差严格小于 。若区间含零,结果是尚不能判符号;增加打印位数或把小主元直接置零,都不能证明真实零重数。
参考资料