查找numpy数组的特征值

问题描述 投票:0回答:1

所以我有3个numpy数组,其尺寸如下:

a.shape = (704, 528)
b.shape = (704, 528)
c.shape = (704, 528)

而且我有一个像这样的方阵,

mat = np.array([[a, b], [b, c]])

我需要找到它的特征值。我知道它将成为特征值的矩阵。但是当我使用numpy.linalg.eig()时,它给了我一个错误:numpy.linalg.LinAlgError: Last 2 dimensions of the array must be square

我还没有找到很多有关如何执行此操作的资源,有人可以引导我找到任何资源或提供解决方案吗?谢谢!

python arrays numpy
1个回答
0
投票

特征值仅针对平方矩阵定义。

您的矩阵具有2 * 704 = 1408行和2 * 528 = 1056列,因此由于numpy.linalg.eig()期望将正方形矩阵作为输入,因此会出现错误。

根据您想要计算特征值的目标,您可能还需要考虑为非方阵定义的SVD。您可能还需要检查构造的矩阵是否确实是要构造的矩阵。

© www.soinside.com 2019 - 2024. All rights reserved.