数学中，**不变因子**是λ-矩阵理论中的概念。不变因子定义为λ-矩阵的若尔当标准型中主对角线上出现的非零元素。对矩阵进行初等变换不会影响不变因子，所以两个等价的矩阵拥有相同的不变因子。在不变因子的概念上可以进一步定义**初等因子**的概念。

定义
--

λ-矩阵是以不定元λ的多项式作为元素的矩阵。例如：

{\displaystyle A(\lambda )={\begin{bmatrix}a\_{11}(\lambda )&a\_{12}(\lambda )&\cdots &a\_{1n}(\lambda )\\a\_{21}(\lambda )&a\_{22}(\lambda )&\cdots &a\_{2n}(\lambda )\\\vdots &\vdots &\ddots &\vdots \\a\_{n1}(\lambda )&a\_{n2}(\lambda )&\cdots &a\_{nn}(\lambda )\end{bmatrix}}.}
经过各种初等变换，一个λ-矩阵可以变换为矩阵的标准形。形如：

{\displaystyle A(\lambda )\Rightarrow {\begin{bmatrix}d\_{1}(\lambda )&\;&\;&\;&\;&\;&\;\\\;&d\_{2}(\lambda )&\;&\;&\;&\;&\;\\\;&\;&\ddots &\;&\;&\;&\;\\\;&\;&\;&d\_{r}(\lambda )&\;&\;&\;\\\;&\;&\;&\;&0&\;&\;\\\;&\;&\;&\;&\;&\ddots &\;\\\;&\;&\;&\;&\;&\;&0\end{bmatrix}}.}
其中*r* 是矩阵的秩，并且每个多项式{\displaystyle d\_{i}(\lambda )}整除d\_{{i+1}}(\lambda )。

若{\displaystyle 1\leq k\leq \mathrm {R} (A(\lambda ))}，定义矩阵A(\lambda ) 全部非零*k*阶子式的最大首一公因式为矩阵A(\lambda ) 的*k*阶**行列式因子**，那么高阶的行列式因子必然是低阶的行列式因子的倍数。可以证明，初等变换不改变各阶行列式因子，所以等价的矩阵拥有相同的各阶行列式因子。然而，通过初等变换，总是可以将一个λ-矩阵变为只有对角线上有非零元素的标准形。所以，为了研究各阶的行列式因子，只需要看矩阵的标准形中所显示的信息就可以了。

在标准型中，可以看出，当{\displaystyle k>r} 时，行列式因子必然是0。当{\displaystyle k\leq r}的时候，行列式因子是前*k* 行*k* 列构成的子式：

{\displaystyle D\_{k}(\lambda )=d\_{1}(\lambda )d\_{2}(\lambda )\cdots d\_{k}(\lambda )}

所以，反过来有：

{\displaystyle d\_{1}(\lambda )=D\_{1}(\lambda )}

{\displaystyle d\_{i}(\lambda )={\frac {D\_{i}(\lambda )}{D\_{i-1}(\lambda )}}\qquad (i\geq 2)}

也就是说，λ-矩阵的标准形是唯一的。从而可以定义：

> 一个λ-矩阵的不变因子是其标准形中主对角线上的元素：{\displaystyle d\_{1}(\lambda ),d\_{2}(\lambda ),\cdots ,d\_{r}(\lambda )}。
> 
>

初等因子
----

初等因子的定义建立在不变因子上。设某个矩阵的不变因子是：{\displaystyle d\_{1}(\lambda ),d\_{2}(\lambda ),\cdots ,d\_{r}(\lambda )}，那么将这些不变因子在复数域上分解成一次多项式的乘积：

{\displaystyle d\_{1}(\lambda )=(\lambda -x\_{11})^{c\_{11}}(\lambda -x\_{12})^{c\_{12}}\cdots (\lambda -x\_{1m})^{c\_{1m}}}

{\displaystyle d\_{2}(\lambda )=(\lambda -x\_{21})^{c\_{21}}(\lambda -x\_{22})^{c\_{22}}\cdots (\lambda -x\_{2m})^{c\_{2m}}}

\vdots 

{\displaystyle d\_{r}(\lambda )=(\lambda -x\_{r1})^{c\_{r1}}(\lambda -x\_{r2})^{c\_{r2}}\cdots (\lambda -x\_{rm})^{c\_{rm}}}

其中的c\_{{ij}} 是一次多项式出现的次数。如果有某个{\displaystyle c\_{ij}>0}，那么对应的多项式{\displaystyle (\lambda -x\_{ij})^{c\_{ij}}} 就称为矩阵的初等因子。一个矩阵的所有初等因子合称为它的**初等因子组**。值得注意的是同一个初等因子可以重复出现在初等因子组中，重复的次数是它在以上表达式中出现的次数。

从一个矩阵的不变因子可以确定出这个矩阵的所有初等因子。反之，从一个矩阵的初等因子组也可以反推出矩阵的所有不变因子。具体做法是：将具有相同因子的初等因子根据幂次的大小从高到低排成一排，如果不够的话用1补足，这样会得到若干排多项式，每排的个数是*r* 个。接下来将每排最右边的多项式全部乘起来，就得到d\_{{1}}，将每排右数第二个多项式全部乘起来，就得到d\_{{2}}，等等。以此类推，就可以得到所有的不变因子。

例如：{\displaystyle A={\begin{bmatrix}0&1&1\\1&0&1\\1&1&0\end{bmatrix}}}，求特征矩阵的初等因子组。

考虑其三阶子式

{\displaystyle {\begin{vmatrix}\lambda &-1&-1\\-1&\lambda &-1\\-1&-1&\lambda \end{vmatrix}}=\lambda (\lambda -1)(\lambda +1)-2(\lambda +1)=(\lambda +1)^{2}(\lambda -2)}

所以其三阶行列式因子为 {\displaystyle D\_{3}(\lambda )=(\lambda +1)^{2}(\lambda -2)}

同理考虑其二阶子式{\displaystyle \left\{\lambda ^{2}-1,1+\lambda ,-1-\lambda \right\}}。注意，有部分重复子式没有列出。所以其二阶行列式因子为 {\displaystyle D\_{2}(\lambda )=\lambda +1}。

由于一阶行列式因子含有1，故{\displaystyle D\_{2}(\lambda )=1}。

那么根据行列式因子，可以求出不变因子：

{\displaystyle d\_{1}=D\_{1}(\lambda )=1,d\_{2}={\frac {D\_{2}(\lambda )}{D\_{1}(\lambda )}}=\lambda +1,d\_{3}={\frac {D\_{3}(\lambda )}{D\_{2}(\lambda )}}=(\lambda +1)\cdot (\lambda -2)}
进而可以看出它的初等因子有{\displaystyle \lambda +1,\lambda +1,\lambda -2}。

则Jordan标准型为

{\displaystyle J={\begin{bmatrix}2&&\\&-1&\\&&-1\end{bmatrix}}}

性质
--

* 矩阵的特征多项式是所有不变因子的乘积。矩阵的最小多项式是{\displaystyle d\_{r}(\lambda )}。
* 数域上两个矩阵相似的条件是它们对应的特征矩阵拥有相同的初等因子组或者相同的不变因子。
* 一个维数为*d*，主对角线上的值是\alpha  的若尔当块的初等因子是多项式：{\displaystyle (\lambda -\alpha )^{d}}。

参考来源
----

* 姚慕生.. 复旦大学出版社. 2007. ISBN 7-309-03169-5.
* 王萼芳.. 清华大学出版社. 1997. ISBN 9787302024521.