矩阵分解

转载自link

矩阵的分解

  矩阵的分解非常重要,很多时候我们都需要使用到矩阵的分解,这会给我们提供极大的方便,笔者学习这一类问题花费了很多时间,想要看懂这一章,需要先看{% post_link 矩阵的类型及性质 %}

矩阵的特征值分解

  ** 要求 n ∗ n n*n nn矩阵拥有 n n n个线性无关的特征向量**
  矩阵的特征值分解指的是利用特征值构造的矩阵进行分解。特征值与特征向量是这样定义的
若 矩 阵 A , 列 向 量 X , 常 数 λ 满 足 A X = λ X 则 X 为 A 的 特 征 向 量 , λ 为 A 的 特 征 值 \begin{aligned} &若矩阵A,列向量X,常数\lambda满足 \\&AX = \lambda X \\&则X为A的特征向量,\lambda为A的特征值 \end{aligned} AXλAX=λXXAλA

  这里我们注意到如果 n ∗ n n*n nn的矩阵 A A A拥有 n n n个线性无关的特征向量,我们很容易就可以列出下面的式子:
A X 1 = λ 1 X 1 A X 2 = K 2 X 2 A X n = λ n X n 每 个 式 子 都 是 列 向 量 , 我 们 把 这 些 式 子 横 着 排 列 成 矩 阵 [ A X 1 , A X 2 . . . A X n ] = [ λ 1 X 1 , λ 2 X 2 . . . λ n X n ] 提 取 A [ X 1 , X 2 . . . X n ] = [ X 1 , X 2 . . . X n ] [ λ 1 , , . . . , , λ 2 . . . , , , . . . , , , . . . λ n ] A = [ X 1 , X 2 . . . X n ] [ λ 1 , , . . . , , λ 2 . . . , , , . . . , , , . . . λ n ] [ X 1 , X 2 . . . X n ] − 1 \begin{aligned} \\&AX_1 = \lambda_1X_1 \\&AX_2 = K_2X_2 \\&AX_n = \lambda_nX_n \\&每个式子都是列向量,我们把这些式子横着排列成矩阵 \\&[AX_1,AX_2...AX_n] = [\lambda_1X_1,\lambda_2X_2...\lambda_nX_n] \\&提取 \\& A[X_1,X_2...X_n] = [X_1,X_2...X_n]\left[\begin{matrix} &\lambda_1,&,&...&, \\&,&\lambda_2&...&, \\&,&,&...&, \\&,&,&...&\lambda_n \end{matrix}\right] \\& A = [X_1,X_2...X_n]\left[\begin{matrix} &\lambda_1,&,&...&, \\&,&\lambda_2&...&, \\&,&,&...&, \\&,&,&...&\lambda_n \end{matrix}\right][X_1,X_2...X_n]^{-1} \end{aligned} AX1=λ1X1AX2=K2X2AXn=λnXn[AX1,AX2...AXn]=[λ1X1,λ2X2...λnXn]A[X1,X2...Xn]=[X1,X2...Xn]λ1,,,,,λ2,,............,,,λnA=[X1,X2...Xn]λ1,,,,,λ2,,............,,,λn[X1,X2...Xn]1
这就是矩阵的特征值分解了

矩阵的QR分解

  要求矩阵列满秩
  我们通过Gram-Schmidt正交化手段,可以得到一个所有列向量正交的矩阵,这个过程叫矩阵的正交化
  Gram-Schmidt在正交化矩阵A第i个列向量的时候,使用前i-1个已经正交化了的列向量对其进行消除分量,这个过程逆过来看待就是从正交化矩阵到原始矩阵的过程,原始矩阵到正交化矩阵的时候,原始矩阵的前i个列向量线性组合能够得到正交矩阵的第i个列向量,那么,正交矩阵的前i个向量线性组合能够得到原始矩阵的第i个列向量,我们把正交矩阵得到原始矩阵的组合方式用矩阵来表示的话,这个矩阵显然是一个上三角矩阵。那个正交矩阵叫做 Q Q Q,上三角矩阵叫做 R R R,我们就有了 A = Q R A=QR A=QR, Q Q Q其实就是Gram-Schmidt的结果,R不好计算,但是原理都懂,不好模拟,但是在A是方阵的时候, R R R我们偷个懒,我们可以这样得到 R = Q − 1 A = Q T A R=Q^{-1}A=Q^TA R=Q1A=QTA

