怎么利用python判断一个矩阵是否可逆?

  数学 线性代数 Python    浏览次数:9180        分享
0

怎么利用python判断一个矩阵是否可逆?

 

godfly   2019-03-08 09:03



   3个回答 
5


import numpy as np
a = np.matrix([[1, 1], [1, 1]])
try:
    a_inverse = a.I
    print('可逆')
except:
    print('不可逆')
SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2019-03-08 10:30

4

提供两个思路

思路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('不可逆')


SofaSofa数据科学社区DS面试题库 DS面经

壬金   2022-04-10 19:43

2

矩阵的秩大于0就可逆,等于0就不可逆

求秩可参考:numpy求矩阵的秩

SofaSofa数据科学社区DS面试题库 DS面经

数据科学小K   2019-03-10 23:41



  相关讨论

python怎么生成数值一样的分块矩阵?

python里怎么求两个矩阵的克罗内克积?

利用python求解线性方程组

怎么在python中求array(矩阵)的特征向量、特征值?

python中怎么求两个向量的外积?

半正定或者正定矩阵一定要是对称的吗?

向量的内积、外积分别是什么意思?

tensor的rank是什么意思

矩阵的列空间什么意思?

矩阵A乘以B的秩等于B乘以A的秩吗

  随便看看

关于方差膨胀因子(VIF)的问题

为什么样本方差是除以n-1

把tf.Tensor转换为numpy array

推荐开放数据库

pandas读取csv中指定的某些列