У меня очень большая симметричная, плотная матрица A с размерностью NxN, тогда как N = 200 000. Матрица настолько велика, что не может поместиться в памяти (для этого требуется несколько сотен ГБ). Он также идеально плотный, поэтому ни одна запись не равна нулю.
Обратная матрица вычисляется в O (n ^ 2.373) в соответствии с wikipedia .
Мои вопросы:
- Какую структуру данных я буду использовать для сохранения этой матрицы?
- Какой метод python (или, в качестве альтернативы, функцию C или C ++, которую я могу обернуть) я могу использовать для вычисления обратного?
Большое спасибо за вашу помощь.