2010-07-20 3 views
2

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

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

+0

Какой размер матрицы? –

+0

Для очень большой разреженной матрицы. Это для сетевого анализа. – Spencer

+0

Опишите матрицу, пожалуйста. симметричный, реальный? эрмитовость? не все – FFox

ответ

5

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

0

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

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

не помогает?

+0

Я специально пытаюсь найти код, где наивысшее собственное значение (и, следовательно, его ассоциированное собственное значение) расположено в первом столбце. Это будет верно для этой программы? – Spencer

Смежные вопросы