矩阵多项式的定义

1. 矩阵多项式的定义


φ(x)=a0+a1x+⋯+amxm \varphi(x) = a_0 + a_1 x + \cdots + a_m x^m φ(x)=a0+a1x+⋯+amxm

是一个 mmm 次多项式,AAA 是一个 nnn 阶方阵,那么
φ(A)=a0E+a1A+⋯+amAm \varphi(A) = a_0 E + a_1 A + \cdots + a_m A^m φ(A)=a0E+a1A+⋯+amAm

称为 矩阵 AAA 的 mmm 次多项式 ,其中 EEE 是单位矩阵。


2. 矩阵多项式的交换性

因为 AkA^kAk、AiA^iAi 和 EEE 之间都是可交换的(毕竟它们都是 AAA 的幂),所以对于两个多项式 φ(A)\varphi(A)φ(A) 和 f(A)f(A)f(A),有:
φ(A)f(A)=f(A)φ(A) \varphi(A) f(A) = f(A) \varphi(A) φ(A)f(A)=f(A)φ(A)

也就是说,同一个矩阵的不同多项式之间是可交换的

这样,我们可以像处理普通多项式一样对矩阵多项式进行因式分解、展开等运算。例如:
(E+A)(2E−A)=2E+A−A2 (E + A)(2E - A) = 2E + A - A^2 (E+A)(2E−A)=2E+A−A2
(E−A)3=E−3A+3A2−A3 (E - A)^3 = E - 3A + 3A^2 - A^3 (E−A)3=E−3A+3A2−A3


3. 如何计算矩阵多项式

计算 AkA^kAk 通常比较麻烦,但如果我们能将 AAA 对角化,就可以大大简化计算。

3.1 若 A=PΛP−1A = P \Lambda P^{-1}A=PΛP−1,其中 Λ\LambdaΛ 是对角矩阵

那么:
Ak=PΛkP−1 A^k = P \Lambda^k P^{-1} Ak=PΛkP−1

于是:
φ(A)=a0E+a1A+⋯+amAm \varphi(A) = a_0 E + a_1 A + \cdots + a_m A^m φ(A)=a0E+a1A+⋯+amAm

代入得:
φ(A)=Pa0EP−1+Pa1ΛP−1+⋯+PamΛmP−1 \varphi(A) = P a_0 E P^{-1} + P a_1 \Lambda P^{-1} + \cdots + P a_m \Lambda^m P^{-1} φ(A)=Pa0EP−1+Pa1ΛP−1+⋯+PamΛmP−1
=P(a0E+a1Λ+⋯+amΛm)P−1 = P \big( a_0 E + a_1 \Lambda + \cdots + a_m \Lambda^m \big) P^{-1} =P(a0E+a1Λ+⋯+amΛm)P−1
=Pφ(Λ)P−1 = P \varphi(\Lambda) P^{-1} =Pφ(Λ)P−1


3.2 若 Λ=diag(λ1,λ2,...,λn)\Lambda = \text{diag}(\lambda_1, \lambda_2, \dots, \lambda_n)Λ=diag(λ1,λ2,...,λn),则:

Λk=diag(λ1k,λ2k,...,λnk) \Lambda^k = \text{diag}(\lambda_1^k, \lambda_2^k, \dots, \lambda_n^k) Λk=diag(λ1k,λ2k,...,λnk)

从而:
φ(Λ)=diag(φ(λ1),φ(λ2),...,φ(λn)) \varphi(\Lambda) = \text{diag}(\varphi(\lambda_1), \varphi(\lambda_2), \dots, \varphi(\lambda_n)) φ(Λ)=diag(φ(λ1),φ(λ2),...,φ(λn))

这意味着:对角矩阵的多项式,就是对角元分别代入多项式得到的对角矩阵


4. 例题解析

题目给出了:
P=(−11110211−1),Λ=(12−3),AP=PA P = \begin{pmatrix} -1 & 1 & 1 \\ 1 & 0 & 2 \\ 1 & 1 & -1 \end{pmatrix},\quad \Lambda = \begin{pmatrix} 1 & & \\ & 2 & \\ & & -3 \end{pmatrix},\quad AP = PA P= −11110112−1 ,Λ= 12−3 ,AP=PA


φ(A)=A3+2A2−3A \varphi(A) = A^3 + 2A^2 - 3A φ(A)=A3+2A2−3A

4.1 由 AP=PAAP = PAAP=PA 且 PPP 可逆,得:

A=PΛP−1 A = P \Lambda P^{-1} A=PΛP−1

