怎么利用python判断一个矩阵是否可逆?
3个回答
import numpy as np
a = np.matrix([[1, 1], [1, 1]])
try:
a_inverse = a.I
print('可逆')
except:
print('不可逆')
SofaSofa数据科学社区DS面试题库 DS面经提供两个思路
思路1:可逆矩阵的行列式不等于0,不可逆矩阵的行列式为0。可以利用numpy.linalg.det来算行列式
import numpy as np
M = np.array([[1, 1], [2, 2]])
if np.linalg.det(M) > 0:
print('可逆')
else:
print('不可逆')
思路2:可逆矩阵的秩是n,不可逆矩阵的秩小于n。可以利用numpy.linalg.matrix_rank来算秩
import numpy as np
M = np.array([[1, 1], [2, 2]])
if np.linalg.matrix_rank(M) == M.shape[0]:
print('可逆')
else:
print('不可逆')