我有大小为10000到100000的稀疏方形矩阵。我使用C ++编程语言,使用犰狳和eigen作为线性代数的库,我知道如何使用密集矩阵。
如何使用这些库获得大型稀疏矩阵的特征分解(特征值和特征向量)?我们可以从Eigen的稀疏Cholesky函数中得到特征分解吗?
这些库中没有一个提供稀疏的特征值分解。在Eigen unsupported /中,您将找到ARPACK C库的包装器。请注意,计算大型稀疏矩阵的所有特征值非常昂贵。通常,人们只计算ARPACK可以做的最大的那些。
回答你的第二个问题:不,知道Cholesky分解(LL ^ T或LDL ^ T)对于特征值问题没有用处。