于是:
φ(A)=Pφ(Λ)P−1 \varphi(A) = P \varphi(\Lambda) P^{-1} φ(A)=Pφ(Λ)P−1


4.2 计算 φ(λi)\varphi(\lambda_i)φ(λi)

φ(1)=13+2⋅12−3⋅1=1+2−3=0 \varphi(1) = 1^3 + 2 \cdot 1^2 - 3 \cdot 1 = 1 + 2 - 3 = 0 φ(1)=13+2⋅12−3⋅1=1+2−3=0
φ(2)=8+8−6=10 \varphi(2) = 8 + 8 - 6 = 10 φ(2)=8+8−6=10
φ(−3)=−27+18+9=0 \varphi(-3) = -27 + 18 + 9 = 0 φ(−3)=−27+18+9=0

因此:
φ(Λ)=diag(0,10,0) \varphi(\Lambda) = \text{diag}(0, 10, 0) φ(Λ)=diag(0,10,0)


4.3 计算 φ(A)\varphi(A)φ(A)

由 PPP 的行列式 ∣P∣=6≠0|P| = 6 \neq 0∣P∣=6=0,说明 PPP 可逆。

先计算:
Pφ(Λ)=(−11110211−1)(0000100000)=(01000000100) P \varphi(\Lambda) = \begin{pmatrix} -1 & 1 & 1 \\ 1 & 0 & 2 \\ 1 & 1 & -1 \end{pmatrix} \begin{pmatrix} 0 & 0 & 0 \\ 0 & 10 & 0 \\ 0 & 0 & 0 \end{pmatrix} = \begin{pmatrix} 0 & 10 & 0 \\ 0 & 0 & 0 \\ 0 & 10 & 0 \end{pmatrix} Pφ(Λ)= −11110112−1 0000100000 = 00010010000

然后乘 P−1P^{-1}P−1:

P−1=1∣P∣⋅adj(P)=16(A11A21A31A12A22A32A13A23A33) P^{-1} = \frac{1}{|P|} \cdot \text{adj}(P) = \frac{1}{6} \begin{pmatrix} A_{11} & A_{21} & A_{31} \\ A_{12} & A_{22} & A_{32} \\ A_{13} & A_{23} & A_{33} \end{pmatrix} P−1=∣P∣1⋅adj(P)=61 A11A12A13A21A22A23A31A32A33

根据给出的部分计算:
A12=3,A22=0,A32=3 A_{12} = 3,\quad A_{22} = 0,\quad A_{32} = 3 A12=3,A22=0,A32=3

(其余元素未全部写出,但计算最终只依赖这些)

最终得到:
φ(A)=53(A12A22A32A13A23A33A12A22A32) \varphi(A) = \frac{5}{3} \begin{pmatrix} A_{12} & A_{22} & A_{32} \\ A_{13} & A_{23} & A_{33} \\ A_{12} & A_{22} & A_{32} \end{pmatrix} φ(A)=35 A12A13A12A22A23A22A32A33A32

代入得:
φ(A)=(101000101) \varphi(A) = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 0 & 0 \\ 1 & 0 & 1 \end{pmatrix} φ(A)= 101000101


5. 总结

图片的核心思想是:

  • 矩阵多项式可以像普通多项式一样运算;
  • 若 AAA 可对角化 A=PΛP−1A = P\Lambda P^{-1}A=PΛP−1,则计算 φ(A)\varphi(A)φ(A) 转化为计算 φ(Λ)\varphi(\Lambda)φ(Λ),再相似变换回来;
  • 对角矩阵的多项式非常简单,就是每个对角元代入多项式得到的新对角矩阵;
  • 这种方法大大简化了矩阵多项式的计算,尤其在计算高次幂时效果显著。

很好的问题!让我详细解释 3.2 的原理,即为什么对角矩阵的多项式等于对角元分别代入多项式后构成的对角矩阵。


从定义出发

