1. 基本概念
1.1 向量及其转置
一个 d d d维列向量 x x x及其转置 x t x^t xt可记作:
(1) x = [ x 1 x 2 ⋮ x d ] 和 x t = [ x 1 x 2 … x d ] x=\left[ \begin{matrix} x_1 \\ x_2 \\ \vdots\\ x_d\\ \end{matrix} \right]\ 和 x^t=\left[ \begin{matrix} x_1 & x_2 & \dots & x_d\\ \end{matrix} \right]\tag{1} x=⎣⎢⎢⎢⎡x1x2⋮xd⎦⎥⎥⎥⎤ 和xt=[x1x2…xd](1)
1.2 矩阵及其转置
一个 n × d n \times d n×d的矩阵 M \mathbf M M及其 d × n d \times n d×n的转置矩阵 M t \mathbf M^t Mt为:
(2) M = [ m 11 m 12 … m 1 d m 21 m 22 … m 2 d ⋮ ⋮ ⋱ ⋮ m n 1 m n 2 … m n d ] \mathbf M=\left[ \begin{matrix} m_{11} & m_{12} & \dots & m_{1d}\\ m_{21} & m_{22} & \dots & m_{2d} \\ \vdots & \vdots & \ddots & \vdots\\ m_{n1} & m_{n2} & \dots & m_{nd}\\ \end{matrix} \right]\tag{2} M=⎣⎢⎢⎢⎡m11m21⋮mn1m12m22⋮mn2……⋱…m1dm2d⋮mnd⎦⎥⎥⎥⎤(2)
和
(3) M t = [ m 11 m 21 … m n 1 m 12 m 22 … m n 2 ⋮ ⋮ ⋱ ⋮ m 1 d m 2 d … m n d ] \mathbf M^t=\left[ \begin{matrix} m_{11} & m_{21} & \dots & m_{n1}\\ m_{12} & m_{22} & \dots & m_{n2} \\ \vdots & \vdots & \ddots & \vdots\\ m_{1d} & m_{2d} & \dots & m_{nd}\\ \end{matrix} \right]\tag{3} Mt=⎣⎢⎢⎢⎡m11m12⋮m1dm21m22⋮m2d……⋱…mn1mn2⋮mnd⎦⎥⎥⎥⎤(3)
1.3 对称矩阵与反对称矩阵
一个 d × d d \times d d×d的方阵, 如果其元素满足 m i j = m j i m_{ij}=m_{ji} mij=mji,则称为对称矩阵;一个的 d × d d \times d d×d方阵,如果其元素满足 m i j = − m j i m_{ij}=-m_{ji} mij=−mji,则称为斜对称矩阵或反对称矩阵。
1.4 单位矩阵 I \mathbf I I
单位矩阵必须为方阵,其对角线元素均为1,非对角线元素均为0。
1.5 对角矩阵
非对角线元素均为0的矩阵,也记作 d i a g ( m 11 , m 22 , … , m d d ) diag(m_{11}, m_{22}, \dots, m_{dd}) diag(m11,m22,…,mdd)
1.6 向量或矩阵相加减
向量或矩阵的相加减即为对应元素相加减,参与运算的两个向量或矩阵维数必须相等。
1.7 矩阵与向量相乘
矩阵与向量相乘 M x = y \mathbf M \mathbf x=\mathbf y Mx=y可以表示为:
(4) [ m 11 m 21 … m n 1 m 12 m 22 … m n 2 ⋮ ⋮ ⋱ ⋮ m 1 d m 2 d … m n d ] [ x 1 x 2 ⋮ x d ] = [ y 1 y 2 ⋮ y n ] \left[ \begin{matrix} m_{11} & m_{21} & \dots & m_{n1}\\ m_{12} & m_{22} & \dots & m_{n2} \\ \vdots & \vdots & \ddots & \vdots\\ m_{1d} & m_{2d} & \dots & m_{nd}\\ \end{matrix} \right] \left[ \begin{matrix} x_1 \\ x_2 \\ \vdots\\ x_d \\ \end{matrix} \right] = \left[ \begin{matrix} y_1 \\ y_2 \\ \vdots\\ y_n \\ \end{matrix} \right ] \tag{4} ⎣⎢⎢⎢⎡m11m12⋮m1dm21m22⋮m2d……⋱…mn1mn2⋮mnd⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡x1x2⋮xd⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤(4)
其中: y i = ∑ j = 0 d m i j x j y_i=\sum\limits_{j=0}^d m_{ij}x_j yi=j=0∑dmijxj。注意矩阵的列数必须等于向量的行数。
2. 向量内积与外积
2.1 向量内积
两个具有相同维数的向量 x \mathbf x x与 y \mathbf y y的内积记为 x t y \mathbf x^t \mathbf y xty,这是一个标量:
(5) x t y = ∑ i = 0 d x i y i = y t x \mathbf x^t \mathbf y=\sum\limits_{i=0}^dx_i y_i=\mathbf y^t \mathbf x \tag{5} xty=i=0∑dxiyi=ytx(5)
内积也称作点积,记为 x ⋅ y \mathbf x \cdot \mathbf y x⋅y或 ⟨ x , y ⟩ \langle \mathbf x , \mathbf y \rangle ⟨x,y⟩。
2.2 欧几里德范数
向量的欧几里德范数即为向量的长度,定义为:
(6) ∥ x ∥ = x t x \begin{Vmatrix}\mathbf x \end{Vmatrix}= \sqrt{\mathbf x^t \mathbf x} \tag{6} ∥∥x∥∥=xtx(6)
如果一个向量 x \mathbf x x满足 ∥ x ∥ = 1 \begin{Vmatrix}\mathbf x \end{Vmatrix}= 1 ∥∥x∥∥=1,则称这个向量是归一化的。
2.3 两个向量的夹角
两个d维向量的夹角为:
(7) c o s θ = x t y ∥ x ∥ ∥ y ∥ cos\theta= \frac{\mathbf x^t\mathbf y}{\begin{Vmatrix}\mathbf x \end{Vmatrix}\begin{Vmatrix}\mathbf y \end{Vmatrix}}\tag{7} cosθ=∥∥x∥∥∥∥y∥∥xty(7)
当 x t y = 0 \mathbf x^t\mathbf y=0 xty=0时,这两个向量是正交的。当 ∥ x t y ∥ = ∥ x ∥ ∥ y ∥ \begin{Vmatrix}\mathbf x^t \mathbf y\end{Vmatrix}= \begin{Vmatrix}\mathbf x \end{Vmatrix}\begin{Vmatrix}\mathbf y \end{Vmatrix} ∥∥xty∥∥=∥∥x∥∥∥∥y∥∥时,这两个向量是共线的。
由于对于任意角度 θ \theta θ都有 ∣ c o s θ ∣ ≤ 1 |cos\theta|\leq 1 ∣cosθ∣≤1,由式(7)可得柯西-施瓦茨不等式:
(8) ∣ x t y ∣ ≤ ∥ x ∥ ∥ y ∥ |\mathbf x^t \mathbf y| \leq \begin{Vmatrix}\mathbf x \end{Vmatrix} \begin{Vmatrix}\mathbf y \end{Vmatrix}\tag{8} ∣xty∣≤∥∥x∥∥∥∥y∥∥(8)
2.4 线性相关与线性无关
对于一组给定的向量 { x 1 , x 2 , … , x n } \lbrace \mathbf x_1, \mathbf x_2, \dots, \mathbf x_n \rbrace {x1,x2,…,xn},如果其中不存在任何一个能被表示为其余向量的线性组合的向量,那么这组向量是线性无关的,反之则是线性相关。一组d个线性无关的d维向量能够张成一个d维向量空间,也就是说,这个空间中的任意向量都可以表示为这些线性无关向量的线性组合。
2.5 向量的外积
两个向量的外积为一个矩阵:
(9) M = x y t = [ x 1 x 2 ⋮ x d ] [ y 1 y 2 … y d ] = [ x 1 y 1 x 1 y 2 … x 1 y n x 2 y 1 x 2 y 2 … x 2 y n ⋮ ⋮ ⋱ ⋮ x d y 1 x d y 2 … x d y n ] \mathbf M= \mathbf x \mathbf y^t= \left[ \begin{matrix} x_1 \\ x_2 \\ \vdots\\ x_d \\ \end{matrix} \right] \left[ \begin{matrix} y_1 & y_2 & \dots & y_d\\ \end{matrix} \right]= \left[ \begin{matrix} x_1 y_1 & x_1 y_2 & \dots & x_1 y_n\\ x_2 y_1 & x_2 y_2 & \dots & x_2 y_n \\ \vdots & \vdots & \ddots & \vdots\\ x_d y_1 & x_d y_2 & \dots & x_d y_n\\ \end{matrix} \right]\tag{9} M=xyt=⎣⎢⎢⎢⎡x1x2⋮xd⎦⎥⎥⎥⎤[y1y2…yd]=⎣⎢⎢⎢⎡x1y1x2y1⋮xdy1x1y2x2y2⋮xdy2……⋱…x1ynx2yn⋮xdyn⎦⎥⎥⎥⎤(9)
3. 矩阵的导数
3.1 取标量值的函数的导数
设 f ( x ) f(\mathbf x) f(x)是一个取标量值得函数,有d个自变量 x i ( i = 1 , 2 , … , d ) x_i(i=1,2, \dots, d) xi(i=1,2,…,d),用向量 x \mathbf x x表示。则函数 f ( ⋅ ) f(\cdot) f(⋅)关于自变量 x \mathbf x x的梯度为:
(10) ∇ f ( x ) = ∂ f ( x ) ∂ x = [ ∂ f ( x ) ∂ x 1 ∂ f ( x ) ∂ x 2 ⋮ ∂ f ( x ) ∂ x d ] \nabla f(\mathbf x)= \frac{\partial f(\mathbf x)}{\partial \mathbf x}= \left[ \begin{matrix} \frac{\partial f(\mathbf x)}{\partial x_1} \\ \frac{\partial f(\mathbf x)}{\partial x_2} \\ \vdots\\ \frac{\partial f(\mathbf x)}{\partial x_d} \\ \end{matrix} \right]\tag{10} ∇f(x)=∂x∂f(x)=⎣⎢⎢⎢⎢⎡∂x1∂f(x)∂x2∂f(x)⋮∂xd∂f(x)⎦⎥⎥⎥⎥⎤(10)
3.2 取值为向量的函数的导数
设 f \mathbf f f是一个值为n维向量的向量函数,其自变量为d维向量 x \mathbf x x,则 f \mathbf f f关于自变量的梯度为:
(11) J ( x ) = ∂ f ( x ) ∂ x = [ ∂ f 1 ( x ) ∂ x 1 … ∂ f 1 ( x ) ∂ x d ⋮ ⋱ ⋮ ∂ f n ( x ) ∂ x 1 … ∂ f n ( x ) ∂ x d ] \mathbf J(\mathbf x)= \frac{\partial \mathbf f(\mathbf x)}{\partial \mathbf x}= \left[ \begin{matrix} \frac{\partial f_1(\mathbf x)}{\partial x_1} & \dots & \frac{\partial f_1(\mathbf x)}{\partial x_d}\\ \vdots & \ddots & \vdots \\ \frac{\partial f_n(\mathbf x)}{\partial x_1} & \dots & \frac{\partial f_n(\mathbf x)}{\partial x_d} \\ \end{matrix} \right]\tag{11} J(x)=∂x∂f(x)=⎣⎢⎢⎡∂x1∂f1(x)⋮∂x1∂fn(x)…⋱…∂xd∂f1(x)⋮∂xd∂fn(x)⎦⎥⎥⎤(11)
称矩阵 J ( x ) \mathbf J(\mathbf x) J(x)为雅克比矩阵。
3.3 矩阵 M \mathbf M M关于标量参数 θ \theta θ的导数
设矩阵 M \mathbf M M的每个元素都是关于某个标量参数 θ \theta θ的函数,则此矩阵关于参数的导数为:
(12) ∂ M ∂ θ = [ ∂ m 11 ∂ θ … ∂ m 1 d ∂ θ ⋮ ⋱ ⋮ ∂ m n 1 ∂ θ … ∂ m n d ∂ θ ] \frac{\partial \mathbf M}{\partial \theta}= \left[ \begin{matrix} \frac{\partial m_{11}}{\partial \theta} & \dots & \frac{\partial m_{1d}}{\partial \theta}\\ \vdots & \ddots & \vdots \\ \frac{\partial m_{n1}}{\partial \theta} & \dots & \frac{\partial m_{nd}}{\partial \theta} \\ \end{matrix} \right]\tag{12} ∂θ∂M=⎣⎢⎡∂θ∂m11⋮∂θ∂mn1…⋱…∂θ∂m1d⋮∂θ∂mnd⎦⎥⎤(12)
3.4 常用公式
(13 - 15) ∂ ∂ x [ M x ] = M ∂ ∂ x [ y t x ] = ∂ ∂ x [ x t y ] = y ∂ ∂ x [ x t M x ] = [ M + M t ] x \begin{alignedat}{1} \tag{13 - 15} {\frac{\partial}{\partial \mathbf x}[\mathbf M \mathbf x]= \mathbf M} \\ {\frac{\partial}{\partial \mathbf x}[\mathbf y^t \mathbf x]= \frac{\partial}{\partial \mathbf x}[\mathbf x^t \mathbf y]= \mathbf y} \\ {\frac{\partial}{\partial \mathbf x}[\mathbf x^t \mathbf M \mathbf x]= [\mathbf M + \mathbf M^t]\mathbf x } \end{alignedat} ∂x∂[Mx]=M∂x∂[ytx]=∂x∂[xty]=y∂x∂[xtMx]=[M+Mt]x(13 - 15)
4. 行列式和迹
4.1 求解行列式
- 2 × 2 2 \times 2 2×2的矩阵的行列式:
(16) ∣ M 2 × 2 ∣ = m 11 m 22 − m 21 m 12 |\mathbf {M_{2 \times 2}}|= m_{11}m_{22}-m_{21}m_{12}\tag{16} ∣M2×2∣=m11m22−m21m12(16)
- 余子式:如果 M \mathbf M M为 d × d d \times d d×d的矩阵,任一元素 m i j m_{ij} mij的余子式 M i ∣ j \mathbf M_{i|j} Mi∣j定义为,从原始矩阵 M \mathbf M M中分别划去第 i i i行和第 j j j列的所有元素后,得到的 ( d − 1 ) × ( d − 1 ) (d-1) \times (d-1) (d−1)×(d−1)的矩阵。 m i j m_{ij} mij的代数余子式 C i j C_{ij} Cij为余子式 M i ∣ j \mathbf M_{i|j} Mi∣j与 ( − 1 ) i + j (-1)^{i+j} (−1)i+j的乘积。
以三维矩阵 A \mathbf A A为例:
A = [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] \mathbf A=\left[ \begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \\ \end{matrix} \right] A=⎣⎡a11a21a31a12a22a32a13a23a33⎦⎤
a 12 a_{12} a12的余子式 A 1 ∣ 2 \mathbf A_{1|2} A1∣2表示为:
[ × × × a 21 × a 23 a 31 × a 33 ] → A 1 ∣ 2 = [ a 21 a 23 a 31 a 33 ] \left[ \begin{matrix} \times & \times & \times \\ a_{21} & \times & a_{23} \\ a_{31} & \times & a_{33} \\ \end{matrix} \right] \to \mathbf A_{1|2}=\left[ \begin{matrix} a_{21} & a_{23} \\ a_{31} & a_{33} \\ \end{matrix} \right] ⎣⎡×a21a31××××a23a33⎦⎤→A1∣2=[a21a31a23a33]
a 12 a_{12} a12的代数余子式 C 12 C_{12} C12表示为:
C 12 = ( − 1 ) 1 + 2 ∣ A 1 ∣ 2 ∣ = − a 21 a 33 + a 23 a 31 C_{12}=(-1)^{1+2}|\mathbf A_{1|2}|=-a_{21}a_{33}+a_{23}a_{31} C12=(−1)1+2∣A1∣2∣=−a21a33+a23a31
- 高阶矩阵的行列式: 对于二阶矩阵的行列式,我们可以通过式(16)计算,对于更阶的矩阵,我们通过余子式来计算。如果 ∣ M i ∣ j ∣ |\mathbf M_{i|j}| ∣Mi∣j∣已经计算得到,那么高阶矩阵行列式的计算有如下公式:
(17) ∣ M ∣ = ∑ i = 1 d ∑ j = 1 d ( − 1 ) i + j m i j ∣ M i ∣ j ∣ |\mathbf M|=\sum\limits_{i=1}^d \sum\limits_{j=1}^d (-1)^{i+j} m_{ij} |\mathbf M_{i|j}|\tag{17} ∣M∣=i=1∑dj=1∑d(−1)i+jmij∣Mi∣j∣(17)
- 行列式的一些性质: 对于任意矩阵,有:
(18) ∣ M ∣ = ∣ M t ∣ |\mathbf M|=|\mathbf M^t|\tag{18} ∣M∣=∣Mt∣(18)
当两个矩阵 M \mathbf M M与 N \mathbf N N的大小相同时,有:
(19) ∣ M N ∣ = ∣ M ∣ × ∣ N ∣ |\mathbf M \mathbf N|=|\mathbf M| \times |\mathbf N|\tag{19} ∣MN∣=∣M∣×∣N∣(19)
矩阵的行列式在坐标系旋转时保持不变。
4.2 矩阵的迹
- 定义: 对于 d × d d \times d d×d的方阵,矩阵的迹定义为主对角线上的元素之和,即:
(20) t r [ M ] = ∑ i = 1 d m i i tr[\mathbf M]= \sum\limits_{i=1}^d m_{ii}\tag{20} tr[M]=i=1∑dmii(20)
矩阵的迹在坐标系旋转时保持不变。
5. 矩阵的逆
- 定义: 只要一个 d × d d \times d d×d矩阵 M \mathbf M M的行列式不为零,那么它对应的逆矩阵 M − 1 \mathbf M^{-1} M−1就存在,并且满足:
(21) M M − 1 = I \mathbf M \mathbf M^{-1}= \mathbf I\tag{21} MM−1=I(21)
- 伴随矩阵: 矩阵 M \mathbf M M的伴随矩阵记为 A d j [ M ] Adj[\mathbf M] Adj[M],它的第 i i i行第 j j j列元素为矩阵第 j j j行第 i i i列的余子式 C j i C_{ji} Cji,即:
(22) A d j [ M ] = [ C 11 C 21 … C d 1 C 12 C 22 … C d 2 ⋮ ⋮ ⋱ ⋮ C 1 d C 2 d … C d d ] Adj[\mathbf M]= \left[ \begin{matrix} C_{11} & C_{21} & \dots & C_{d1}\\ C_{12} & C_{22} & \dots & C_{d2} \\ \vdots & \vdots & \ddots & \vdots\\ C_{1d} & C_{2d} & \dots & C_{dd}\\ \end{matrix} \right]\tag{22} Adj[M]=⎣⎢⎢⎢⎡C11C12⋮C1dC21C22⋮C2d……⋱…Cd1Cd2⋮Cdd⎦⎥⎥⎥⎤(22)
- 逆的计算:
(23) M − 1 = A d j [ M ] ∣ M ∣ \mathbf M^{-1}=\frac{Adj[\mathbf M]}{|\mathbf M|}\tag{23} M−1=∣M∣Adj[M](23)
- 伪逆: 如果 M \mathbf M M不是方阵,或者 M \mathbf M M的列向量不是线性无关的,则 M − 1 \mathbf M^{-1} M−1不存在,我们通常用伪逆矩阵 M † \mathbf M^{\dagger} M†来代替 M − 1 \mathbf M^{-1} M−1。如果 M t M \mathbf M^t \mathbf M MtM非奇异(即 ∣ M t M ∣ ≠ 0 |\mathbf M^t \mathbf M|\neq0 ∣MtM∤=0),则伪逆矩阵定义为:
(24) M † = [ M t M ] − 1 M t \mathbf M^{\dagger}=[\mathbf M^{t} \mathbf M]^{-1} \mathbf M^{t}\tag{24} M†=[MtM]−1Mt(24)
- 逆的性质:
(25) [ M N ] − 1 = M − 1 N − 1 [\mathbf M \mathbf N]^{-1}=\mathbf M^{-1} \mathbf N^{-1}\tag{25} [MN]−1=M−1N−1(25)
6. 特征值与特征向量
- 线性方程组的解: 对于 d × d d \times d d×d的矩阵 M \mathbf M M,一类非常重要的线性方程组的形式为:
(26) M x = λ x \mathbf M \mathbf x= \lambda \mathbf x\tag{26} Mx=λx(26)
其中 λ \lambda λ为标量。上式可以写为:
(27) ( M − λ I ) x = 0 (\mathbf M- \lambda \mathbf I) \mathbf x=\mathbf 0 \tag{27} (M−λI)x=0(27)
其中
I
\mathbf I
I为单位阵,为d维零向量。线性方程组(26)的解向量
x
=
e
i
\mathbf x=\mathbf e_i
x=ei和对应的标量系数
λ
=
λ
i
\lambda = \lambda_i
λ=λi即为特征向量和特征值。
一种求解特征向量和特征值得方法是求解特征方程:
(28) ∣ M − λ I ∣ = 0 |\mathbf M- \lambda \mathbf I|=0\tag{28} ∣M−λI∣=0(28)
特征方程的各个根就是特征值。然后对应每个根,我们通过求解线性方程组来得到特征值对应的特征向量。
- 重要性质: 全部特征值之和为矩阵的迹,全部特征值的乘积为矩阵的行列式,即:
(29 - 30) t r [ M ] = ∑ i = 1 d λ i ∣ M ∣ = ∏ i = 1 d λ i \begin{alignedat}{} tr[\mathbf M]=\sum\limits_{i=1}^d \lambda_i \tag{29 - 30}\\ |\mathbf M|= \prod\limits_{i=1}^d \lambda_i \end{alignedat}{} tr[M]=i=1∑dλi∣M∣=i=1∏dλi(29 - 30)
更多文章请浏览作者个人网站5663015.github.io
添加作者微信,一起交流学习,微信号:wuan3076
您的打赏是我进步的动力~