Как правило, инверсия разреженной матрицы не является разреженной, поэтому в библиотеках линейной алгебры вы не найдете инверторов разреженных матриц. Поскольку D
является диагональю, D^(-1/2)
является тривиальным и вычисление матрицы Лапласа, таким образом, является тривиальным для записи. L
имеет тот же шаблон разрежения, что и A
, но каждое значение A_ {ij} умножается на (D_i * D_j) ^ {- 1/2}.
Что касается вопроса об обратном, стандартный подход всегда состоит в том, чтобы избегать вычисления самого обратного. Вместо того, чтобы вычислять L ^ -1, повторно решите Lx = b для неизвестного x. Все хорошие решатели матриц позволят вам разложить L, что дорого, а затем многократно заменять (что дешево) на каждое значение b.