矩阵论核心工具:Jordan标准形、Smith标准形与QR分解

发布时间:2026/10/27 21:39:49
矩阵论核心工具:Jordan标准形、Smith标准形与QR分解 简介《矩阵论期末考试参考答案1》面向备考矩阵论、线性代数高阶课程的高校学生与需要复习矩阵分析方法的读者围绕期末考试常见综合题给出参考解答。内容覆盖特征值与特征向量、Smith标准形与Jordan标准形、变换矩阵P及P⁻¹APJ、QR分解、正交投影、矩阵范数不等式和非齐次线性微分方程组求解等典型考点并对(A−2I)的幂、Hamilton-Cayley定理、基与线性无关性等推导过程作出展示便于对照题目复盘步骤、核对中间结果和梳理证明思路。资源包内共1个PDF文件大小约284KB结构紧凑适合打印或按题型检索。已有619人学习可作为矩阵论期末冲刺阶段的答案对照与方法归纳材料。1. 矩阵论里的“标准形”是什么从一道考试题说起很多人第一次看到“Jordan标准形”这五个字脑子里冒出来的是“这跟我有什么关系”。其实它做的事情很朴素——把一台结构复杂的机器拆成几个简单零件让你看清它到底怎么转。矩阵在矩阵论里就像这台机器而标准形就是拆解说明书。考试里的一道题可能要求你求矩阵的Jordan标准形、做QR分解、算广义逆这些名字听起来玄学但背后是同一件事把一个矩阵变成更容易看懂的形态。搞懂这套拆解逻辑你再看那些密密麻麻的λ和矩阵块就不会觉得是凭空掉下来的符号。2. 特征值与特征向量矩阵的“固有方向”到底指什么先从一个具体的困惑开始。假设你有一个矩阵A把它乘到一个向量v上一般会得到一个新向量方向变了、长度也变了。但总有那么一些特殊的v乘完之后方向不变只是长度缩放了λ倍写成公式就是Avλv。这个λ叫特征值v叫特征向量。通俗地说特征向量是矩阵“认准”的方向矩阵作用在它身上只拉伸不转向。为什么这件事值得单独拎出来讲因为矩阵的幂运算A^n在一般向量上会越乘越乱但在特征向量上就变成λ^n一个数乘一个方向计算量从矩阵乘法降到标量乘法。这就是特征值分解的起点也是Jordan标准形要处理的核心问题——当特征向量不够用时怎么把矩阵拆得尽量简单。2.1 为什么矩阵乘法会“转向”而特征向量不转把矩阵乘法想象成一台加工机器输入一个向量输出另一个向量。大多数向量进去之后会被“拧”一下方向就像你把一根木棍斜着塞进压面机出来的方向变了。特征向量是那些特殊角度的木棍进去什么方向出来还是什么方向只是被压长了或压短了。拿一个2×2矩阵举例import numpy as np A np.array([[2, 1], [1, 2]]) # 特征向量 [1,1] 对应特征值3 v1 np.array([1, 1]) print(A v1) # 输出 [3, 3]方向没变长度乘3 # 特征向量 [1,-1] 对应特征值1 v2 np.array([1, -1]) print(A v2) # 输出 [1, -1]方向没变长度不变这段代码里A乘v1得到[3,3]正好是3倍的v1A乘v2得到[1,-1]正好是1倍的v2。两个方向都没被拧弯。矩阵A的特征值就是3和1对应的特征向量分别是[1,1]和[1,-1]。参数说明np.array构造矩阵是矩阵乘法运算符。输出结果验证了Avλv。注意特征向量不是唯一的任何非零倍数都算同一个方向所以通常取最简单的整数形式。这里有个容易翻车的点特征值可以是复数特征向量也可以是复向量。实矩阵不一定有实特征值比如旋转矩阵[[0,-1],[1,0]]的特征值是±i。考试里如果要求实Jordan标准形处理方式会不一样但那是另一个话题了。2.2 λI−A与特征多项式解特征值的固定套路要求特征值标准做法是解方程det(λI−A)0。这里I是单位矩阵λI−A就是把A的对角线元素用λ减一遍。为什么这么写因为Avλv可以改写成(λI−A)v0要让这个方程有非零解v矩阵λI−A必须不可逆也就是行列式为零。这个行列式展开后是关于λ的多项式叫特征多项式。拿一个上三角矩阵举例import sympy as sp lam sp.symbols(lambda) A sp.Matrix([[5, -2, -2], [-1, 1, -1], [-1, -1, 2]]) # 此处为示例结构 char_poly (lam * sp.eye(3) - A).det() print(sp.factor(char_poly))这段代码用sympy算特征多项式并因式分解。sp.eye(3)是3阶单位矩阵.det()求行列式sp.factor做因式分解。输出会告诉你特征值是什么、重数是多少。特征多项式的根就是特征值根的重数叫代数重数。代数重数可以从特征多项式的因式分解直接读出来比如(λ−2)^3说明特征值2的代数重数是3。但代数重数只是“应该有几个特征向量”的上限实际能找出几个线性无关的要看几何重数。注意代数重数不等于几何重数。几何重数是特征子空间的维数也就是线性无关的特征向量的个数。一个特征值代数重数是3几何重数可能只有1这时候特征向量就不够用了。这正是Jordan标准形要解决的问题。考试里常见的失分点是把代数重数直接当成几何重数然后强行写对角形结果矩阵根本不可对角化。2.3 特征向量不够用怎么办Jordan链的引入举个最典型的例子矩阵[[2,1],[0,2]]。它的特征多项式是(λ−2)^2特征值2的代数重数是2。但你解方程(2I−A)v0会发现只有一个线性无关的解比如[1,0]。几何重数是1比代数重数少。这时候你没法把矩阵对角化成diag(2,2)只能写成Jordan块[[2,1],[0,2]]。那缺失的那个“特征向量”去哪了它变成了广义特征向量。具体做法是解(A−2I)v2v1其中v1是普通特征向量。这样得到的v2不满足Av22v2而是Av22v2v1。把v1和v2排成矩阵P就有P^{-1}APJJ是Jordan标准形。用代码演示这个求解过程import numpy as np A np.array([[2, 1], [0, 2]]) lam 2 # 解 (A - lam*I) v1 0 M A - lam * np.eye(2) # 普通特征向量 v1 [1, 0] v1 np.array([1, 0]) # 解 (A - lam*I) v2 v1即找广义特征向量 v2 np.array([0, 1]) P np.column_stack((v1, v2)) print(P) print(np.linalg.inv(P) A P) # 输出Jordan块np.column_stack把两个向量按列拼成矩阵np.linalg.inv求逆做矩阵乘法。输出应该是[[2,1],[0,2]]主对角线是特征值上对角线是1这就是2阶Jordan块。如果代数重数是3、几何重数是1Jordan链长度就是3。你需要先解(A−λI)v10得到普通特征向量再解(A−λI)v2v1得到第一层广义特征向量再解(A−λI)v3v2得到第二层。每一步的解不唯一但选定一个之后整条链就确定了。链的方向是从v1指向v3矩阵P按[v1,v2,v3]排列得到的Jordan块是3阶。通俗地说Jordan链就是“特征向量不够广义特征向量来凑”一个接一个串成链子。链的长度等于Jordan块的阶数。一个矩阵有几个Jordan块、每块多大由初等因子决定这是下一章要展开的内容。3. Smith标准形与Jordan标准形两个“标准形”差在哪这一章把两个最容易混淆的“标准形”摆在一起看。Smith标准形和Jordan标准形都是把矩阵化简但用的工具和目标不一样。Smith标准形针对的是λ矩阵也就是元素里含λ的矩阵通过初等行变换和列变换化成对角形对角线上是不变因子。Jordan标准形针对的是数字矩阵通过相似变换化成块对角形对角线上是Jordan块。一个是在λ矩阵的世界里做除法一个是在数字矩阵的世界里做相似分类。为什么要有两个标准形因为你要回答的问题不同。如果你想知道两个矩阵在初等变换下是否等价看Smith标准形如果你想知道两个矩阵是否相似看Jordan标准形。这两个问题在矩阵论里是两条线考试里经常分开出题但初学者容易把它们当成同一件事。3.1 Smith标准形初等变换下的“最简身份证”Smith标准形的操作对象是λ矩阵比如λI−A。你对它做初等行变换和初等列变换目标是把非对角元素全部消成零对角元素按整除关系排列d1整除d2d2整除d3依此类推。这些di叫不变因子。最后得到的对角矩阵就是Smith标准形。举个例子一个3阶λ矩阵经过变换可能化成diag(1, 1, (λ-2)^3)这个结果告诉你前两个不变因子是1第三个是(λ−2)^3。不变因子的乘积等于特征多项式所以特征多项式是(λ−2)^3。从不变因子还能反推初等因子就是把每个不变因子分解成不可约多项式的幂去掉重复的1。这里初等因子就是(λ−2)^3。操作上可以用sympy做λ矩阵的初等变换但手工算考试题更常见。关键步骤是先找左上角次数最低的非零元素用它消去同行同列的其他元素然后递归处理右下角的子矩阵。这个过程有点像辗转相除法求最大公因数只不过对象是多项式。每次消元时优先用次数低的元素当“主元”可以减少计算量。注意一个坑Smith标准形在初等变换下唯一但初等变换本身不唯一。你换一条消元路径中间过程可能不同最后的标准形是一样的。考试写过程时只要不变因子对中间步骤可以有差别。还有一点不变因子的整除链是d1|d2|...|dn顺序不能乱如果算出来d1不整除d2说明中间某一步消元没消干净。3.2 Jordan标准形把矩阵拆成幂运算友好的块Jordan标准形是数字矩阵在相似变换下的最简形式。一个矩阵A相似于一个块对角矩阵J每个块长这样[λ 1 0 ... 0] [0 λ 1 ... 0] [0 0 λ ... 0] ... [0 0 0 ... λ]对角线上是特征值λ上对角线全是1其余位置是0。一个Jordan块对应一个初等因子(λ−λ0)^k。为什么拆成这种形式有用因为Jordan块的幂运算有简单公式。一个k阶Jordan块JλIN其中N是幂零矩阵N^k0那么J^n可以用二项式展开算只有前k项非零。这就把矩阵幂运算从“乘n次”降到“算k项”对解微分方程、求矩阵函数都很关键。举个例子上一章那个[[2,1],[0,2]]已经是Jordan标准形了因为它本身就是一个2阶Jordan块。如果一个矩阵有多个Jordan块把它们按块对角排起来就是整体的Jordan标准形。这里有个血泪经验求Jordan标准形时特征值的代数重数和几何重数要对上。每个特征值的Jordan块个数等于几何重数所有Jordan块的阶数之和等于代数重数。如果你算出来的块数和重数对不上大概率是某个特征向量求错了。另外Jordan块的排列顺序不唯一考试里只要块结构对顺序可以调换。3.3 不变因子、初等因子从Smith走到Jordan的桥Smith标准形和Jordan标准形之间通过初等因子连接。具体路径是先对λI−A做Smith标准形得到不变因子d1,...,dn再把每个不变因子分解成不可约多项式的幂去掉常数因子和重复的1剩下的就是初等因子每个初等因子(λ−λ0)^k对应一个k阶Jordan块对角线上是λ0。拿一个例子走一遍。假设λI−A的Smith标准形是diag(1, (λ−1), (λ−1)(λ−2)^2)。不变因子是1、λ−1、(λ−1)(λ−2)^2。初等因子是λ−1出现两次来自第二个和第三个不变因子和(λ−2)^2。所以Jordan标准形包含两个1阶块[1]和[1]以及一个2阶块[[2,1],[0,2]]。这里容易混的点是初等因子不考虑重复次数只按幂次分解。λ−1出现两次就是两个独立的1阶块不是一个2阶块。判断几阶块看幂次判断几个块看出现次数。不变因子的个数等于矩阵的阶数初等因子的总次数也等于矩阵的阶数这两个数可以用来验算。用代码验证这个对应关系import sympy as sp lam sp.symbols(lambda) # 构造一个Jordan标准形反推初等因子 J sp.diag(1, 1, sp.Matrix([[2, 1], [0, 2]])) print(J)这段代码把两个1阶块和一个2阶块拼在一起。sp.diag按块对角拼矩阵。输出能直观看到Jordan标准形的块结构。注意sympy的diag对矩阵块的支持需要小心实际考试手算更直接。4. QR分解与正交化把向量组“摆正”的手艺QR分解解决的是另一个问题给你一组线性无关的向量怎么把它们变成一组互相垂直的单位向量同时保持它们张成的空间不变。这件事在最小二乘、特征值计算、信号处理里到处都是。Gram-Schmidt正交化是手工做法QR分解是它的矩阵写法。通俗地说正交化就像整理一团纠缠的线你先拉直第一根然后把第二根中跟第一根重叠的部分剪掉剩下的就是新的垂直方向第三根剪掉跟前两根重叠的部分依此类推。最后每根线都互相垂直长度归一化后就是标准正交基。4.1 Gram-Schmidt正交化一步步减去投影Gram-Schmidt的公式很直接。假设你有一组向量α1, α2, α3, α4要构造正交向量组β1, β2, β3, β4β1 α1 β2 α2 − (⟨α2,β1⟩/⟨β1,β1⟩) β1 β3 α3 − (⟨α3,β1⟩/⟨β1,β1⟩) β1 − (⟨α3,β2⟩/⟨β2,β2⟩) β2依此类推。每一项减去的都是当前向量在前面已构造好的正交向量上的投影。减完之后βk与前面所有βj的内积为零。举个数值例子import numpy as np alpha1 np.array([1, 1, 1, 1]) alpha2 np.array([1, 2, 3, 4]) beta1 alpha1 # 计算投影系数 coef np.dot(alpha2, beta1) / np.dot(beta1, beta1) beta2 alpha2 - coef * beta1 print(beta1) # [1 1 1 1] print(beta2) # 输出应垂直于beta1 print(np.dot(beta1, beta2)) # 应为0或极小数np.dot算内积coef是投影系数beta2减掉投影后与beta1正交。输出最后的点积接近0验证正交性。注意浮点运算可能有极小误差考试手算用分数更干净。这里踩坑最多的地方是分母⟨β1,β1⟩是β1的模长平方不是模长。有人把分母写成|β1|结果整个式子差一个量级。记住内积公式里分母永远是自己和自己的内积。另外Gram-Schmidt对向量的顺序敏感先处理哪个向量会影响β的具体数值但最终张成的空间和标准正交基的唯一性不受影响。4.2 AQR正交矩阵乘上三角矩阵的几何含义把Gram-Schmidt的过程写成矩阵形式就得到AQR。A的列是原始向量α1,...,αnQ的列是正交化并归一化后的向量γ1,...,γnR是一个上三角矩阵记录了每一步的投影系数和模长。具体地A [α1,...,αn] [γ1,...,γn] R其中R的对角线元素是|βi|上三角元素是投影系数。因为γi是单位向量Q是正交矩阵Q^T QIR是可逆上三角矩阵。用代码演示完整的QR分解import numpy as np A np.array([[1, 1, 1, 1], [1, 2, 3, 4], [1, 4, 9, 16], [1, 8, 27, 64]], dtypefloat) # 示例矩阵 Q, R np.linalg.qr(A) print(Q正交性验证) print(np.round(Q.T Q, 6)) # 应接近单位矩阵 print(R) print(np.round(R, 4))np.linalg.qr返回Q和RQ.T Q验证正交性输出应接近单位矩阵。np.round控制小数位数方便看。注意numpy的qr可能返回负对角线的R这是符号约定不同不影响分解的正确性。QR分解的几何含义是Q的列是一组标准正交基R告诉你原始列向量在这组基下的坐标。因为R是上三角第i列只用到前i个基向量这跟Gram-Schmidt的递推顺序一致。如果A是方阵且满秩Q和R都是方阵如果A是长方形矩阵Q是列正交的长方矩阵R是上三角方阵。4.3 正交投影与正规化模长归一化到底在做什么正交投影是Gram-Schmidt的核心动作。给定一个向量α和一个方向βα在β上的投影是(⟨α,β⟩/⟨β,β⟩)β。减掉这个投影剩下的部分就垂直于β。这个操作可以反复做每做一次消掉一个方向的分量。归一化是另一件事把向量除以自己的模长得到单位向量。β的模长是√⟨β,β⟩归一化后γβ/|β|满足|γ|1。归一化不改变方向只改变长度目的是让基向量标准化方便后续计算内积和投影。举个例子β[3,4]模长是5归一化后γ[0.6,0.8]。验证0.6²0.8²0.360.641长度确实是1。在QR分解里R的对角线元素就是归一化前的模长所以AQR展开后每一列的“伸缩比例”都记录在R里。注意归一化时如果向量是零向量模长为0不能做除法。Gram-Schmidt要求原始向量组线性无关否则某一步会出现零向量正交化就中断了。考试里如果遇到线性相关的列QR分解仍然可以做但R会缺秩需要用其他方法处理。5. 常见误区与易混概念相似、合同、等价别搞混这一章专门拆几个初学者最容易混的点。矩阵论里近义词太多相似、合同、等价、正交相似每个词背后是一套不同的变换规则。混着用会导致计算对但概念错选择题里尤其容易翻车。5.1 误区一Jordan标准形一定是对角矩阵易混点把“标准形”直接等同于“对角形”。为什么混对角矩阵是最简单的标准形很多矩阵确实可以对角化做多了题容易形成思维定势看到标准形就写对角阵。怎么区分Jordan标准形允许上对角线有1只有当初等因子全是一次幂时Jordan块才退化成1阶整体才是对角矩阵。换句话说可对角化是Jordan标准形的特例不是全部。判断能不能对角化看每个特征值的几何重数是否等于代数重数。相等则对角化不等则出现大于1阶的Jordan块。5.2 误区二QR分解和LU分解是一回事易混点都是把矩阵拆成两个矩阵相乘名字里都带一个字母。为什么混AQR和ALU形式上都是分解初学者容易只记字母不记几何意义。怎么区分LU分解是高斯消元的结果L是下三角、U是上三角针对的是消元过程不要求正交性。QR分解是Gram-Schmidt正交化的结果Q是正交矩阵、R是上三角针对的是列向量的正交化。一个在消元一个在摆正方向用途完全不同。LU用于解线性方程组QR用于最小二乘和特征值计算。5.3 误区三特征值相同就相似易混点两个矩阵特征多项式一样就认为它们相似。为什么混相似矩阵确实有相同的特征多项式但反过来不成立。特征多项式相同只是相似的必要条件不是充分条件。怎么区分看Jordan标准形。两个矩阵相似当且仅当它们有相同的Jordan标准形在不计块排列顺序的意义下。特征多项式相同只能保证特征值及其代数重数相同不能保证Jordan块的尺寸分布相同。比如[[2,1],[0,2]]和[[2,0],[0,2]]特征多项式都是(λ−2)^2但前者是一个2阶Jordan块后者是两个1阶块不相似。5.4 误区四广义逆就是普通逆矩阵易混点把Moore-Penrose广义逆当成逆矩阵的推广以为所有矩阵都有逆。为什么混名字里都带“逆”公式A^也长得像A^{-1}。怎么区分普通逆矩阵只对方阵且满秩时存在满足AA^{-1}A^{-1}AI。广义逆对任意矩阵都有定义Moore-Penrose广义逆满足四个Penrose条件最小二乘解和最小范数解都靠它。对于不满秩的矩阵普通逆不存在但广义逆存在且唯一。考试里如果题目给的是长方形矩阵或秩亏矩阵求逆就是求广义逆不能套普通逆的公式。6. 什么时候用Jordan、什么时候用QR工具选择的边界学到这儿几个工具的适用边界应该清楚了。但真到用的时候还是容易抓错工具。一张表把选择逻辑摆出来工具解决的问题适用条件不适用的情况Jordan标准形矩阵相似分类、幂运算需要特征值重数信息数值计算不稳定特征值接近时对扰动敏感Smith标准形λ矩阵等价分类元素含多项式纯数字矩阵直接用JordanQR分解正交化、最小二乘列向量线性无关或需数值稳定精确符号推导不如Gram-Schmidt公式直接广义逆秩亏方程组任意矩阵满秩方阵用普通逆更简单举个具体例子。拿到方程组AxbA是4×4矩阵秩为3。普通逆不存在正确工具是Moore-Penrose广义逆xA^b给出最小范数最小二乘解。硬套Jordan标准形就偏了——Jordan解决相似分类和幂运算不解方程。反过来要求A^n的表达式Jordan是首选因为Jordan块的幂有闭式公式QR帮不上忙。再说边界数值计算里Jordan标准形很少直接用。特征值靠得近时Jordan块对微小扰动极其敏感算出来的块结构可能跟理论值对不上这时候QR迭代法更稳。所以“什么时候别用”比“什么时候用”更值得记住Jordan适合理论推导和手算考题不适合大规模数值计算QR适合数值稳定的正交化但手工推导符号结果不如Gram-Schmidt公式直接。我自己的习惯是每次拿到矩阵先问三个问题数字矩阵还是λ矩阵求相似分类还是解方程要精确符号还是数值近似三个问题答完工具基本锁定。有一次做综合题前面求Jordan标准形后面解秩亏方程组我差点把两个部分的矩阵混在一起算后来强制自己每换一个问法就重新抄一遍矩阵才没翻车。从那以后每次做矩阵题都先把“这题在问什么”写一行在草稿纸顶上。这份资料把Jordan链构造、Smith标准形初等变换、QR分解推导、广义逆的Penrose条件都一步步写全了每道题后面标了易错点。如果你正在准备矩阵论考试或者想把这几个概念理顺可以拿来对着练。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询