线性代数学习笔记

Published: by Creative Commons Licence

  • Tags:

矩阵

置换矩阵

置换矩阵是指每一行每一列恰好有一个$1$,其余元素是$0$的方阵。对于大小为$n\times n$的置换矩阵,很显然总共有$n!$种不同的置换矩阵。

置换矩阵的性质:

  • 两个置换矩阵的乘积也是置换矩阵
  • 如果$A$是置换矩阵,则$A^T=A^{-1}$。

第二点的证明可以观察行交换矩阵$P_{ij}$,可以发现$P_{ij}P_{ij}^T=I$,而所有矩阵都可以表示为行交换矩阵的乘积。

LU分解

每个$R^{n\times n}$矩阵$A$都可以通过高斯消元,转换为置换矩阵,下三角矩阵和上三角矩阵的乘积。

\[A=PLU\]

进一步可以得到

\[A=PLDU\]

其中$P$是置换矩阵,$L$是单位下三角矩阵,$U$是单位上三角矩阵,且$L$与$U$的对角线元素均为$1$,$D$是对角线矩阵。

有些矩阵可以分解为$P=LU$的形式,其中$L$是下三角矩阵,$U$是上三角矩阵。一个可逆矩阵$A$可以进行LU分解当且仅当$A$的所有子式都非$0$。且如果存在LU分解,则矩阵$A$的$LDU$分解是唯一的。

矩阵乘法

矩阵乘法满足下面性质:

  • 如果$A$和$B$均为上(下)三角矩阵,则$AB$也是上(下)三角矩阵

转置矩阵

矩阵$A$的转置记作$A^T$。转置矩阵拥有如下性质:

  • $(A^T)^{-1}=(A^{-1})^T$
  • $(AB)^T=B^TA^T$

对称矩阵

如果$A^T=A$,则称$A$是对称矩阵。

对称矩阵有下面性质:

  • 对称矩阵只有实数特征值
  • 我们可以为对称矩阵选择正交的特征向量

对称矩阵的不同特征值的特征向量一定正交。证明如下:考虑对称矩阵$A$,以及它的任意两个不同的特征向量$a,b$以及对应的特征值$x,y$,可以推出

\[Ax=ax\rightarrow y^TAx=ay^Tx\\ y^TA^T=by^T\rightarrow y^TA^Tx=by^Tx\\ ay^Tx=by^Tx\rightarrow y^Tx=0\]

正交矩阵

如果一个$R^{n\times n}$矩阵$A$的列(行)向量为单位向量,且不同列(行)向量相互正交,那么矩阵$A$称为正交矩阵。

很显然置换矩阵也是正交矩阵。

正交矩阵$A$有下面性质:

  • $A^{-1}=A^T$
  • $\det(A)=\pm 1$

如果已知$A$的列向量标准正交,那么$A$的行向量也一定标准正交。因为$A^TA=I$,因此$AA^T=I$。

矩阵求逆

一个$n\times n$矩阵$A$有逆矩阵$A^{-1}$,等价于下面条件:

  • $A$的行列式值非0
  • $A$的行向量线性无关
  • $A$的列向量线性无关
  • $Ax=0$当且仅当$x=0$

一些推广:

  • 如果$A$是上(下)三角矩阵,则$A$可逆当且仅当对角线元素中不含$0$。
  • 如果$A$中对于任意$i$均满足$\sum_{j\neq i}^n|a_{ij}|<|a_{ii}|$,则$A$一定可逆

第二条性质的证明如下,设任意向量$x$满足$Ax=0$,设$x$中绝对值最大的成分为$x_i$,那么$A_ix$一定与$a_{ii}x_i$同号(即非$0$)。因此等式的唯一解为$x=0$,故可以推出$A$可逆。

矩阵$A$的逆矩阵有如下性质:

  • 如果$A$是对称矩阵,则$A^{-1}$也是对称矩阵
  • 如果$A$是上(下)三角矩阵,则$A^{-1}$也是上(下)三角矩阵
  • 如果$A$是稀疏矩阵,则$A^{-1}$可能是密集矩阵
  • $A^{-1}$是唯一的

投影

