Однородная выборка собственных значений разреженной унитарной матрицы - PullRequest
1 голос
/ 05 июля 2019

Я работаю с Юлией, но думаю, что вопрос более общий.Предположим, что численно требуется найти спектр очень большой (разреженной) унитарной матрицы U.Как сообщается во многих статьях, диагонализация методом грубой силы с использованием eigs заканчивается без сходимости по собственным значениям.

В таком случае уловка заключается в работе с более простыми выражениями, т. Е. С

U_Re = real(U + U')*0.5                                                                             
U_Im = real((U - U')*-0.5im)

Мой вопросесть ли способ получить равномерную выборку при нахождении собственных значений?То есть я хотел бы получить, скажем, 10e3 собственных значений для U_Re и U_Im в интервале [-1,1].

1 Ответ

1 голос
/ 05 июля 2019

Я не совсем уверен, как равномерная выборка собственных значений будет работать, но я думаю, что вы ищете ARPACK . ARPACK использовал бы продукты матричного вектора для поиска ваших собственных значений, поэтому я не совсем уверен, требуется ли в этом случае разложение Real / Im (трудно сказать, не зная много о U).

Кроме того, вы можете захотеть взглянуть на алгоритм FEAST , который очень выиграл бы от заданного контура поиска .

Мне не известно о существующей связи Джулии с этими библиотеками, но я не думаю, что это проблема, поскольку Джулия может вызывать функции языка Си.

Здесь я дал несколько кратких идей, и Вычислительная наука может быть лучшим местом для поиска нужной толпы. Тем не менее, потребуется гораздо больше подробностей о U, его разреженности, размере и что означает «равномерная выборка собственных значений в интервале».

...