设对角矩阵:
Λ=(λ10⋯00λ2⋯0⋮⋮⋱⋮00⋯λn)=diag(λ1,λ2,...,λn) \Lambda = \begin{pmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{pmatrix} = \text{diag}(\lambda_1, \lambda_2, \dots, \lambda_n) Λ= λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn =diag(λ1,λ2,...,λn)

多项式:
φ(x)=a0+a1x+a2x2+⋯+amxm \varphi(x) = a_0 + a_1 x + a_2 x^2 + \cdots + a_m x^m φ(x)=a0+a1x+a2x2+⋯+amxm

那么:
φ(Λ)=a0E+a1Λ+a2Λ2+⋯+amΛm \varphi(\Lambda) = a_0 E + a_1 \Lambda + a_2 \Lambda^2 + \cdots + a_m \Lambda^m φ(Λ)=a0E+a1Λ+a2Λ2+⋯+amΛm


第一步:对角矩阵的幂

首先计算 Λk\Lambda^kΛk。

因为 Λ\LambdaΛ 是对角矩阵,所以:
Λ2=(λ120⋯00λ22⋯0⋮⋮⋱⋮00⋯λn2) \Lambda^2 = \begin{pmatrix} \lambda_1^2 & 0 & \cdots & 0 \\ 0 & \lambda_2^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n^2 \end{pmatrix} Λ2= λ120⋮00λ22⋮0⋯⋯⋱⋯00⋮λn2

依此类推,对任意正整数 kkk:
Λk=diag(λ1k,λ2k,...,λnk) \Lambda^k = \text{diag}(\lambda_1^k, \lambda_2^k, \dots, \lambda_n^k) Λk=diag(λ1k,λ2k,...,λnk)

为什么? 因为矩阵乘法是对应位置相乘,对角矩阵相乘时,只有对角元参与运算:
(Λ2)ii=∑j=1nΛijΛji (\Lambda^2){ii} = \sum{j=1}^n \Lambda_{ij} \Lambda_{ji} (Λ2)ii=j=1∑nΛijΛji

当 i≠ji \neq ji=j 时,Λij=0\Lambda_{ij}=0Λij=0;当 i=ji=ji=j 时,Λii⋅Λii=λi2\Lambda_{ii} \cdot \Lambda_{ii} = \lambda_i^2Λii⋅Λii=λi2。数学归纳法可得一般情形。


第二步:代入多项式

现在:
φ(Λ)=a0E+a1Λ+a2Λ2+⋯+amΛm \varphi(\Lambda) = a_0 E + a_1 \Lambda + a_2 \Lambda^2 + \cdots + a_m \Lambda^m φ(Λ)=a0E+a1Λ+a2Λ2+⋯+amΛm
=a0diag(1,1,...,1)+a1diag(λ1,λ2,...,λn)+a2diag(λ12,λ22,...,λn2)+⋯+amdiag(λ1m,λ2m,...,λnm) = a_0 \text{diag}(1,1,\dots,1) + a_1 \text{diag}(\lambda_1, \lambda_2, \dots, \lambda_n) + a_2 \text{diag}(\lambda_1^2, \lambda_2^2, \dots, \lambda_n^2) + \cdots + a_m \text{diag}(\lambda_1^m, \lambda_2^m, \dots, \lambda_n^m) =a0diag(1,1,...,1)+a1diag(λ1,λ2,...,λn)+a2diag(λ12,λ22,...,λn2)+⋯+amdiag(λ1m,λ2m,...,λnm)


第三步:合并对角矩阵

因为对角矩阵的加法就是对应位置相加,所以:
φ(Λ)=diag(a0+a1λ1+a2λ12+⋯+amλ1m,  a0+a1λ2+a2λ22+⋯+amλ2m,  ...) \varphi(\Lambda) = \text{diag}\big( a_0 + a_1\lambda_1 + a_2\lambda_1^2 + \cdots + a_m\lambda_1^m, \; a_0 + a_1\lambda_2 + a_2\lambda_2^2 + \cdots + a_m\lambda_2^m, \; \dots \big) φ(Λ)=diag(a0+a1λ1+a2λ12+⋯+amλ1m,a0+a1λ2+a2λ22+⋯+amλ2m,...)

而括号里的每一项正好就是 φ(λi)\varphi(\lambda_i)φ(λi),所以:
φ(Λ)=diag(φ(λ1),φ(λ2),...,φ(λn)) \varphi(\Lambda) = \text{diag}\big( \varphi(\lambda_1), \varphi(\lambda_2), \dots, \varphi(\lambda_n) \big) φ(Λ)=diag(φ(λ1),φ(λ2),...,φ(λn))


关键点总结

这个原理成立的核心原因有两点:

  1. 对角矩阵的幂仍然是对角矩阵,且幂运算转化为对角元的幂运算;
  2. 对角矩阵的加法与数乘是逐分量进行的,所以多项式的线性组合可以逐分量计算。

因此,对角矩阵的多项式计算就简化为:将每个对角元分别代入多项式,得到新的对角元

这就是 3.2 原理的完整推导过程。

是的,完全正确。

4.2 的计算原理正是依据 3.2 中提到的结论

让我把这种对应关系明确地展示出来:


3.2 中的结论

在 3.2 中,当矩阵是对角矩阵:
Λ=diag(λ1,λ2,...,λn) \Lambda = \text{diag}(\lambda_1, \lambda_2, \dots, \lambda_n) Λ=diag(λ1,λ2,...,λn)

时,对于多项式 φ(x)=a0+a1x+⋯+amxm\varphi(x) = a_0 + a_1 x + \cdots + a_m x^mφ(x)=a0+a1x+⋯+amxm,有:
φ(Λ)=diag(φ(λ1),φ(λ2),...,φ(λn)) \varphi(\Lambda) = \text{diag}(\varphi(\lambda_1), \varphi(\lambda_2), \dots, \varphi(\lambda_n)) φ(Λ)=diag(φ(λ1),φ(λ2),...,φ(λn))


4.2 中的具体应用

在例题中:
Λ=diag(1,2,−3) \Lambda = \text{diag}(1, 2, -3) Λ=diag(1,2,−3)
φ(x)=x3+2x2−3x \varphi(x) = x^3 + 2x^2 - 3x φ(x)=x3+2x2−3x

按照 3.2 的结论 ,直接将每个对角元代入 φ(x)\varphi(x)φ(x):

  • φ(1)=13+2×12−3×1=1+2−3=0\varphi(1) = 1^3 + 2 \times 1^2 - 3 \times 1 = 1 + 2 - 3 = 0φ(1)=13+2×12−3×1=1+2−3=0
  • φ(2)=8+8−6=10\varphi(2) = 8 + 8 - 6 = 10φ(2)=8+8−6=10
  • φ(−3)=−27+18+9=0\varphi(-3) = -27 + 18 + 9 = 0φ(−3)=−27+18+9=0

于是:
φ(Λ)=diag(0,10,0) \varphi(\Lambda) = \text{diag}(0, 10, 0) φ(Λ)=diag(0,10,0)


为什么可以这样算?

因为对角矩阵的幂是:
Λk=diag(λ1k,λ2k,...,λnk) \Lambda^k = \text{diag}(\lambda_1^k, \lambda_2^k, \dots, \lambda_n^k) Λk=diag(λ1k,λ2k,...,λnk)

所以:
φ(Λ)=a0E+a1Λ+⋯+amΛm \varphi(\Lambda) = a_0 E + a_1 \Lambda + \cdots + a_m \Lambda^m φ(Λ)=a0E+a1Λ+⋯+amΛm
=diag(a0+a1λ1+⋯+amλ1m,  a0+a1λ2+⋯+amλ2m,  ... ) = \text{diag}(a_0 + a_1\lambda_1 + \cdots + a_m\lambda_1^m, \; a_0 + a_1\lambda_2 + \cdots + a_m\lambda_2^m, \; \dots) =diag(a0+a1λ1+⋯+amλ1m,a0+a1λ2+⋯+amλ2m,...)
=diag(φ(λ1),φ(λ2),...,φ(λn)) = \text{diag}(\varphi(\lambda_1), \varphi(\lambda_2), \dots, \varphi(\lambda_n)) =diag(φ(λ1),φ(λ2),...,φ(λn))

这就是 3.2 的结论,也是 4.2 计算的直接依据。

相关推荐
别或许9 小时前
6、线性代数之二次型(知识总结)
线性代数
剑穗挂着新流苏3129 小时前
201_深度学习的数学底座:PyTorch 线性代数与范数实战
pytorch·深度学习·线性代数
ryrhhhh1 天前
多平台同步优化技术:矩阵跃动小陌GEO如何实现一次配置、全端搜索曝光
人工智能·线性代数·矩阵
别或许1 天前
5、线性代数之特征值、矩阵相似(知识总结)
线性代数
scx_link2 天前
矩阵的总结
线性代数·矩阵
链巨人2 天前
海森矩阵(Hessian矩阵)及其应用
线性代数·机器学习·矩阵·概率论
链巨人2 天前
通俗理解模型梯度、海森矩阵、模型参数,以及它们之间的关系
人工智能·线性代数·矩阵
听风吹等浪起2 天前
【SwinTransformer 全维度改进方案矩阵】—— 覆盖注意力、多尺度、通道/空间增强,适配CV全场景的工业级优化库
人工智能·深度学习·线性代数·计算机视觉·矩阵
放下华子我只抽RuiKe52 天前
文本处理与RNN:硬核实战笔记
人工智能·rnn·深度学习·神经网络·线性代数·机器学习·矩阵