как вычислить обратный квадратный корень из квадратной матрицы

Может ли кто-нибудь подтвердить, что это правильный способ вычисления обратного квадратного корня из матрицы степеней для спектральной кластеризации

Учитывая квадратную матрицу смежности A, матрица смежности

D - матрица степеней, L - матрица лапласиана

D = np.diag(1/np.sqrt(np.sum(A, axis=1)))

L = D @ A @ D

или я должен использовать

D = A**-.5

Я вижу значения inf в итоговой матрице с обоими методами.


person py_newbie    schedule 03.02.2021    source источник


Ответы (1)


Это сработало для меня ... избегая деления на ноль.

D = np.diag(1. / np.sqrt(sum(A, 1)))
person py_newbie    schedule 11.02.2021