用Python计算稀疏矩阵的惯性

用Python计算稀疏矩阵的惯性,python,matrix,sparse-matrix,eigenvalue,Python,Matrix,Sparse Matrix,Eigenvalue,我想合理快速地计算Python中稀疏实对称(nxn)矩阵M(N介于100和100000之间)的惯性(表示1>正、2>负和3>零特征值数的三重整数) 我已经有了一个“解决方案”,将M转换回稠密形式,然后使用numpy.linalg.eigvalsh(M)来计算整个光谱,这使得惯性很容易计算 然而,为了速度考虑,我想保持问题的稀疏性,因为我必须无数次地执行此计算 提供了一个良好的开端,我现在正在寻找一个适用于稀疏对称矩阵的现有高效python实现,或者寻找关于如何继续的任何提示 特别是,矩阵的任何分

我想合理快速地计算Python中稀疏实对称(nxn)矩阵MN介于100和100000之间)的惯性(表示1>正、2>负和3>零特征值数的三重整数)

我已经有了一个“解决方案”,将M转换回稠密形式,然后使用numpy.linalg.eigvalsh(M)来计算整个光谱,这使得惯性很容易计算

然而,为了速度考虑,我想保持问题的稀疏性,因为我必须无数次地执行此计算

提供了一个良好的开端,我现在正在寻找一个适用于稀疏对称矩阵的现有高效python实现,或者寻找关于如何继续的任何提示

特别是,矩阵的任何分解都将有助于求解xb已知)的Mx=b,因为在计算M的惯性之前,我也必须这样做