Я хочу достаточно быстро вычислить инерцию (триплет целых чисел, представляющих число 1> положительных, 2> отрицательных и 3> нулевых собственных значений) разреженной вещественной симметрии c (N x N ) матрица M in Python ( N между 100 и 100000).
У меня уже есть «решение» путем преобразования M обратно в плотную форму, а затем с использованием numpy .linalg.eigval sh (M ) для вычисления всего спектра, который затем делает очевидной инерцию для вычисления.
Однако я хотел бы оставить проблему разреженной для рассмотрения скорости, так как я должен выполнить это вычисление бесчисленное множество раз.
Этот обеспечил хорошее начало, теперь я ищу существующую эффективную реализацию python, применимую к матрице разреженной симметрии c, или любой подсказки о том, как действовать .
В частности, любая декомпозиция матрицы, которая также поможет решить Mx = b для x ( b известно) будет приветствоваться, поскольку я также должен сделать это до вычисление инерции M .