LinAlgError: Last 2 dimensions of the array must be square

Posted ambdyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinAlgError: Last 2 dimensions of the array must be square相关的知识,希望对你有一定的参考价值。

python 矩阵计算时出现错误

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

    技术图片

 

 

 

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

技术图片

 

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

 

下面我们来验证一下:

 

技术图片

 

 

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

 

 

技术图片

 

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

 

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

以上是关于LinAlgError: Last 2 dimensions of the array must be square的主要内容,如果未能解决你的问题,请参考以下文章

成功解决numpy.linalg.LinAlgError: SVD did not converge

使用 Python 训练 arima 模型时如何解决 LinAlgError 和 ValueError

打造AS酷炫dimens适配插件

Android 屏幕适配屏幕适配通用解决方案 ① ( 定义 dimens.xml 方案 | 使用 ScreenMatch 插件生成不同屏幕分辨率的 dimens.xml 配置 )

Android 屏幕适配屏幕适配通用解决方案 ① ( 定义 dimens.xml 方案 | 使用 ScreenMatch 插件生成不同屏幕分辨率的 dimens.xml 配置 )

dimens.xml详解