第4章 特殊矩阵

上一节我们介绍了一般矩阵的运算,实际上在机器学习或深度学习中,我们还经常遇到一些特殊类型的矩阵,如可逆矩阵、对称矩阵、对角矩阵、单位矩阵、正交矩阵等等。这些特殊矩阵有特殊属性,下面我们逐一进行说明。

4.1可逆矩阵

1)方阵的定义:
如果矩阵的行数与列数相等,则称为方阵。n×n的方阵称为n阶矩阵。
2)逆矩阵的定义:
设A是一个n阶矩阵,若存在另一个n阶矩阵B,使得:AB=BA=E(单位矩阵),则称A可逆,并称B是A的逆矩阵。A的逆矩阵记为A^{-1}。这里B=A^{-1}
3)逆矩阵的性质:
(1)A与B的地位是平等的,故A、B两矩阵互为逆矩阵,也称A是B的逆矩阵。
(2)单位矩阵E是可逆的,即E^{-1}=E
(3)如果A可逆,那么A的逆矩阵是唯一的。
证明:设B、C都是A的逆矩阵,则有B=BE =B(AC)=(BA)C=EC=C
(4)若矩阵A可逆,则A^{-1}也可逆,且\left(A^{-1}\right)^{-1}=A
(5)若矩阵A可逆,则A^T也可逆,且\left(A^T\right)^{-1}=\left(A^{-1}\right )^T
(6)若矩阵A、B可逆,则AB也可逆,且\left(AB\right)^{-1}=B^{-1} A^{-1}
4)定理

4.2对角矩阵

对角矩阵只有在主对角线上才有非零元素,其余都是0。从形式上来看,如果A为对角
矩阵,当且仅当对所有i≠j,A_{i,j}=0。对角矩阵可以是方阵(行数等于列数)也可以不是方阵,如下矩阵,就是一个对角矩阵。
X=\left[\begin{matrix} 1&0\\0&2\\0&0\end{matrix}\right]
对角矩阵有非常好的性质,这些性质使很多计算非常高效,在机器学习、深度学习中经常会遇到对角矩阵。
对于对角矩阵为方阵的情况,我们可以把对角矩阵简单记为:
diag(v)=diag([v_1,v_2,\cdots,v_n]^T) \tag{2.14}
其中v=[v_1,v_2,\cdots,v_n]^T是由对角元素组成的向量,现在我们看一下对角矩阵在一些计算方面的奇妙之处。
假设现有向量v=[v_1,v_2,\cdots,v_n]^T,x=[x_1,x_2,\cdots,x_n]^T,则满足:
diag(v)x=v\odot x
diag(v)^{-1}=diag([1/v_1,1/v_2,\cdots,1/v_n]^T)
从上面两个式子可以看到对角矩阵的简洁高效。

4.3对称矩阵

对称矩阵,对于任意一个n阶方阵A,若A满足:A=A^T成立,则称方阵A为对称矩阵。
对称矩阵的主要性质:
(1)对称矩阵的和、差、数乘还是对称矩阵
(2)n阶实对称矩阵A,一定存在n阶正交矩阵P使:
\begin{equation}P^{-1}AP=P^TAP=\begin{bmatrix}\lambda_{1} & & & \\& \lambda_{2} & & \\&& \ddots &\\& & &\lambda_{n}\end{bmatrix}=\wedge\end{equation}
【说明】因P为正交矩阵,故其逆矩阵等于其转置。
而且对角矩阵\wedge中的n个对角元\lambda_1,\lambda_2,\cdots, \lambda_n就是A的n个特征值。可用归纳法证明,有情趣的读者可尝试证明一下。
例1:如何将下列对称矩阵正交化为对角矩阵?
特征分解可用Python的线性代数库(linalg)提供的eig函数来实现,函数的输入为需特征分解的矩阵,输出为所有特征值,以及对应的单位化的特征向量。
上面这个计算过程可用python简单实现

运行结果:
特征值构成的向量: [-1. 2. -1.]
单位化的特征向量: [[-0.81649658 0.57735027 0.19219669]
[ 0.40824829 0.57735027 -0.7833358 ]
[ 0.40824829 0.57735027 0.59113912]]

4.4正交矩阵

对于任意一个n阶方阵A,若矩阵的行向量之间互相正交,且行向量都是单位向量,即满足:
AA^T=A^T A=E \tag{2.15}
则称矩阵A是一个正交矩阵。由上式可以看出,若A是一个正交矩阵,则可推出A^T=A^{-1}
补充向量正交、单位向量的定义:
单位向量
任意给定的向量ν,若其L^2范数为1,即||v||_2=1,则称向量ν为单位向量。
正交向量
假设现有向量v=[v_1,v_2,\cdots,v_n]^T,x=[x_1,x_2,\cdots,x_n]^T,则满足
v^Tx =0
成立,则称向量v和向量x正交。这里v^T与x表示向量的点积运算。
正交矩阵的性质:
(1)正交矩阵的列/行向量组为标准正交向量组。
(2)正交矩阵的特征值只能为±1。