ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

行列式因子、不变因子、初等因子:从定义到若尔当标准形的完整推导

行列式因子、不变因子、初等因子:从定义到若尔当标准形的完整推导 行列式因子、不变因子、初等因子这三个词放在一起足以劝退一大半刚学高等代数的同学。我当时也一样课本上的定义每个字都认识连在一起就不知道在说什么好不容易背下“D_k是k阶子式的最大公因式d_kD_k/D_{k-1}初等因子是不变因子分解出来的不可约因式幂”真拿到一道题又不知道先算哪个、算出来怎么用。这篇文章想把这条线彻底讲透三个概念分别是什么、为什么需要它们、它们之间怎么互推以及怎样从具体矩阵算出一套若尔当标准形。适合正在学高等代数、准备考研或者自学到矩阵若尔当标准形卡住的人。1. 先搞清楚我们到底在解决什么问题1.1 从“一个线性变换的身份证”说起在学这三个因子之前得先明白它们服务的对象是谁。线性代数里有一个很核心的问题给定一个线性变换换一组基之后矩阵会变成另一个样子但它们本质上是同一个东西。两个矩阵A和B如果满足BP^{-1}AP就称它们相似。相似的矩阵是同一个线性变换在不同基下的坐标表达相似类就是线性变换的“身份证号码”。既然要找最简表达自然会想到对角矩阵。但现实很残酷不是每个矩阵都能对角化。比如特征值出现重根但几何重数不够时对角化就失败了。于是数学家退了一步不强行对角允许主对角线上方或者下方保留若干个1这就是若尔当标准形。任何一个矩阵在复数域上都相似于一个若尔当标准形而且这个标准形除了块的排列顺序外是唯一的。问题变成了给定一个数字矩阵A怎么确定它的若尔当标准形能不能找到一组“不变量”让两个矩阵拥有完全相同的不变量时它们就必然相似同时又能直接从这些不变量读出若尔当块的尺寸行列式因子、不变因子、初等因子就是层层递进的三套答案。1.2 为什么偏偏要用特征矩阵来研究研究数字矩阵的相似性直接对A本身做初等变换是不行的因为那样会改变行列式甚至秩更不会保持相似类。真正靠谱的做法是构造一个带参数λ的矩阵λI-A它的全名叫特征矩阵。关键在于有一条定理数字矩阵A和B相似当且仅当特征矩阵λI-A和λI-B作为λ-矩阵是相抵的。“相抵”这个词的意思是可以通过一系列λ-矩阵的初等变换交换两行、某行乘非零常数、某行乘以多项式加到另一行列同理互相转化。这就像给数字矩阵的相似问题换了一个舞台原来在数字矩阵上做不了的事放到多项式矩阵上反而有了一套完整的“相抵标准形理论”。行列式因子、不变因子、初等因子本质上都是λ-矩阵在初等变换下的不变量。这也是为什么你翻教材这几个概念全都在“λ-矩阵”那一章出现而不是直接出现在数字矩阵的章节里。2. 行列式因子最直观的“最大公因式”2.1 定义不是只看一个子式而是看所有k阶子式设M(λ)是一个n阶λ-矩阵它的所有k阶子式也就是任选k行、k列形成的k阶行列式可能有一大堆。这些子式都是λ的多项式取它们的最大公因式并化成首一多项式最高次项系数为1就得到第k个行列式因子记作D_k(λ)。这里的关键词是“所有”。很多人算错行列式因子就是因为偷懒只取了一两个看起来顺眼的子式。我举个最简单的例子。考虑A\begin{pmatrix}11\01\end{pmatrix}特征矩阵是M(λ)λI-A\begin{pmatrix}λ-1-1\0λ-1\end{pmatrix}。一阶子式一共有四个λ-1、-1、0、λ-1。最大公因式是多少是1因为那还有一个常数-1任何非常数多项式都不可能整除常数。所以D_11。二阶子式只有一个就是整个矩阵的行列式(λ-1)^2它本身就是首一的所以D_2(λ-1)^2。如果一开始只盯着两个对角元λ-1、λ-1看你就会以为D_1λ-1那就错了。这就是“所有子式”和“部分子式”的区别。2.2 计算顺序与首一化为什么我说易错点藏在这里行列式因子有几个非常实用的性质。第一D_n(λ)就是特征多项式det(λI-A)这相当于白送最高阶。第二D_k(λ)整除D_{k1}(λ)。原因也不难理解任意一个k1阶子式按行展开都能表示成若干个k阶子式的线性组合既然D_k整除每一个k阶子式它就整除这个展开式也就整除任意k1阶子式进而整除它们的最大公因式D_{k1}。这两个性质合起来给了一条偷懒路线与其从一阶子式开始一个一个找不如先算最高阶D_n再往低处推。不过手工算的时候我一般还是从低阶开始先把D_1找出来再看D_2这样反而心里踏实。真正的易错点是首一化。子式的最大公因式提取出来系数不一定恰好是1比如公因式写成2(λ-1)^2这时候必须除以2化成(λ-1)^2才算D_k。原因在于特征矩阵的初等变换只能乘非零常数行列式因子作为不变量自然要规定一个统一的标准首一化就是这个标准。3. 不变因子相邻两项相除三个概念里的“中心枢纽”3.1 定义累积量和独立分量的关系行列式因子像是一组“累积量”D_k是所有前面不变因子的乘积。数学家从D_k里把“独立分量”剥出来的方式就是相邻两项相除。规定D_01令d_k(λ)\frac{D_k(λ)}{D_{k-1}(λ)}k1,2,\cdots,n得到的d_k就叫不变因子。因为D_{k-1}整除D_k所以每个d_k仍然是多项式而且同样首一。更重要的是整除链d_1\mid d_2\mid \cdots \mid d_n。这条链是后面一切计算的红线最后写出来的不变因子必须满足后一个能整除前一个的下一个否则一定算错了。回到刚才2阶例子D_11D_2(λ-1)^2所以d_11d_2(λ-1)^2。不变因子是1和(λ-1)^2末位的不变因子就是极小多项式这里正好是(λ-1)^2和若尔当块J_2(1)吻合。不变因子为什么叫“不变”因为它和行列式因子一样在λ-矩阵的初等变换下保持不变。这一点是整个相似理论的地基只要两个数字矩阵的特征矩阵有相同的不变因子它们就相似。3.2 史密斯标准形不变因子的“可视化”行列式因子要从一大堆子式里抠最大公因式算起来比较痛苦。还好有一个更机械的办法对λ-矩阵做初等变换把它化成对角形diag(d_1,d_2,\cdots,d_n)其中每个d_i是首一多项式且d_i\mid d_{i1}。这个对角形叫史密斯标准形对角线上的d_i就是不变因子。初等变换的目标很明确像高斯消元一样不断消把非对角元素干掉同时保证对角元素满足整除链。拿刚才2阶矩阵M(λ)\begin{pmatrix}λ-1-1\0λ-1\end{pmatrix}来说把第一列的某个适当倍数加到第二列再调整符号很快就能得到diag(1,(λ-1)^2)。这就是它的史密斯标准形不变因子一眼就能读出来。所以实际做题时算不变因子通常不走“先算D_k再相除”的路线而是直接化史密斯标准形。行列式因子则一般在证明理论、或者需要比较D_k的时候才手动算。两条路线最终殊途同归互为验算。4. 初等因子把不变因子拆到不可约为止4.1 从复数域说起一次因式幂不变因子虽然能唯一决定相似类但还不够“细”它和若尔当块之间还隔着一层。想直接读出若尔当块的尺寸需要把每个不变因子彻底分解成不可约多项式的幂。在复数域上不可约多项式就是一次式因此把每个不变因子d_k(λ)分解成若干个(λ-λ_i)^{e}的乘积提取出每一个这样的因式幂就得到初等因子。注意一个很容易犯的错初等因子是从“每个不变因子”里分别拆出来的不是把所有不变因子乘起来再分解。举个例子如果有两个不变因子 d_2(λ-1)^2(λ-2)d_3(λ-1)(λ-2)^3 那么初等因子组是 (λ-1)^2,\ (λ-1),\ (λ-2),\ (λ-2)^3 一共四个。很多人会把(λ-1)^2和(λ-1)合并成(λ-1)^3那就大错特错了。初等因子组是允许重复的集合重复的幂次必须逐个保留它们分别对应不同尺寸的若尔当块。4.2 为什么初等因子能“一锤定音”给出若尔当块初等因子(λ-λ_0)^r对应的若尔当块是r阶的J_r(λ_0)主对角线全是λ_0紧挨着主对角线的上方或下方全是1其余地方全是0。初等因子组里有几个因子若尔当标准形里就有几个块因子幂次是几块就是几阶。这样一来从λ-矩阵到若尔当标准形就成了一条流水线特征矩阵→史密斯标准形→不变因子→因式分解→初等因子→按幂次排若尔当块。这也是初等因子在这三个概念里最“出圈”的原因它离最终答案最近。如果是实数域而不是复数域不可约多项式可能还有二次式比如(λ^21)^2这时初等因子就是这些不可约多项式本身的幂。处理方式完全一样只是分解的“底线”不同。考试和教材里绝大多数题都在复数域上做先把复数域情况吃透就够了。5. 三套因子怎么互相推一张关系网5.1 正向推导行列式因子到不变因子到初等因子正向关系非常干净 D_01,\quad d_k\frac{D_k}{D_{k-1}},\quad D_kd_1d_2\cdots d_k。 再从每个d_k里分解出不可约因式幂就得到初等因子组。所以行列式因子、不变因子、初等因子三者的信息量完全等价知道任意一套另外两套都能唯一推出来。行列式因子是“累积视图”不变因子是“比例视图”初等因子是“质因数视图”。5.2 反向推导初等因子还原不变因子还原行列式因子反向推导最容易卡住值得单独说。已知初等因子组要还原不变因子做法是按特征值分组幂次从小到大排列不足n个的补0。设矩阵是n阶的对每个特征值λ_i把关于(λ-λ_i)的初等因子幂次按升序排好末尾补0补满n个数。然后第k个不变因子d_k就是对每个λ_i取该序列里第k个幂次乘起来。举个例子。初等因子组是(λ-1)^2和(λ-2)矩阵阶数n3。对λ1幂次只有一个2补0并升序排列为0,0,2对λ2幂次只有一个1补0排列为0,0,1。于是d_1(λ-1)^0(λ-2)^01d_21d_3(λ-1)^2(λ-2)。这和直接从史密斯标准形读出来的结果完全一致。最后再算D_kd_1d_2\cdots d_k行列式因子也就回来了。补0法的本质是保证d_1\mid d_2\mid \cdots \mid d_n。升序排列让后面的d_k包含更多幂次整除关系自然成立。排序方向一颠倒结果必错。5.3 用一个整数类比彻底理解三者三个概念放在一起容易绕晕我习惯用一个整数类比来稳住思路。把特征多项式想象成一个整数比如722^3\cdot 3^2。行列式因子相当于“前k个因子的累积乘积”D_1是第一个因子D_2是前两个因子的乘积D_3是全部。不变因子相当于把72拆成一串彼此整除的数1,6,12不对要保证后一个能被前一个整除且乘积等于72比如1,2,36或1,6,12。这里面每个数都是“一个整体因子”就像d_k可以含多个质数幂。初等因子则一步拆到底2^3和3^2全都是质数的幂相当于把所有“复合因子”彻底打散成质因数。这样一对比就明白了行列式因子是累积的D_k不变因子是“包装好的”整数因子链d_k初等因子是“拆到底的”质数幂。三者信息相同只是颗粒度不同。6. 完整实操3阶矩阵如何从特征矩阵走到若尔当标准形6.1 题目与特征矩阵光讲不练等于白说。我挑一个看似简单、实际很能说明问题的3阶矩阵 A\begin{pmatrix}110\010\001\end{pmatrix}。这个矩阵主对角线全是1但(1,2)位置多了一个1。它的特征值是1三重几何重数只有2所以不可对角化适合演示完整流程。特征矩阵是 M(λ)λI-A\begin{pmatrix}λ-1-10\0λ-10\00λ-1\end{pmatrix}。目标通过初等变换把它化成史密斯标准形。6.2 用初等变换化史密斯标准形第一步交换第1列和第2列把常数-1挪到左上角得到 \begin{pmatrix}-1λ-10\λ-100\00λ-1\end{pmatrix}。第二步把第1行乘以-1得到左上角为1 \begin{pmatrix}1-(λ-1)0\λ-100\00λ-1\end{pmatrix}。第三步用第1行消掉第2行第1列的多项式λ-1第2行加上第1行的(λ-1)倍。此时第2行变成 \begin{pmatrix}0(λ-1)^20\end{pmatrix}。 于是矩阵变成 \begin{pmatrix}1-(λ-1)0\0(λ-1)^20\00λ-1\end{pmatrix}。第四步用第1列消掉第1行第2列的-(λ-1)把第1列的(λ-1)倍加到第2列。第1列只有一个非零元素1所以第2列变成 \begin{pmatrix}0\(λ-1)^2\0\end{pmatrix}。 矩阵化为对角形 diag(1,(λ-1)^2,λ-1)。最后一步很关键对角线上的顺序必须满足整除链。现在(λ-1)^2和λ-1之间谁整除谁显然λ-1整除(λ-1)^2所以应该把λ-1放到前面。交换第2行与第3行再交换第2列与第3列得到 diag(1,λ-1,(λ-1)^2)。 这就是史密斯标准形。6.3 从史密斯标准形读三套因子史密斯标准形对角线直接给出不变因子 d_11,\quad d_2λ-1,\quad d_3(λ-1)^2。行列式因子由D_kd_1d_2\cdots d_k得到 D_11,\quad D_2λ-1,\quad D_3(λ-1)^3。 其中D_3正好是特征多项式验算通过。初等因子则把每个不变因子分别分解d_2λ-1d_3(λ-1)^2因此初等因子组为 λ-1,\ (λ-1)^2。 这里有一个绝佳的自检点特征多项式是3次的初等因子总次数应该是123等于矩阵阶数。若初等因子的总次数不等于n说明中间哪一步出了问题。按初等因子拼若尔当块初等因子λ-1对应1阶块J_1(1)[1]初等因子(λ-1)^2对应2阶块J_2(1)\begin{pmatrix}11\01\end{pmatrix}。所以若尔当标准形是 J\begin{pmatrix}100\011\001\end{pmatrix}。回头看原矩阵A它其实已经是两个块放在一起的样子只是2阶块被放在了左上角而不是左上角起第一个位置。更一般地说两个矩阵的若尔当标准形完全相同只是块的排列顺序不同所以A和J相似。这个例子告诉我们即使特征值只有一个初等因子也能精确区分出到底有几个若尔当块、每块多大这正是对角化失败时我们需要的全部信息。7. 常见问题与避坑实录7.1 五个我见过最多的错误我批改作业和答疑时反复遇到下面这几类错几乎每届都有第一计算D_k时只取一个子式。一阶子式有好几个、二阶子式也有好几个必须取所有子式的最大公因式。尤其是最大公因式为1的时候最容易漏掉那个提供“1”的子式。第二忘记首一化。最大公因式提出来可能是-λ-1)或者2(λ-1)要调整成首一多项式。这个错通常发生在矩阵含参数、或者计算过程中出现了符号混乱的时候。第三史密斯标准形对角元顺序排错。光化成对角形还不够对角线必须满足d_1\mid d_2\mid \cdots \mid d_n。很多中间结果顺序不对但不影响使用于是很多人直接拿来读不变因子结果全盘皆错。记住最后一步是调整顺序。第四初等因子合并同类项。把(λ-1)^2和(λ-1)合并成(λ-1)^3是大忌。初等因子组是带重复的集合每个重复因子都要保留。判断依据很简单合并后初等因子的总次数会发生变化和特征多项式次数对不上。第五混淆不变因子和初等因子。不变因子是有顺序的整除链初等因子是无序的因式幂集合。从不变因子到初等因子是“散开”从初等因子到不变因子是“重新装配”方向不能搞反。7.2 三因子关系速查表概念记法定义/求法关键性质主要用途行列式因子D_k所有k阶子式的首一最大公因式D_k整除D_{k1}D_n是特征多项式理论的基石中间量不变因子d_kd_kD_k/D_{k-1}也即史密斯标准形对角元d_1\mid d_2\mid \cdots \mid d_n末位是极小多项式乘积是特征多项式判定矩阵相似初等因子不定式幂每个不变因子分解为不可约多项式幂重复保留每个初等因子对应一个若尔当块幂次决定块大小直接写出若尔当标准形如果你只能记住一句口诀我推荐这一句行列式因子是累积不变因子是比例初等因子是拆到底。7.3 我自己的学习建议这三个概念刚接触时最忌讳死记定义。我当年是被一道“求A的若尔当标准形”的题点醒的先算特征矩阵化史密斯标准形读不变因子再拆初等因子最后拼若尔当块。整个过程走一遍三个概念的关系立刻就立体了。之后再去回看教材里那些“行列式因子→不变因子→初等因子”的定理才会真正觉得它们是有血有肉的。建议你拿到任何一道题都按这个顺序自查初等因子总次数是否等于矩阵阶数不变因子末位是否等于极小多项式行列式因子是否满足整除链三条都过答案基本不会错。等你哪天能从初等因子组反向推出不变因子再反向推出行列式因子这套知识才算真正长在你身上了。
返回列表