表现矩阵 xI - A
选定一组基,把 T 写成矩阵 A。把 V 定义为 F[x]-模的那些关系,由表现矩阵 xI - A 刻画,其元素皆为多项式。这正是你为求特征多项式而计算其行列式的那个 xI - A——只不过现在我们保留整个矩阵,而不仅是它的行列式。
史密斯标准形
在 PID F[x] 上,我们可以对行和列同时做消元,其中“主元”是多项式,并可用单位(非零标量)去乘行或列。以此方式把 xI - A 化为对角矩阵,便得到它的史密斯标准形:一串首一多项式 d1 | d2 | ... | dn,每个整除下一个。
A = [ 2 -1 ] Build xI - A over Q[x]:
[ 1 0 ]
xI - A = [ x-2 1 ]
[ -1 x ]
Row/column ops over Q[x] (swap, add poly multiples, scale by units):
swap rows -> [ -1 x ]
[ x-2 1 ]
clear col 1 ->[ -1 x ]
[ 0 1 + x(x-2) ]
normalize -> [ 1 0 ]
[ 0 x^2-2x+1 ]
Smith normal form: diag( 1 , x^2 - 2x + 1 ) = diag( 1, (x-1)^2 ).读出结构
对角线上非常数的元素就是 V 的不变因子。PID 上有限生成模的结构定理于是断言:V 分解为循环模 F[x]/(d_i) 的直和,每个不变因子对应一个。(常数 1 给出平凡的直和项,予以舍弃。)
分解有两种风味。按不变因子 d1 | d2 | ... 归组,得到不变因子形式;而把每个 d_i 分解为素幂并加以收集,则得到初等因子。两者编码的是同一个模,只是打包方式不同。