numpy.linalg.LinAlgError: Singular matrix 问题解决

Numpy 同时被 2 个专栏收录
2 篇文章 0 订阅
17 篇文章 2 订阅

问题

在对numpy的矩阵用np.linalg.inv方法时报错

numpy.linalg.LinAlgError: Singular matrix

原因

A=np.matrix([[1,2],[-1,-3]])
print(A)
print(type(A))
B=np.linalg.inv(A)
print(B)
print(type(B))

可以得到结果

[[ 1  2]
 [-1 -3]]
<class 'numpy.matrixlib.defmatrix.matrix'>
[[ 3.  2.]
 [-1. -1.]]
<class 'numpy.matrixlib.defmatrix.matrix'>

说明矩阵A是可逆的

更改数据

A=np.matrix([[0,0],[0,0]])
B=np.linalg.inv(A)

由于A不可逆,则会出现报错信息:
numpy.linalg.LinAlgError: Singular matrix

我们可以加一个try语句做异常处理

try:
    A = np.array([[0,0],[0,0]])
    print(A)
    B=np.linalg.inv(A)
except:
    print("矩阵不存在逆矩阵")
else:
    print(B)
[[0 0]
 [0 0]]
矩阵不存在逆矩阵
  • 1
    点赞
  • 8
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值