Для проекта, который я делаю, я разлагаю график, который я создал с помощью NetworkX, в матрицу смежности, используя функцию NetworkX adj_matrix (). Однако одна из проблем, с которыми я столкнулся, заключается в том, что каждый разлагаемый граф дает мне следующую ошибку, когда я пытаюсь найти обратную матрицу.
str: Traceback (most recent call last):
File "C:\eclipse\plugins\org.python.pydev.debug_1.4.7.2843\pysrc\pydevd_resolver.py", line 179, in _getPyDictionary
attr = getattr(var, n)
File "C:\Python26\lib\site-packages\numpy\core\defmatrix.py", line 519, in getI
return asmatrix(func(self))
File "C:\Python26\lib\site-packages\numpy\linalg\linalg.py", line 355, in inv
return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
File "C:\Python26\lib\site-packages\numpy\linalg\linalg.py", line 254, in solve
raise LinAlgError, 'Singular matrix'
LinAlgError: Singular matrix
Я попытался сгенерировать матрицы смежности из 5 разных графов, и все они выдавали одну и ту же ошибку, когда пытались найти обратную матрицу смежности. Вопрос, который я задаю, заключается в том, существует ли какой-либо способ перехода от графа NetworkX к матрице. Какой мой лучший курс действий отсюда? Я понимаю, что есть и другие вопросы, относящиеся к инверсиям матриц, но мой несколько ограничен тем фактом, что мне нужна матрица смежности графов.