对于列向量$a$以及点$b$,$b$在$a$上的投影为$p=a\frac{a^Tb}{a^Ta}$,也可以写作$p=Pb$,其中$P=\frac{aa^T}{a^Ta}$。

对于$R^m$的子空间$S$,设其基为$n$个列向量(线性无关),由这$n$个列向量可以组成一个$m\times n$的矩阵$A$。子空间$S$的投影矩阵为$P=A(A^TA)^{-1}A^T$。

对于任意投影矩阵$P$,都满足:

  • $P$是对称矩阵
  • $P^2=P$
  • $I-P$是$P$的正交补空间,$(I-P)P=0$,可以通过$(I-P)b=b-Pb=e$得到误差向量。
  • $Py$是$P$的列空间中与$y$的$L^2$范数距离最小的向量。

特征值

对于方阵$A$,如果存在一个非零向量$x$,满足$Ax=\lambda x$,则称$x$是$A$的特征向量,且$\lambda$称为特征值(注意$\lambda$允许为$0$)。

可以发现$(A-\lambda I) x=0$,因此$x$位于$A-\lambda I$的零空间中,因此$A-\lambda I$一定是奇异矩阵。可以得到$|A-\lambda I|=0$。

$R^{n\times n}$上的方阵$A$的特征值$\lambda_1,\ldots,\lambda_n$满足下面性质:

  1. 如果$A$是个上(下)三角矩阵,则对角线上的所有元素正好是$A$的全部特征值。
  2. 特征值不一定是实数,可能是复数。
  3. $A$一定有$n$个复数特征值,但是可能有重复。
  4. $\prod_{i=1}^n\lambda_i=|A|$
  5. $\sum_{i=1}^n\lambda_i=\sum_{i=1}^nA_{i,i}$
  6. 如果$A$的$n$个特征值各不相同,那么对应的$n$个特征向量则线性无关。

第$6$个性质的证明是这样的,设$n$个特征向量线性相关,则有$c_1x_1+\ldots+c_nx_n=0$,继而进行推导:

\[A(c_1x_1+\ldots+c_nx_n)=\lambda_n(c_1x_1+\ldots+c_nx_n)\\ \Rightarrow (\lambda_1-\lambda_n)c_1x_1+\ldots+(\lambda_{n-1}-\lambda_n)c_{n-1}x_{n-1}=0\]

接下来通过归纳法就可以证明$c_1=0$,从而证明$c_1=\ldots=c_n=0$。因此$n$个特征向量线性无关。

如果$n\times n$的方阵$A$有$n$个线性无关的特征向量$x_1,\ldots,x_n$,以及对应的$n$个特征值$\lambda_1,\ldots,\lambda_n$,那么我们称$A$是可对角化的。记特征向量矩阵$X$的第$i$列向量为$x_i$,特征值矩阵$\Lambda$为对角线为$\lambda_1,\ldots,\lambda_n$的矩阵,可以发现:

\[AX=X\Lambda\Rightarrow X^{-1}AX=\Lambda\\ \Rightarrow A=X\Lambda X^{-1}\]

可以发现$A^k=(X\Lambda X^{-1})^k=X\Lambda^kX^{-1}$,即$A^k$与$A$拥有相同的特征向量,但是对应的特征值为$\lambda_1^k,\ldots, \lambda_n^k$。

利用特征值可以实现矩阵快速幂。对于矩阵$A^kc$,若$c$处在$A$的特征向量组成的向量空间中,那么$c=a_1x_1+\ldots+a_mx_m$,这时候我们可以发现有$A^kc=a_1\lambda_1^kx_1+\ldots+a_m\lambda_m^kx_m$。

特征值分解

给定一个矩阵$A$,对于一个非$0$向量$v$,如果$Av=\lambda v$,则称$v$是$A$的特征向量,而$\lambda$是$A$的特征值。由于对于$A$的特征向量$v$,对于任意非$0$实数$\alpha$,$\alpha v$也是$A$的特征向量,且$\alpha x$和$x$的特征值相同,即缩放特征向量的时候特征值不变,因此我们一般仅考虑单位长度的特征向量。

