LinAlgError: Last 2 dimensions of the array must be square

心不动则不痛 提交于 2019-12-03 10:53:57

python 矩阵计算时出现错误

此时如果矩阵不是方阵,就会出现如下错误:

    

 

 

 

 这里值得注意的是:当我们这样使用的时候,程序运行又会很正常:

 

 貌似我们求得了非方阵的逆。

 

下面我们来验证一下:

 

 

 

仔细一看,这不是单位阵啊,笔者以为,这种方法并不可行,但带着博客严谨性的想法,笔者决定看看方阵的结果。

 

 

 

 看到这里,笔者发现,方阵的求逆也出现了异常,,不由得仔细一看,,原来本该是0 的项非常小,学过数值分析的朋友们应该知道,这里是由于计算机的舍入误差所造成的的非零问题,所以二者我们都可以将其看做是单位阵。

 

注意:此处不要随意转换数据类型,因为转换数据类型会有数据精度损失,比如上述单位阵在转换数据类型时就会产生变化,对角线上的某一位可能会变为0.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!