R反转矩阵求解返回误差

时间:2015-05-23 09:23:09

标签: r matrix matrix-inverse

我正在研究R编程。

我正在尝试反转矩阵。以下是我的尝试。

x <- matrix(1:16, 4, 4)
x
#      [,1] [,2] [,3] [,4]
# [1,]    1    5    9   13
# [2,]    2    6   10   14
# [3,]    3    7   11   15
# [4,]    4    8   12   16

solve(x)
# Error in solve.default(x) : 
#  Lapack routine dgesv: system is exactly singular: U[3,3] = 0

solve(x) %*% x
# Error in solve.default(x) : 
#  Lapack routine dgesv: system is exactly singular: U[3,3] = 0

x %*% solve(x)
# Error in solve.default(x) : 
#  Lapack routine dgesv: system is exactly singular: U[3,3] = 0

我无法理解'奇异'是什么意思。根据这个Link,据说如果solve没有第二个参数,它会反转第一个参数。

我很困惑,所以需要一些解释,例子会很精彩。

1 个答案:

答案 0 :(得分:8)

如果您计算矩阵的determinant,则为0

det(x)
[1] 0

根据定义,您的矩阵不可逆。但在尝试反转平方矩阵之前,第一直觉应该是分析研究矩阵是否可逆。

你得到的奇异误差反映出矩阵是不可逆的。