【矩阵论】Chapter 9—广义逆矩阵知识点总结复习
广义逆矩阵
1 广义逆矩阵定义
-
广义逆矩阵 G G G的定义:对任意 m × n m\times n m×n矩阵的 A A A,如果存在某个 n × m n\times m n×m的矩阵 G G G,满足
Penrose
方程的一部分或全部,则称 G G G为 A A A的广义逆矩阵Penrose
方程的四个条件:- A G A = A AGA=A AGA=A;
- G A G = G GAG=G GAG=G;
- ( A G ) T = A G (AG)^T=AG (AG)T=AG;
- ( G A ) T = G A (GA)^T=GA (GA)T=GA
满足第 i i i个条件,则把 G G G记为 A ( i ) A^{(i)} A(i),这类矩阵的全体记为 A { i } A\{i\} A{i},所以 A i ∈ A { i } A^{i}\in A\{i\} Ai∈A{i}
类似,满足第 i , j i,j i,j个条件: A i , j ∈ A { i , j } A^{i,j}\in A\{i,j\} Ai,j∈A{i,j}
根据以上,满足 1 1 1个, 2 2 2个, 3 3 3个, 4 4 4个
Penrose
方程的广义逆矩阵有 C 4 1 + C 4 2 + C 4 3 + C 4 4 = 4 + 6 + 4 + 1 = 15 C_4^1+C_4^2+C_4^3+C_4^4=4+6+4+1=15 C41?+C42?+C43?+C44?=4+6+4+1=15,但应用最多的,也就是我们所学的以下四种:- 减号逆或者 g g g逆: A ? = A ( 1 ) A^-=A^{(1)} A?=A(1)
- 最小二乘广义逆: A l ? = A ( 1 , 3 ) A_l^-=A^{(1,3)} Al??=A(1,3)
- 极小范数广义逆: A m ? = A ( 1 , 4 ) A_m^-=A^{(1,4)} Am??=A(1,4)
- 加号逆或
Moore-Penrose
广义逆: A + = A ( 1 , 2 , 3 , 4 ) A^+=A^{(1,2,3,4)} A+=A(1,2,3,4)
2 减号逆
-
A ? A^- A?的性质
设 A A A为 m × n m\times n m×n矩阵, P P P和 Q Q Q分别是 m m m阶和 n n n阶非奇异方阵,且 B = P A Q B=PAQ B=PAQ, A ? A^- A?为A的减号逆,则:
- r a n k ( A ) ≤ r a n k ( A ? ) rank(A)\leq rank(A^-) rank(A)≤rank(A?)
- A A ? AA^- AA?和 A ? A A^-A A?A是幂等矩阵,并且 r a n k ( A A ? ) = r a n k ( A ? A ) = r a n k ( A ) rank(AA^-)=rank(A^-A)=rank(A) rank(AA?)=rank(A?A)=rank(A)
- Q ? 1 A ? P ? 1 ∈ B { 1 } Q^{-1}A^-P^{-1}\in B\{1\} Q?1A?P?1∈B{1}
- A T { 1 } = { G T ∣ G ∈ A { 1 } } A^T\{1\}=\{G^T|G\in A\{1\}\} AT{1}={GT∣G∈A{1}}
-
(
Penrose
定理)设 A , B , C A,B,C A,B,C分别为 m × n , p × q , m × q m\times n,p\times q,m\times q m×n,p×q,m×q矩阵,则矩阵方程:
A X B = C AXB=C AXB=C
有解的充分必要条件是:
A A ? C B ? B = C AA^-CB^-B=C AA?CB?B=C
并且在有解的情况下,其通解为:
X = A ? C B ? + Y ? A ? A Y B B ? X=A^-CB^-+Y-A^-AYBB^- X=A?CB?+Y?A?AYBB?
其中 Y ∈ R n × p Y\in R^{n\times p} Y∈Rn×p是任意的矩阵。 -
求解 A ? A^- A?
A A A为 m × n m\times n m×n矩阵
A ? = Q × ( E r G 12 G 21 G 22 ) × P A^-=Q\times \begin{pmatrix} E_r & G_{12} \\ G_{21} & G_{22}\\ \end{pmatrix} \times P A?=Q×(Er?G21??G12?G22??)×P
其中 P , Q , E r P,Q,E_r P,Q,Er?通过对 A A A进行如下操作得到, G 12 , G 21 , G 22 G_{12},G_{21},G_{22} G12?,G21?,G22?均为常数矩阵,每一项均用 g i j g_{ij} gij?表示常数,且 Q , P Q,P Q,P维度均为 m × n m\times n m×n, E r E_r Er?是一个 r × r r \times r r×r 的对角矩阵,其中 r r r是矩阵 A A A的秩, G 12 G_{12} G12?维度为 m × ( n ? r ) m \times (n-r) m×(n?r) , G 21 G_{21} G21?维度为 ( m ? r ) × n (m-r) \times n (m?r)×n, G 22 G_{22} G22?是一个$ (m-r) \times (n-r)$的矩阵。例子 A = [ 3 3 3 2 2 1 1 1 2 ] A=\begin{bmatrix} 3 & 3 & 3 \\ 2 & 2 & 1 \\ 1 & 1 & 2 \end{bmatrix} A= ?321?321?312? ??
初等行变换化为行最简阶梯形矩阵,则 P = [ 0 2 3 ? 1 3 0 ? 1 3 2 3 1 ? 1 ? 1 ] P=\begin{bmatrix} 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & -\frac{1}{3} & \frac{2}{3} \\ 1 & -1 & -1 \\\end{bmatrix} P= ?001?32??31??1??31?32??1? ?
[ 3 3 3 1 0 0 2 2 1 0 1 0 1 1 2 0 0 1 1 0 0 0 1 0 0 0 1 ] ? r 1 ? r 3 [ 1 1 2 0 0 1 2 2 1 0 1 0 3 3 3 1 0 0 1 0 0 0 1 0 0 0 1 ] ? r 2 ? 2 r 1 r 3 ? 3 r 1 [ 1 1 2 0 0 1 0 0 ? 3 0 1 ? 2 0 0 ? 3 1 0 ? 3 1 0 0 0 1 0 0 0 1 ] ? ( ? 1 3 ) × r 2 r 1 ? 2 r 2 r 3 + 3 r 2 [ 1 1 0 0 2 3 ? 1 3 0 0 1 0 ? 1 3 2 3 0 0 0 1 ? 1 ? 1 1 0 0 0 1 0 0 0 1 ] \left[\begin{array}{ccc|ccc} 3 & 3 & 3 & 1 & 0 & 0 \\ 2 & 2 & 1 & 0 & 1 & 0 \\ 1 & 1 & 2 & 0 & 0 & 1 \\ \hline 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array}\right]\stackrel{r_1\leftrightarrow r_3 }{\longrightarrow } \left[\begin{array}{ccc|ccc} 1 & 1 & 2 & 0 & 0 & 1 \\ 2 & 2 & 1 & 0 & 1 & 0 \\ 3 & 3 & 3 & 1 & 0 & 0 \\ \hline 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 & \\ \end{array}\right]\stackrel{\begin{array}{c} r_2 - 2r_1 \\ r_3 - 3r_1 \end{array}} {\longrightarrow }\left[\begin{array}{ccc|ccc} 1 & 1 & 2 & 0 & 0 & 1 \\ 0 & 0 & -3 & 0 & 1 & -2 \\ 0 & 0 & -3 & 1& 0 & -3 \\ \hline 1 & 0 & 0 & \\ 0 & 1 & 0 & \\ 0 & 0 & 1 & \\ \end{array}\right]\stackrel{\begin{array}{c} (-\frac{1}{3})\times r_2\\r_1 - 2r_2 \\ r_3 + 3r_2 \end{array}} {\longrightarrow }\left[\begin{array}{ccc|ccc} 1 & 1 & 0 & 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & 0 & 1 & 0 & -\frac{1}{3} & \frac{2}{3} \\ 0 & 0 & 0 & 1 & -1 & -1 \\ \hline 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array}\right] ?321100?321010?312001?100010001? ??r1??r3?? ?123100?123010?213001?001?010100? ??r2??2r1?r3??3r1??? ?100100?100010?2?3?3001?001?0101?2?3? ??(?31?)×r2?r1??2r2?r3?+3r2??? ?100100?100010?010001?00132??31??1?31?32??1? ?
再进行列变换化为 E r E_r Er?得到 Q = [ 1 0 ? 1 0 0 1 0 1 0 ] Q=\begin{bmatrix}1 & 0 & -1 \\ 0 & 0 & 1\\ 0 & 1 & 0\end{bmatrix} Q= ?100?001??110? ?
[ 1 1 0 0 2 3 ? 1 3 0 0 1 0 ? 1 3 2 3 0 0 0 1 ? 1 ? 1 1 0 0 0 1 0 0 0 1 ] ? c 2 ? c 1 [ 1 0 0 0 2 3 ? 1 3 0 0 1 0 ? 1 3 2 3 0 0 0 1 ? 1 ? 1 1 ? 1 0 0 1 0 0 0 1 ] ? c 2 ? c 3 [ 1 0 0 0 2 3 ? 1 3 0 1 0 0 ? 1 3 2 3 0 0 0 1 ? 1 ? 1 1 0 ? 1 0 0 1 0 1 0 ] \left[\begin{array}{ccc|ccc} 1 & 1 & 0 & 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & 0 & 1 & 0 & -\frac{1}{3} & \frac{2}{3} \\ 0 & 0 & 0 & 1 & -1 & -1 \\ \hline 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array}\right]\stackrel{\begin{array}{c} c2-c_1 \end{array}} {\longrightarrow }\left[\begin{array}{ccc|ccc} 1 & 0 & 0 & 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & 0 & 1 & 0 & -\frac{1}{3} & \frac{2}{3} \\ 0 & 0 & 0 & 1 & -1 & -1 \\ \hline 1 & -1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array}\right]\stackrel{\begin{array}{c} c_2\longleftarrow c_3 \end{array}} {\longrightarrow }\left[\begin{array}{ccc|ccc} 1 & 0 & 0 & 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & 1 & 0 & 0 & -\frac{1}{3} & \frac{2}{3} \\ 0 & 0 & 0 & 1 & -1 & -1 \\ \hline 1 & 0 & -1 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \\ \end{array}\right] ?100100?100010?010001?00132??31??1?31?32??1? ??c2?c1??? ?100100?000?110?010001?00132??31??1?31?32??1? ??c2??c3??? ?100100?010001?000?110?00132??31??1?31?32??1? ?
则 A ? = Q × ( E r G 12 G 21 G 22 ) × P = [ 1 0 ? 1 0 0 1 0 1 0 ] × [ 1 0 g 13 0 1 g 23 g 31 g 32 g 33 ] × [ 0 2 3 ? 1 3 0 ? 1 3 2 3 1 ? 1 ? 1 ] = [ g 13 ? g 33 2 3 ? 2 3 g 31 + 1 3 g 32 ? g 13 + g 33 ? 1 3 + 1 3 g 31 ? 2 3 g 32 ? g 13 + g 33 g 33 2 3 g 31 ? 1 3 g 32 ? g 33 ? 1 3 g 31 + 2 3 g 32 ? g 33 g 23 ? 1 3 ? g 23 2 3 ? g 23 ] A^-=Q\times \begin{pmatrix} E_r & G_{12} \\ G_{21} & G_{22}\\ \end{pmatrix} \times P=\begin{bmatrix}1 & 0 & -1 \\ 0 & 0 & 1\\ 0 & 1 & 0\end{bmatrix}\times\begin{bmatrix}1 & 0 & g_{13} \\ 0 & 1 & g_{23}\\ g_{31} & g_{32} & g_{33}\end{bmatrix}\times \begin{bmatrix} 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & -\frac{1}{3} & \frac{2}{3} \\ 1 & -1 & -1 \\\end{bmatrix}=\begin{bmatrix} g_{13}-g_{33} & \frac{2}{3}-\frac{2}{3}g_{31}+\frac{1}{3}g_{32}-g_{13}+g_{33} & -\frac{1}{3}+\frac{1}{3}g_{31}-\frac{2}{3}g_{32}-g_{13}+g_{33} \\ g_{33} & \frac{2}{3}g_{31}-\frac{1}{3}g_{32}-g_{33} & -\frac{1}{3}g_{31}+\frac{2}{3}g_{32}-g_{33} \\ g_{23} & -\frac{1}{3}-g_{23} & \frac{2}{3}-g_{23} \\\end{bmatrix} A?=Q×(Er?G21??G12?G22??)×P= ?100?001??110? ?× ?10g31??01g32??g13?g23?g33?? ?× ?001?32??31??1??31?32??1? ?= ?g13??g33?g33?g23??32??32?g31?+31?g32??g13?+g33?32?g31??31?g32??g33??31??g23???31?+31?g31??32?g32??g13?+g33??31?g31?+32?g32??g33?32??g23?? ?令 g i j = 0 g_{ij}=0 gij?=0,则 A ? = [ 0 2 3 ? 1 3 0 0 0 0 ? 1 3 2 3 ] A^-=\begin{bmatrix} 0 & \frac{2}{3} & -\frac{1}{3} \\ 0 & 0 & 0 \\ 0 & -\frac{1}{3} & \frac{2}{3} \\\end{bmatrix} A?= ?000?32?0?31???31?032?? ?
-
利用 A ? A^- A?求解线性方程组 A x = b Ax=b Ax=b
A x = b Ax=b Ax=b有解的充分必要条件是 A A ? b = b AA^-b=b AA?b=b,这时特解 x 0 = A ? b x_0=A^-b x0?=A?b,通解 x = A ? b + ( I ? A ? A ) y , ? y ∈ C n x=A^-b+(I-A^-A)y,\forall y\in C^n x=A?b+(I?A?A)y,?y∈Cn
这里不给出 A ? A^- A?,感兴趣的读者可以自己去实现,具体的算法如下:
- 构造水平增广矩阵: 将原矩阵和单位矩阵水平拼接,形成增广矩阵。
- 初等行变换: 利用初等行变换将增广矩阵转化为最简行阶梯形式。
- 提取 P P P: 变换后的单位矩阵就是 P P P
- 构造垂直增广矩阵: 再将最简行阶梯形与单位矩阵垂直拼接,形成增广矩阵。
- 初等列变换,提取 G G G: 变换后的单位矩阵就是 G G G
3 最小二乘广义逆
-
定理1
设 A ∈ C m × n A\in C^{m\times n} A∈Cm×n, G ∈ A { 1 , 3 } G\in A\{1,3\} G∈A{1,3}的充分必要条件是 G G G满足
A H A G = A H A^HAG=A^H AHAG=AH这即为 A { 1 , 3 } A\{1,3\} A{1,3}(最小二乘广义逆)的通式
-
定理2
设 A ∈ C m × n A\in C^{m\times n} A∈Cm×n, A l ? A_l^- Al??是 A A A的任一最小二乘广义逆,则
A { 1 , 3 } = { G ∈ C n × m ∣ A G = A A l ? } A\{1,3\}=\{G\in C^{n\times m}|AG=AA_l^-\} A{1,3}={G∈Cn×m∣AG=AAl??} -
定理 3 3 3
设 A A A是 m × n m\times n m×n矩阵,则 G ∈ A { 1 , 3 } G\in A\{1,3\} G∈A{1,3}(即G为最小二乘广义逆)的充分必要条件为 x = G b x=Gb x=Gb是不相容线性方程组 A x = b Ax=b Ax=b的最小二乘解。
-
利用 A l ? A_l^- Al??求解线性方程组 A x = b Ax=b Ax=b
x x x是不相容线性方程组 A x = b Ax=b Ax=b的最小二乘解当且仅当 x x x是相容线性方程组
A x = A A l ? b Ax=AA_l^-b Ax=AAl??b
的解,并且 A x = b Ax=b Ax=b的最小二乘解的通式为 x = A l ? b + ( I ? A ? A ) y , ? y ∈ C n x=A_l^-b+(I-A^-A)y,\forall y\in C^n x=Al??b+(I?A?A)y,?y∈Cn
4 极小范数广义逆
-
定理1
设 A ∈ C m × n A\in C^{m\times n} A∈Cm×n, G ∈ A { 1 , 4 } G\in A\{1,4\} G∈A{1,4}的充分必要条件是 G G G满足
G A A H = A H GAA^H=A^H GAAH=AH这即为 A { 1 , 4 } A\{1,4\} A{1,4}(极小范数广义逆)的通式
-
定理2
设 A ∈ C m × n A\in C^{m\times n} A∈Cm×n, A m ? A_m^- Am??是 A A A的任一极小范数广义逆,则
A { 1 , 4 } = { G ∈ C n × m ∣ G A = A m ? A } A\{1,4\}=\{G\in C^{n\times m}|GA=A_m^-A\} A{1,4}={G∈Cn×m∣GA=Am??A} -
定理 3 3 3
设 A A A是 m × n m\times n m×n矩阵,则 G ∈ A { 1 , 4 } G\in A\{1,4\} G∈A{1,4}(即G为极小范数广义逆)的充分必要条件为 x = G b x=Gb x=Gb是相容线性方程组 A x = b Ax=b Ax=b的极小范数解。
-
利用 A m ? A_m^- Am??求解线性方程组 A x = b Ax=b Ax=b
设 A A A是 m × n m\times n m×n矩阵,则 G ∈ A { 1 , 4 } G\in A\{1,4\} G∈A{1,4}的充分必要条件为 x = G b x=Gb x=Gb是相容线性方程组 A x = b Ax=b Ax=b的极小范数解,即 x = A m ? b x=A_m^-b x=Am??b为相容线性方程组 A x = b Ax=b Ax=b的极小范数解
注意:极小范数解是唯一的,而最小二乘解不唯一
5 Moore-Penrose(加号逆)
-
A + A^+ A+的性质
- A + A^+ A+存在且唯一
- A + = A m ? A A l ? A^+=A_m^-AA_l^- A+=Am??AAl??
-
定理1
设 A A A是 m × n m\times n m×n矩阵,则 G G G是加号逆 A + A^+ A+的充分必要条件为 x = G b x=Gb x=Gb是不相容线性方程组 A x = b Ax=b Ax=b的极小最小二乘解。
-
重点
因为加号逆满足四个条件,所以它也是减号逆、最小二乘广义逆、极小范数广义逆。所以:
-
当 b ∈ R ( A ) b\in R(A) b∈R(A)时, A x = b Ax=b Ax=b的通解为:
x = A + b + ( I ? A + A ) y , ? y ∈ R n x=A^+b+(I-A^+A)y,\forall y\in R^n x=A+b+(I?A+A)y,?y∈Rn -
当 b ∈ R ( A ) b\in R(A) b∈R(A)时, A x = b Ax=b Ax=b的极小范数解为:
x = A + b x=A^+b x=A+b
极小范数解是唯一的 -
对于 ? b \forall b ?b, A x = b Ax=b Ax=b的最小二乘解为:
x = A + b + ( I ? A + A ) y , ? y ∈ R n x=A^+b+(I-A^+A)y,\forall y\in R^n x=A+b+(I?A+A)y,?y∈Rn -
对于 ? b \forall b ?b, A x = b Ax=b Ax=b的具有极小范数的最小二乘解为:
x = A + b x=A^+b x=A+b
-
-
求解 A + A^+ A+
- 若 A A A为行满秩矩阵,则: A + = A H ( A A H ) ? 1 A^+=A^H(AA^H)^{-1} A+=AH(AAH)?1
- 若 A A A为列满秩矩阵:则: A + = ( A H A ) ? 1 A H A^+=(A^HA)^{-1}A^H A+=(AHA)?1AH
- 否则利用满秩分解求解: A + = G + F + = G H ( G G H ) ? 1 ( F H F ) ? 1 F H A^+=G^+F^+=G^H(GG^H)^{-1}(F^HF)^{-1}F^H A+=G+F+=GH(GGH)?1(FHF)?1FH
Python代码如下:
import numpy as np from sympy import Matrix, Symbol def get_A_plus(A): A_plus = None # 判断A是行满秩还是列满秩,如果都不是则利用满秩分解求解A_plus if A.rank() == A.rows: print("A为行满秩矩阵") A_plus = A.H * (A * A.H).inv() elif A.rank() == A.cols: print("A为列满秩矩阵") A_plus = (A.H * A).inv() * A.H else: print("A为非满秩矩阵") # 利用满秩分解求解A_plus,full_rank在另一篇矩阵论复习博客中 F, G = full_rank(A) A_plus = G.H * ((G * G.H).inv()) * ((F.H * F).inv()) * F.H return A_plus
-
利用 A + A^+ A+求解线性方程组 A x = b Ax=b Ax=b
- A x = b Ax=b Ax=b有解(相容)的充要条件是 A A + b = b AA^+b=b AA+b=b
- x = A + b + ( I ? A + A ) y , ? y ∈ C n x=A^+b+(I-A^+A)y,\forall y\in C^n x=A+b+(I?A+A)y,?y∈Cn是相容方程组 A x = b Ax=b Ax=b的通解,或是不相容方程组 A x = b Ax=b Ax=b的全部最小二乘解
- x 0 = A + b x_0=A^+b x0?=A+b是相容方程组 A x = b Ax=b Ax=b的唯一极小范数解,或是不相容方程组 A x = b Ax=b Ax=b的唯一极小范数最小二乘解
Python代码如下:
import numpy as np from sympy import Matrix, Symbol def get_solution(A, b): A_plus = get_A_plus(A) # 单位矩阵 I = Matrix(np.eye(A_plus.rows)) print("I:", I) # 生成符号列表 symbols_list = [Symbol(f'y{i+1}') for i in range(A_plus.rows)] # 生成符号矩阵 symbols_matrix = Matrix(symbols_list) print("symbols_matrix:", symbols_matrix) if A * A_plus * b == b: print("Ax = b有解") print("通解为:") print(A_plus.rows) print(A_plus * b + (I - A_plus * A) * symbols_matrix) print("唯一极小范数解为:") print(A_plus * b) else: print("Ax = b无解") print("全部最小二乘解为:") print(A_plus.rows) print(A_plus * b + (I - A_plus * A) * symbols_matrix) print("唯一极小范数最小二乘解:") print(A_plus * b) get_solution(A, b)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!