Я использую python (scipy) для вычисления собственных значений симметричной вещественной матрицы. Я в настоящее время с помощью функцииКритерии сходимости для scipy.eigvalsh
scipy.linalg.eigvalsh
для вычисления собственных значений (http://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.eigvalsh.html#scipy.linalg.eigvalsh). Глядя на исходный код для eigvalsh, кажется, что python делает вызов пакета fortran. Он также упоминает в документации, что ошибка будет выбрана при вычислении, не сходится.
Мой вопрос: каковы критерии конвергенции? и могу ли я изменить его (относительно легко)?
В моем конкретном приложении я вычисляю собственные значения последовательности матриц и замечаю сильную корреляцию между несколькими собственными значениями. Я хочу знать, не коррелирует ли корреляция исключительно по численным причинам. Если я смогу укрепить критерии конвергенции, тогда я смогу увидеть, увеличивается ли зависимость.
Вы знаете (я просмотрел документацию быстро и ничего не видел), могу ли я использовать mp.eigh вычислить только самый большой (и самый маленький) собственные? (Вероятно, с двумя отдельными вызовами.) Функция scipy eigh позволяет мне указать «только вычислить собственные значения i..j». Или, по крайней мере, он возвращает только i..j, я предполагаю, что он сначала не вычисляет все собственные значения. – TravisJ
Нет, извините - я не видел в подходах вычислять только некоторые собственные значения с высокой точностью (я тоже не искал его). С функцией scipy я также не уверен, если речь идет главным образом о вычислении или отсутствии возвращаемых значений. – Dietrich