РЕДАКТИРОВАТЬ: я проверяю, если какие-либо собственные значения имеют величину один или больше.
Мне нужно найти наибольшее абсолютное собственное значение большой разреженной несимметричной матрицы.
Я использовал eigen()
функцию R , которая использует алгоритм QR из EISPACK или LAPACK, чтобы найти все собственные значения, а затем я использую, abs()
чтобы получить абсолютные значения. Однако мне нужно сделать это быстрее.
Я также попытался использовать интерфейс ARPACK в igraph
пакете R. Однако, это дало ошибку для одной из моих матриц.
Окончательная реализация должна быть доступна из R.
Вероятно, будет несколько собственных значений одинаковой величины.
У вас есть какие-нибудь предложения?
РЕДАКТИРОВАТЬ:
Точность только должна быть 1e-11
. «Типичная» матрица до сих пор была . Я был в состоянии сделать QR-факторизацию на нем. Тем не менее, также возможно иметь гораздо большие. В настоящее время я начинаю читать об алгоритме Арнольди. Я понимаю, что это связано с Lanczsos.
РЕДАКТИРОВАТЬ 2: Если у меня есть несколько матриц, которые я "тестирую", и я знаю, что есть большая подматрица, которая не меняется. Можно ли игнорировать / отменить это?