矩阵函数的常见求法

1 待定系数法

1.1 待定系数法求矩阵函数的步骤推导

待定系数法是以Hamilton-Cayley定理为基础的一种求矩阵函数的方法。设\(n\)阶矩阵\(A\)的特征多项式为\(\phi(\lambda)=\det(\lambda I-A)\),且设首\(1\)多项式为\(\psi(\lambda)\),如果\(\psi(A)=O\),且\(\psi(\lambda)\)整除\(\phi(\lambda)\),则根据Hamilton-Cayley定理知道\(\psi(\lambda)\)的零点都是\(A\)的特征值,记\(\psi(\lambda)\)的所有互异零点重数之和为\(m\),则

\[f(z)=\sum^{\infty}_{k=0}c_kz^k=\psi(z)g(z)+r(z) \]

其中\(r(z)\)为次数低于\(m\)的多项式,在确定出\(r(z)\)之后,便知道\(f(A)=r(A)\)。值得一提的是,求解\(r(z)\)的时候可以回避掉\(g(z)\)的计算,依据的原理是适当求导之后的\(\psi(z)g(z)\)的值仍为零,具体的操作过程将在下面结合具体的例子加以说明。

1.2 举例展示求法

下面以《矩阵论》一书例3.5为基础说明待定系数法求矩阵函数的具体过程。

例3.5 设\(A=\begin{bmatrix} 2 & 0 & 0\\ 1 & 1 & 1\\ 1 & -1 & 3 \end{bmatrix}\),求\(e^A\)和\(e^{tA}~(t\in R)\)

(1)容易得到最小多项式为\(m(\lambda)=(\lambda-2)^2\),故取\(\psi(\lambda)=(\lambda-2)^2\),此时最高次数为\(2\),故设\(r(\lambda)=a+b\lambda\),由于\(2\)为特征值,所以有下面的方程组:

