У меня есть разреженные квадратные матрицы измерений порядка от 10000 до 100000. Я использую язык программирования C ++ с armadillo и eigen в качестве библиотек для линейной алгебры, с которыми я знаю, как работать с плотными матрицами.
Как я могу получить собственные разложения (собственные значения и собственные векторы) больших разреженных матриц, используя эти библиотеки? Можем ли мы получить собственное разложение по разреженным функциям Холецкого из собственных?
Ни одна из этих библиотек не обеспечивает разреженного разложения по собственным значениям. В Eigen unsupported / вы найдете оболочку для библиотеки ARPACK C. Обратите внимание, что вычисление всех собственных значений большой большой разреженной матрицы непомерно дорого. Обычно люди вычисляют только самые большие, что ARPACK может сделать.
Чтобы ответить на ваш второй вопрос: Нет, знание факторизации Холецкого (LL ^ T или LDL ^ T) бесполезно для проблемы собственных значений.