R中的广义逆

时间:2012-02-03 00:49:46

标签: r matrix sas

我可以使用ginv库中的MASS函数来获取矩阵的Moore-Penrose Generalisied Inverse。

m <- matrix(1:9, 3, 3)
library(MASS)
ginv(m)

在SAS中,我们确实有多个函数来获得矩阵的广义逆。 SVD可用于找到广义逆,但这也是Moore-Penrose。我想知道在R中是否有任何函数可以得到除Moore-Penrose Generalisied Inverse之外的矩阵的广义逆(这不是唯一的)。提前感谢您的帮助和时间。

修改

矩阵A的广义逆定义为任何矩阵G. 满足等式AGA = A。

这个G不是Moore-Penrose Generalisied Inverse,所以它不是唯一的。

2 个答案:

答案 0 :(得分:7)

大多数情况下,你并不真正想要矩阵的逆矩阵,因为在你完成时你可以通过舍入误差来破坏最终结果。

使用部分旋转和缩放创建LU分解更为典型。使用它在右侧向量上执行向前/向后替换以获得解决方案。如果您有多个RHS向量,这将特别有用,因为您可以重复应用它。

您需要Matrix包才能执行此操作。

答案 1 :(得分:1)

是的,R包裹不再可用,给您带来了极大的不便。或者,您可以使用pracma包。 而你的Moore-Penrose Generalisied Inverse:

pinv(m)