如果一个$n\times n$矩阵$A$有$n$个线性无关的单位特征向量$V=(v_1,\ldots,v_n)$以及对应的特征值$\Lambda=(\lambda_1,\ldots,\lambda_n)$,那么矩阵$A$的特征值可以表示为:

\[AV=V\Lambda \Rightarrow A=V diag(\Lambda) V^{-1}\]

特征值分解可以帮助我们观察一个矩阵的内在性质,就如同一个自然数可以分解为素数的幂的乘积形式,一旦得到这种形式,我们就能很快判断一个数有多少个因子等。

特别的,对于$n\times n$的对称实数矩阵$A$,它的$n$个特征值和特征向量都是实数。我们可以找到$n$个正交的标准特征向量构成一个标准正交矩阵$Q$,此时

\[A=Q diag(\Lambda) Q^T\]

正定矩阵

如果一个矩阵的所有特征值都是正数,则称其为正定矩阵,如果特征值非负,则称为半正定矩阵。对应的,如果所有特征值都是负数,则称为负定矩阵,如果特征值都非正,则成为半负定矩阵。

  • 如果矩阵$A$是半正定矩阵,则$\forall x\in \mathbb{R}^n$,都有$xAx^T\geq 0$。
  • 如果矩阵$A$是正定矩阵,则$\forall x\in \mathbb{R}^n$,都有$xAx^T\geq 0$,且$xAx^T=0\Rightarrow x=0$。

特征值和微积分

给定函数$\frac{d x(t)}{d t}=Ax$。记$A$的特征值和对应的特征向量为$\lambda_1,v_1,\ldots,\lambda_k,v_k$,那么$f(x)$的积分的通解如下:

\[\int \frac{d x(t)}{d t}dt=\sum_{i=1}^k c_ie^{\lambda_it}v_i\]

如果给定$x(0)$,我们就可以得到具体的解,做法就是代入通解中,求出$c_1,\ldots,c_k$。

随着$t$趋向无穷,如果$\lambda_i$的实数部分为负数,那么$e^{\lambda_it}$会趋向与$0$,如果$\lambda_i$的实数部分为$0$,则$e^{\lambda_it}$会趋向与$1$,而如果$\lambda_i$为正数,则$e^{\lambda_it}$会趋向于无穷。

如果$A$有$n$个线性无关的特征向量,我们记其为$S_1,S_2,\ldots,S_n$。以它们作为列向量组成的矩阵为$S$。我们简单记$x=Sy$,那么有:

\[S\cdot \frac{dy}{dt}=ASy\\ \Rightarrow \frac{dy}{dt}=S^{-1}ASy\\ \Rightarrow \frac{dy}{dt}=\Lambda y\\ \Rightarrow y(t)=e^{\Lambda t}y(0)\]

代回到原来的公式可以得到:

\[x(t)=Sy(t)=Se^{\Lambda t}S^{-1}x(0)=e^{At}x(0)\]

其中

\[e^{At}=\sum_{i=0}^\infty \frac{A^i}{i!}t^i\]

相似矩阵

如果对于$R^{n\times n}$上的矩阵$A$和$B$,存在某个可逆矩阵$C$,满足$A=CBC^{-1}$,那么称$A$与$B$相似。很显然相似关系满足自反性,传递性,对称性,一次相似关系是一类等价关系。

很显然一个矩阵$A$如果有$n$个不同的特征值,则$A$一定与其特征值矩阵$\Lambda$相似。

如果$A$与$B$相似,则满足:

  1. $A$与$B$拥有共同的特征值。(特征向量可能不同)

第一个性质的证明如下,设$Bx=\lambda x$,则有

\[A(Cx)=CBC^{-1}(Cx)=CBx=\lambda (Cx)\]

范数

我们一般用范数(norm)来描述一个向量的大小。$L^P$范数定义如下

\[\left\|x\right\|_p=(\sum_{i}|x_i|^p)^{\frac{1}{p}}\]

直观上来看,范数是将向量映射到非负实数的函数,函数值描述这个向量与原点的距离。范数拥有下面的性质:

  • $f(x)=0\Leftrightarrow x=0$
  • $f(x+y)\leq f(x)+f(y)$
  • $\forall \alpha \in \mathbb{R},\alpha f(x)=f(\alpha x)$

