Нахождение собственных значений массива numpy массивов - PullRequest
0 голосов
/ 12 марта 2020

Итак, у меня есть массив 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.

Я не нашел много ресурсов о том, как это сделать, кто-то может привести меня к каким-либо источникам или дать мне решение? Спасибо!

1 Ответ

0 голосов
/ 12 марта 2020

Собственные значения определены только для квадратных матриц.

Ваша матрица имеет 2 * 704 = 1408 строк и 2 * 528 = 1056 столбцов, поэтому вы получите ошибку, поскольку numpy.linalg.eig() ожидает квадратную матрицу в качестве ввода.

В зависимости от вашей цели Если вы хотите вычислить собственные значения, вы можете рассмотреть SVD, которое также определено для неквадратной матрицы. Вы также можете проверить, действительно ли созданная вами матрица является матрицей, которую вы намереваетесь построить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...