我正在尝试计算矩阵的伪逆,称之为M,这可能看起来如下:
M=matrix(c(-1,-1,1,0,0,1),nrow=2,ncol=3)
我需要的是这个矩阵的左逆,这样:
M_inv_l M = I
使用MASS包,我能找到正确的反向:
M_inv_r=ginv(M)
M M_inv_r = I。
有没有办法计算左逆而不是右逆?我无法在论坛上找到答案。
由于
答案 0 :(得分:0)
全行秩矩阵具有左逆:
> M %*% ginv(M)
[,1] [,2]
[1,] 1.000000e+00 -2.220446e-16
[2,] 1.110223e-16 1.000000e+00
完整列级的矩阵具有右逆:
> ginv(t(M)) %*% t(M)
[,1] [,2]
[1,] 1.000000e+00 0
[2,] -5.551115e-17 1
答案 1 :(得分:-1)
我认为这一般不可行 - 你试图解决只有6个值的9个线性方程。具体来说,请查看逆向的第一行:
-1* Minv[1,1] + -1*Minv[1,2] = 1 [1]
1* Minv[1,1] + 0*Minv[1,2] = 0 => Minv[1,1]=0 [2]
0* Minv[1,1] + 1*Minv[1,2] = 0 => Minv[1,2]=0 [3]
应该清楚的是,将[2]和[3]代入[1]会产生矛盾。