Мой код предполагает диагонализацию матрицы размером 128x128. Матрица очень близка к эрмитовой и зависит от некоторых начальных условий. Когда я вызываю scipy.linalg.eigh, иногда он работает нормально. В других случаях он какое-то время работает, а затем завершает весь код Python, не вызывая никаких ошибок.
Я пытался запустить eigh со значительно неэрмитовыми матрицами того же размера. Иногда он делает то же самое, что описано выше, а иногда работает нормально, явно давая неправильную диагонализацию. Я вручную гермитизировал матрицу как $1/2(A+A^\dag)$, но проблема осталась. Хуже всего то, что это кажется совершенно случайным. Поскольку Python не выдает никаких ошибок, я немного не понимаю, что делать. Очень ценю помощь.
Я также попробовал numpy.linalg.eigh, и он отлично работает для тех же матриц.
Подробнее здесь: https://stackoverflow.com/questions/787 ... g-an-error
Scipy.linalg.eigh завершается без возникновения ошибки ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получение вложений GloVe с помощью gensim, триу не найдено в scipy.linalg
Anonymous » » в форуме Python - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получение вложений GloVe с помощью gensim, триу не найдено в scipy.linalg
Anonymous » » в форуме Python - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-