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