一般$L^2$范数也称为欧几里得范数。由于欧几里得范数使用广泛,因此用$\left|x\right|$表示$x$的$L^2$范数,同时我们也可用$x^Tx$直接计算向量$x$的$L^2$范数的平方。$L^2$范数的平方非常适合计算,因为其偏导数$\frac{\partial \left|x\right|}{\partial x_i}=2x_i$仅需要依赖$x_i$,而$L^2$范数的偏导数需要计算涉及整个向量$x$。

但是$L^2$范数的平方在向量接近原点的时候增长非常缓慢,如果你的程序需要区分$0$和非常小的数值,那么可以选择使用$L^1$范数。

范数的特殊用法:

  • $\left|x\right|_{\infty}=\max_i \left|x_i\right|$

我们可以把范数推广到矩阵上,只需要把$n\times m$的矩阵视作一个长度为$nm$的向量即可。作用在矩阵上的$L^2$也称作弗罗贝尼乌斯(Frobenius)范数,写作

\[\left\|A\right\|_F=\sqrt{\sum_{1\leq i\leq n, 1\leq j\leq m}A_{i,j}^2}\]

点积和$L^2$范数的关联:$x^Ty=\left|x\right|_2\left|y\right|_2\cos \theta$,其中$\theta$是$x$和$y$之间的夹角。

矩阵的迹是指矩阵对角线元素的和。

\[Tr(A)=\sum_{i}A_{i,i}\]

矩阵的迹拥有下面性质:

  • $Tr(A)=Tr(A^T)$。
  • $Tr(AB)=Tr(BA)$。
  • $Tr$是线性函数,即$Tr(A+B)=Tr(A)+Tr(B)$,$Tr(\alpha A)=\alpha Tr(A)$

对于任意矩阵$A$,有$\left|A\right|_2=Tr(AA^T)$。

伪逆

矩阵逆运算仅对方阵有定义。给定$n\times m$的矩阵$A$,假设我们希望实现一个$A$的左逆$B$,满足$Ax=y\Rightarrow x=By$。

记$A$的特征值分解为$A=UDV$,定义$A$的伪逆定义为

\[A^+=VD^+U^T\]

$D^+$表示将$D$中所有非$0$元素取倒数,并转置得到的矩阵。

对于给定的$y$,如果$y$处于$A$的列空间中,$A^+y$表示$L^2$范数最小的向量,满足$A(A^+y)=y$,$\min(\left|A^+y\right|)$。而如果$y$不处于$A$的列空间,则$A^+y$表示到$A$的列空间的$L^2$范数距离最小的向量,即$\min(\left|A(A^+y)-y\right|_2)$。

行列式

$A$的行列式记做$\det(A)$,是一个实数。$det(A)$等于$A$的所有特征值的乘积。我们可以认为$|det(A)|$描述的是所有特征值的绝对值的乘积,如果某个特征值为$0$,则$det(A)$在某个维度上将不存在高度,导致整体的体积最终为$0$。

奇异值分解

不是每个矩阵都可以做特征值分解,但是任意矩阵都可以被奇异值分解。类似与特征值分解,奇异值分解如下:

\[A=UDV^T\]

假设$A$是$m\times n$矩阵,那么$U$是$m\times m$矩阵,$D$是$m\times n$矩阵,$V$是$n\times n$矩阵。

其中$U$和$V$都是单位正交矩阵。$U$的列向量称为左奇异向量,$V$的列向量称为右奇异向量,$D$的对角线元素称为奇异值。

$A$的左奇异向量是$AA^T$的特征向量,而右奇异向量是$A^TA$的特征向量。而$A$的奇异值是$A^TA$的特征值的平方根。

线性方程组

四个空间

对于$n\times m$矩阵$A$,记$R(A)$表示$A$的行空间,$C(A)$表示$A$的列空间,$N(A)$表示$A$的右零空间,$N(A^T)$为$A$的左零空间。

  • $rank(C(A))=rank(R(A))$
  • $R(A)+N(A)=n$,$C(A)+N(A^T)=m$
  • $R(A)\perp N(A)$,$C(A)\perp N(A^T)$