矩阵的LU分解

  矩阵的LU分解要求,可逆方阵
  即将矩阵A分解为LU,L是下三角矩阵,U是上三角矩阵,大家手动模拟一下就知道怎么处理了,这里开个头,A(0,0)只能有L(0,0)*U(0,0)得到,通常我们假设L(0,0)=1,然后类似于这种,再考虑L的第二行和R的第二列,这时候,所有的值都是固定的了。。。这个过程中如果A对角线出现了0,记录初等行互换就行了,这时候我们的行互换会构成一个矩阵P,即 P A = L U PA = LU PA=LU , 即 A = P T L U A = P^TLU A=PTLU

矩阵的LR分解

  无要求
   通过初等行变化,将矩阵A变为Hermite型(阶梯矩阵)R,这个过程中,我们可以在A右边增广一个单位阵L,当算法结束的时候R是阶梯型,L也是,我们只保留R的非零行和L相应的列即可,最终 A = L R A=LR A=LR,且L为列满秩,R为行满秩

矩阵的SVD分解

   现在有个KaTeX parse error: Undefined control sequence: \* at position 2: n\̲*̲m的矩阵 A A A,注意到矩阵 A H A A^HA AHA是一个厄米特矩阵,且是半正定矩阵,由正规矩阵的性质我们不难得出一个式子 V H A H A V = D 2 V^HA^HAV = D_2 VHAHAV=D2,其中 V V V A H A A^HA AHA的特征向量构成的酉矩阵, D 2 D_2 D2是对角矩阵,根据半正定矩阵的性质,我们得出 D 2 D_2 D2中的元素非负,进而我们可以构建KaTeX parse error: Undefined control sequence: \* at position 2: n\̲*̲m矩阵 D D D D D D只在对角线上的值非零,且 D ( i , i ) = D 2 ( i , i ) D(i,i)=\sqrt{D_2(i,i)} D(i,i)=D2(i,i) ,使得的KaTeX parse error: Undefined control sequence: \* at position 2: D\̲*̲D^H=D_2,进而我们得到了分解 V H A H A V = D H D V^HA^HAV = D^HD VHAHAV=DHD,对 A V AV AV来说他的前r个列向量间正交,取出他们 { v 1 , v 2 . . . , v r } \{v_1,v_2...,v_r\} {v1,v2...,vr},这些其实就是 A H A A^HA AHA的特征向量,对应的特征值是 σ i 2 \sigma_i^2 σi2,我们构造 u i = A v i σ i u_i = \frac{Av_i}{\sigma_i} ui=σiAvi得到了 { u 1 , u 2 , . . . u r } \{u_1,u_2,...u_r\} {u1,u2,...ur}加0扩充为 { u 1 , u 2 , . . . u n } \{u_1,u_2,...u_n\} {u1,u2,...un}这就是一个酉矩阵U,不难发现 A V = U D AV=UD AV=UD,即我们得到了分解 A = U D V H A = UDV^H A=UDVH,这就是 S V D SVD SVD分解。

方阵的极分解

   根据矩阵的 S V D SVD SVD分解我们不妨设 P = U D U H P=UDU^H P=UDUH Q = U V H Q=UV^H Q=UVH,不难发现,现在 A = P Q A=PQ A=PQ,这是一个非常好的性质,P是半正定矩阵,Q是酉矩阵。

其实矩阵还有很多很多其他的分解,这里先留一个坑

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值