Я получаю несбалансированную диагональную матрицу при попытке найти собственные значенияPython

Программы на Python
Anonymous
Я получаю несбалансированную диагональную матрицу при попытке найти собственные значения

Сообщение Anonymous »

Я хочу найти собственные значения диагональной матрицы, используя симметричную матрицу.
Когда я делаю это в Python, я получаю несбалансированную диагональную матрицу. Значение [0, 0] намного больше, чем другие собственные значения.
  • Это неправильно?
  • Как это решить?
Первый способ:

Код: Выделить всё

import pandas as np

eigvals, eigvecs = np.linalg.eigh(matrices["dice_2"])
Второй способ:

Код: Выделить всё

from sympy import *

init_printing()
# Convert pandas DataFrame to sympy Matrix
M = Matrix(matrices["dice_2"].values)
M.is_diagonalizable()
P, D = M.diagonalize()
D.head()
Файлы находятся здесь.

Подробнее здесь: https://stackoverflow.com/questions/798 ... igenvalues

Вернуться в «Python»