Собственное векторное (спектральное) разложение - PullRequest
2 голосов
/ 20 июля 2010

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

Причина, по которой мне нужно, чтобы выходные данные были в этом порядке, заключается в том, что я пытаюсь вычислить центральность собственного вектора, и поэтому мне действительно нужно только вычислить собственный вектор, связанный с наибольшим собственным значением. Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 20 июля 2010

В любом случае я бы рекомендовал использовать специальный пакет линейной алгебры, такой как Lapack (Fortran, но может быть вызван из C) или CLapack . Оба бесплатны и предлагают процедуры практически для любой проблемы с собственным значением. Если матрица велика, может быть предпочтительнее использовать ее разреженность, например, используя Arpack . Все эти библиотеки имеют тенденцию сортировать собственные векторы по собственным значениям, если они могут (действительные или чисто мнимые собственные значения).

2 голосов
/ 20 июля 2010
0 голосов
/ 20 июля 2010

И хит # 1 в Google (поиск: код разложения по собственным значениям C #)

http://crsouza.blogspot.com/2010/06/generalized-eigenvalue-decomposition-in.html

не помогает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...