\[\left. \begin{cases} f(2)=e^2\\ f'(2)=e^2 \end{cases} \right. \]

容易解得\(a=-e^2\),\(b=e^2\),于是\(r(\lambda)=e^2(\lambda-1)\),故

\[e^A=f(A)=r(A)=e^2(A-I)=e^2 \begin{bmatrix} 1 & 0 & 0\\ 1 & 0 & 1\\ 1 & -1 & 2 \end{bmatrix} \]

(2)仍取\(\psi(\lambda)=(\lambda-2)^2\),此时最高次数为\(2\),故设\(r(\lambda)=a+b\lambda\),由于\(2\)为特征值,所以有下面的方程组:

\[\left. \begin{cases} f(2)=e^{2t}\\ f'(2)=te^{2t} \end{cases} \right. \]

容易解得\(a=(1-2t)e^{2t}\),\(b=te^{2t}\),于是\(r(\lambda)=e^{2t}[(1-2t)+t\lambda]\),故

\[e^{tA}=f(A)=r(A)=e^{2t}[(1-2t)I+tA]=e^{2t} \begin{bmatrix} 1 & 0 & 0\\ t & 1-t & t\\ t & -t & 1+t \end{bmatrix} \]

2 数项级数求和法

2.1 数项级数求和法求矩阵函数的步骤推导

数项级数求和法是根据最小多项式导出的矩阵递推关系来求解求矩阵函数的方法。由于首\(1\)多项式\(\psi(\lambda)\)满足\(\psi(A)=O\),也即

\[A^m+b_1A^{m-1}+\cdots+b_{m-1}A+b_mI=O \]

那么就可以得到

\[A^m=k_0I+k_1A+\cdots+k_{m-1}A^{m-1}\quad(k_i=-b_{m-i}) \]

这就是关于\(A^m\)的递推关系,也就是说任意的\(A^n\)总能够通过序列的前\(m\)项来表示出来,这就将矩阵幂级数的求和问题转化为了\(m\)个矩阵的求和问题,即有

\[\begin{align*} f(A)=&\sum^{\infty}_{k=0}c_kA^k=(c_0I+c_1A+\cdots+c_{m-1}A^{m-1})+c_m(k_0I+k_1A+\cdots+k_{m-1}A^{m-1})+\cdots\\ &+c_{m+l}(k_0^{(l)}I+k_1^{(l)}A+\cdots+k_{m-1}^{(l)}A^{m-1})+\cdots\\ =&(c_0+\sum^{\infty}_{l=0}c_{m+l}k_0^{(l)})I+(c_1+\sum^{\infty}_{l=0}c_{m+l}k_1^{(l)})A+\cdots+(c_{m-1}+\sum^{\infty}_{l=0}c_{m+l}k_{m-1}^{(l)})A^{m-1} \end{align*} \]

2.2 举例展示求法

下面以《矩阵论》一书例3.6为基础说明数项级数求和法求矩阵函数的具体过程。

例3.6 设\(A=\begin{bmatrix} \pi & 0 & 0 & 0\\ 0 & -\pi & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\),求\(\sin A\)

容易得到矩阵\(A\)的特征多项式为\(\phi(\lambda)=\det(\lambda I-A)=\lambda^4-\pi^2\lambda^2\),因此有\(\phi(A)=O\),也就有\(A^4=\pi^2A^2,A^5=\pi^2A^3,A^7=\pi^2A^5,\cdots\),于是

\[\begin{align*} \sin A=&A-\frac{1}{3!}A^3+\frac{1}{5!}A^5-\frac{1}{7!}A^7+\frac{1}{9!}A^9-\cdots\\ =&A-\frac{1}{3!}A^3+\frac{1}{5!}\pi^2A^3-\frac{1}{7!}\pi^4A^3+\frac{1}{9!}\pi^6A^3-\cdots\\ =&A+(-\frac{1}{3!}+\frac{1}{5!}\pi^2-\frac{1}{7!}\pi^4+\frac{1}{9!}\pi^6-\cdots)A^3\\ =&A+\frac{\sin\pi-\pi}{\pi}A^3\\ =&A-\pi^{-2}A^3\\ =& \begin{bmatrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix} \end{align*} \]

3 对角型法

3.1 对角型法求矩阵函数的步骤推导

对角型法就是线性代数课程中已经介绍过的求矩阵函数的方法。设\(A\)相似于对角矩阵\(\Lambda\),即有可逆矩阵\(P\),使得

\[P^{-1}AP= \begin{bmatrix} \lambda_1 & &\\ & \ddots &\\ & & \lambda_n \end{bmatrix} \qquad A=P \begin{bmatrix} \lambda_1 & &\\ & \ddots &\\ & & \lambda_n \end{bmatrix} P^{-1} \]

则有矩阵函数\(\sum^N_{k=0}c_kA^k=\sum^N_{k=0}c_kP\Lambda^kP^{-1}=P(\sum^N_{k=0}c_k\Lambda^k)P^{-1}\),于是

\[f(A)=\sum^N_{k=0}c_kA^k= P \begin{bmatrix} \sum^N_{k=0}c_k\lambda_1^k & &\\ & \ddots &\\ & & \sum^N_{k=0}c_k\lambda_n^k \end{bmatrix} P^{-1} = P \begin{bmatrix} f(\lambda_1) & &\\ & \ddots &\\ & & f(\lambda_n) \end{bmatrix} P^{-1} \]

3.2 举例展示求法

下面以《矩阵论》一书例3.7为基础说明对角型法求矩阵函数的具体过程。

例3.7 设\(A=\begin{bmatrix} 4 & 6 & 0\\ -3 & -5 & 0\\ -3 & -6 & 1 \end{bmatrix}\),分别求\(e^A\),\(e^{tA}~(t\in R)\)及\(\cos A\)

矩阵\(A\)的特征多项式\(\phi(\lambda)=\det(\lambda I-A)=(\lambda+2)(\lambda-1)^2\),那么根据线性代数的知识可以构造矩阵

\[P=(p_1,p_2,p_3)= \begin{bmatrix} -1 & -2 & 0\\ 1 & 1 & 0\\ 1 & 0 & 1 \end{bmatrix} \qquad P^{-1}AP= \begin{bmatrix} -2 & & \\ & 1 & \\ & & 1 \end{bmatrix} \]

其中\(p_1\),\(p_2\),\(p_3\)​为矩阵的三个特征向量,那么就有

\[\begin{align*} e^A&=P \begin{bmatrix} e^{-2} & & \\ & e^1 & \\ & & e^1 \end{bmatrix}P^{-1}= \begin{bmatrix} 2e-e^{-2} & 2e-2e^{-2} & 0\\ e^{-2}-e & 2e^{-2}-e & 0\\ e^{-2}-e & 2e^{-2}-2e & e \end{bmatrix}\\ e^{tA}&=P \begin{bmatrix} e^{-2t} & & \\ & e^t & \\ & & e^t \end{bmatrix}P^{-1}= \begin{bmatrix} 2e^t-e^{-2t} & 2e^t-2e^{-2t} & 0\\ e^{-2t}-e^t & 2e^{-2t}-e^t & 0\\ e^{-2t}-e^t & 2e^{-2t}-2e^t & e^t \end{bmatrix}\\ \cos A&=P \begin{bmatrix} \cos(-2) & & \\ & \cos1 & \\ & & \cos1 \end{bmatrix}P^{-1}= \begin{bmatrix} 2\cos1-\cos2 & 2\cos1-2\cos2 & 0\\ \cos2-\cos1 & 2\cos2-\cos1 & 0\\ \cos2-\cos1 & 2\cos2-2\cos1 & \cos1 \end{bmatrix} \end{align*} \]

4 Jordan标准型法

4.1 Jordan标准型法求矩阵函数的步骤推导

Jordan标准型法在形式上类似于对角型法。矩阵\(A\)的Jordan标准型为\(J\),则有可逆矩阵\(P\),使得

\[P^{-1}AP=J= \begin{bmatrix} J_1 & &\\ & \ddots &\\ & & J_s \end{bmatrix} \qquad J_i= \begin{bmatrix} \lambda_i & 1 & &\\ & \ddots & \ddots &\\ & & \lambda_i & 1\\ & & & \lambda_i \end{bmatrix}_{m_i\times m_i} \]

那么矩阵函数就可以求解,形式为:

\[\begin{align*} f(A)&=P \begin{bmatrix} f(J_1) & &\\ & \ddots &\\ & & f(J_s) \end{bmatrix}P^{-1}\\ f(J_i)&=\sum^{\infty}_{k=0}c_kJ^k_i=\sum^{\infty}_{k=0}c_k \begin{bmatrix} \lambda_i^k & C_k^1\lambda_i^{k-1} & \cdots & C_k^{m_i-1}\lambda_i^{k-m_i+1}\\ & \lambda_i^k & \ddots & \vdots\\ & & \ddots & C_k^1\lambda_i^{k-1}\\ & & & \lambda_i^k \end{bmatrix} \end{align*} \]

4.2 举例展示求法

下面以《矩阵论》一书例3.6为基础说明数项级数求和法求矩阵函数的具体过程。

例3.6 设\(A=\begin{bmatrix} \pi & 0 & 0 & 0\\ 0 & -\pi & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\),求\(\sin A\)

矩阵\(A\)的三个Jordan块为

\[J_1=\pi\quad J_2=-\pi\quad J_3= \begin{bmatrix} 0 & 1\\ 0 & 0 \end{bmatrix} \]

且根据求解过程可得

\[\sin J_1=0\quad \sin J_2=0\quad \sin J_3= \begin{bmatrix} \sin0 & \frac1{1!}\cos1\\ 0 & \sin0 \end{bmatrix}= \begin{bmatrix} 0 & 1\\ 0 & 0 \end{bmatrix} \]

因此将此三个Jordan块进行组装便可以得到

\[\sin A= \begin{bmatrix} \sin J_1 & &\\ & \sin J_2 &\\ & & \sin J_3 \end{bmatrix}= \begin{bmatrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix} \]

5 参考资料

  • 《矩阵论》,张凯院,徐仲,西北工业大学出版社
    矩阵函数的常见求法
上一篇:模拟退火算法


下一篇:1.ansible执行命令