R求逆矩阵解决返回错误
R inverting matrix with solve returning Error
我正在学习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
我不明白'singular'是什么意思。根据这个link,据说如果solve
没有第二个参数,它会反转第一个参数。
我很困惑,所以需要一些解释和例子会很好。
如果计算矩阵的 determinant
,则为 0
:
det(x)
[1] 0
根据定义,您的矩阵不可逆。但是在尝试求逆方阵之前,第一直觉应该是分析研究矩阵是否可以逆。
你得到的奇异误差恰好反映了矩阵不可逆。
我正在学习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
我不明白'singular'是什么意思。根据这个link,据说如果solve
没有第二个参数,它会反转第一个参数。
我很困惑,所以需要一些解释和例子会很好。
如果计算矩阵的 determinant
,则为 0
:
det(x)
[1] 0
根据定义,您的矩阵不可逆。但是在尝试求逆方阵之前,第一直觉应该是分析研究矩阵是否可以逆。
你得到的奇异误差恰好反映了矩阵不可逆。