x 3 − x − 1 的三个复根中,究竟几个是实数?除了沿实轴数Sturm变号,还能只做有理矩阵运算:构造一个对称矩阵,把它配成正、负平方之和,再用正项数减负项数。
这个差称为形式的签名 。它能计数实根,是因为每个实根贡献一个有正负之分的一维方向,而每对非实共轭根贡献一正一负,恰好抵消。给这些方向加上另一个多项式的值,还能恢复Sturm–Tarski符号查询 理路 Sturm–Tarski 符号查询 Sturm–Tarski query · Tarski query · Sturm–Tarski theorem · 加权实根符号查询 将实根计数推广为根上符号之和,以导数加权负余式链计算查询,并用三次查询恢复正、负、零根数。 。
形式陈述
不求根,先建立有限维乘法
设 p ∈ Q [ x ] 首一、次数为 n ≥ 1 ,本页先假定 p 平方自由。考虑商代数 理路 商环 Quotient ring 按理想的陪集构造的环。
A = Q [ x ] / ( p ) . 每个剩余类唯一写成次数小于 n 的多项式,所以 1 , x , … , x n − 1 是一组有理基。对 h ∈ A ,乘法
m h : A → A , u ↦ h u 是有理线性映射。记 Tr ( m h ) 为其矩阵的迹,即对角元之和;它不依赖所选基。
给定 q ∈ Q [ x ] ,定义对称双线性形式
B q ( u , v ) = Tr ( m q u v ) . 对称性来自商代数交换:q u v = q v u 。在幂基下,其矩阵为
H q = ( Tr ( m q x i + j ) ) 0 ≤ i , j < n . 这就是加权Hermite矩阵。全部乘法都在 p 的关系下约简,因此矩阵项仍是有理数;构造过程中不需要先找到根。
直觉
一个伴随矩阵生成全部条目
令 C 为“乘以 x ”的矩阵。则“乘以 h ( x ) ”的矩阵是 h ( C ) ,所以
( H q ) i j = Tr ( q ( C ) C i + j ) . 对 p = x 3 − x − 1 ,关系 x 3 = x + 1 给出
C = ( 0 0 1 1 0 1 0 1 0 ) . 三列分别记录 x ⋅ 1 = x 、x ⋅ x = x 2 、x ⋅ x 2 = 1 + x 。这就是伴随矩阵 理路 循环子空间与伴随矩阵 Cyclic subspace and companion matrix · Cyclic vector · Polynomial companion matrix 把一个向量的精确幂递推表示为多项式商模和伴随矩阵,给出列向量约定下的换基证书。 的乘法解释。
记 s k = Tr ( C k ) 。直接计算得到
s 0 = 3 , s 1 = 0 , s 2 = 2. 由 C 3 = C + I ,对 k ≥ 0 有 s k + 3 = s k + 1 + s k ,因此
s 3 = 3 , s 4 = 2 , s 5 = 5 , s 6 = 5 , s 7 = 7 , s 8 = 10. 例如 s 5 = s 3 + s 2 = 5 。这些数足够构造后面三张矩阵。
为什么非实根会相消
把有理系数扩到实数,不改变矩阵 H q ,只是允许用实数换基。平方自由实多项式分解为互异的一次因子和不可约二次因子,由中国剩余定理 理路 环上的中国剩余定理 Chinese remainder theorem for rings 两两互素理想的交商与对应商环直积之间存在规范同构。 ,有实代数同构
R [ x ] / ( p ) ≅ R r × C s , r + 2 s = n . 这里每个实根对应一个 R 分量,每对非实共轭根对应一个 C 分量。不同分量相乘为零,所以迹形式按这些分量正交分块。
在实根 α 对应的一维分量,形式就是
( u , v ) ⟼ q ( α ) u v . 若 q ( α ) > 0 ,它贡献一个正平方;若小于零,贡献一个负平方;若为零,贡献一个零方向。
在非实根 z 对应的复分量,设 q ( z ) = c + d i 。复数乘法作为二维实线性映射的迹是其实部的两倍,所以形式为 2 Re ( q ( z ) u v ) 。在实基 ( 1 , i ) 下,它的矩阵是
2 ( c − d − d − c ) . 若 q ( z ) ≠ 0 ,两个特征值为 ± 2 c 2 + d 2 ,一正一负;若 q ( z ) = 0 ,整块为零。两种情况下,对签名的净贡献都是零。
由Sylvester惯性定律 理路 Sylvester 惯性定律 Sylvester law of inertia · Inertia under congruence 用最大正负子空间的维数证明实对称二次型的合同分类,给出配方换基并区分零值向量与核。 ,换基不改变正、负、零方向数。于是
signature ( H q ) = ∑ p ( α ) = 0 , α ∈ R sgn q ( α ) . 特别地,q = 1 时,签名就是不同实根数。这里的签名是 n + − n − ,不是矩阵的迹,也不是行列式的符号。
例子与边界
第一张矩阵:认证恰有一个实根
取 q = 1 ,则 ( H 1 ) i j = s i + j ,所以
H 1 = ( 3 0 2 0 2 3 2 3 2 ) . 不用近似特征值,可以直接给出有理分解
H 1 = L 1 D 1 L 1 T , L 1 = ( 1 0 0 0 1 0 2 / 3 3 / 2 1 ) , D 1 = diag ( 3 , 2 , − 23 / 6 ) . L 1 可逆,逐项相乘恢复 H 1 ,故两者合同。D 1 有两个正项、一个负项,所以
signature ( H 1 ) = 2 − 1 = 1. 于是 x 3 − x − 1 恰有一个实根。这个结论独立于Sturm端点表;另外两个复根所贡献的一正一负已经相消。
第二张矩阵:在唯一实根上判断符号
现在取 q = x 2 − 2 ,矩阵项为 s i + j + 2 − 2 s i + j ,得到
H q = ( − 4 3 − 2 3 − 2 − 1 − 2 − 1 1 ) . 例如左上角是 s 2 − 2 s 0 = 2 − 6 = − 4 。同样有精确分解
H q = L q D q L q T , L q = ( 1 0 0 − 3 / 4 1 0 1 / 2 − 10 1 ) , D q = diag ( − 4 , 1 / 4 , − 23 ) . 它有一个正项、两个负项,签名为 − 1 。已知实根只有一个,记为 α ,因此
sgn ( α 2 − 2 ) = − 1. 这与上一页在 ( 5 / 4 , 4 / 3 ) 中算出的查询 1 − 2 = − 1 完全相同。
第三张矩阵:把“零贡献”单独查出来
为统计 q 在实根上有多少次非零,取 q 2 = ( x 2 − 2 ) 2 。有
H q 2 = ( 6 − 7 5 − 7 5 − 1 5 − 1 − 2 ) , 以及
L = ( 1 0 0 − 7 / 6 1 0 5 / 6 − 29 / 19 1 ) , D = diag ( 6 , − 19 / 6 , 23 / 19 ) , H q 2 = L D L T . 签名为一。三次查询因此为
N = 1 , U = − 1 , W = 1. 由 ( W + U ) / 2 , ( W − U ) / 2 , N − W ,得到正、负、零根数分别为 ( 0 , 1 , 0 ) 。这份核验同时检查数量和符号,没有把复根混入统计。
零主元不代表零特征值
对同一个三次多项式,若取 q = x ,矩阵为
H x = ( 0 2 3 2 3 2 3 2 5 ) . 左上角为零,但 det H x = − 23 ≠ 0 。若机械地在第一步除以左上角,就会失败;不能据此宣布形式退化。
可以先保留左上二维块
A 0 = ( 0 2 2 3 ) , det A 0 = − 4 < 0 , 它贡献一正一负。剩余Schur补为
5 − ( 3 , 2 ) A 0 − 1 ( 3 , 2 ) T = 23 / 4 > 0. 因此整张矩阵的签名仍为一,认证唯一实根为正。需要的是允许一阶、二阶块的精确合同消元,或其他经过证明的惯性算法,不是对角元逐项数正负。
范围与重根的边界
本页的直接和证明假设 p 平方自由。若有重根,商代数会含幂零元,不能继续写成简单的 R r × C s 。最直接的执行方式是先取平方自由部分,再用本页证明;更一般的Hermite定理也能处理重根,但需要补上非约化代数中的迹论证。
H q 的签名统计整个实轴,默认不带区间。若只想查看某个隔离区间,可用Sturm–Tarski局部查询;也可以进一步设计筛选权重,但必须证明它确实只保留指定根。不能从全局签名直接读出某个区间的结果。
矩阵计算全程精确仍有成本:迹幂、矩阵条目与合同因子的分子分母会变大。本文用三维矩阵演示可核验机制,没有把它宣称为任意次数上的最快实根算法。
推论与应用
终点复算
先仅由关系 C 3 = C + I 算出 s 0 到 s 8 ,构造 H 1 , H q , H q 2 。再逐个验证三条 H = L D L T ,读出签名 ( 1 , − 1 , 1 ) 。最后与负余式链 理路 Sturm–Tarski 符号查询 Sturm–Tarski query · Tarski query · Sturm–Tarski theorem · 加权实根符号查询 将实根计数推广为根上符号之和,以导数加权负余式链计算查询,并用三次查询恢复正、负、零根数。 的查询比较。
完整的单元练习与证书 还把三次因子接回七次输入,要求恢复四个不同实根、其中一个二重根,以及 x 2 − 2 在这些根上的两个零值、两个负值。配套脚本只用Python标准库的精确分数运算复核这些结论。
参考资料
Daniel Plaumann,Real Algebraic Geometry, IHP lectures ,2023,§1,Theorems 1.1与1.3,印刷页3–5:Hermite矩阵、签名与带符号根计数;同节说明伴随矩阵的迹计算。
Saugata Basu、Richard Pollack、Marie-Françoise Roy,Algorithms in Real Algebraic Geometry ,第2版,2006,§4.3.2:Hermite形式与符号查询。本文将平方自由情形的实、复分量逐块展开,并另外构造三次多项式的有理合同证书。