|
|
@ -35,6 +35,7 @@ |
|
|
|
# -------------------------------------------- |
|
|
|
# -------------------------------------------- |
|
|
|
# |
|
|
|
# |
|
|
|
# -- 2015/04/23 -- release 0.1 |
|
|
|
# -- 2015/04/23 -- release 0.1 |
|
|
|
|
|
|
|
# -- 2015/05/11 -- release 0.1.1 -- removed the last full matrices |
|
|
|
# |
|
|
|
# |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -122,8 +123,8 @@ class layer: |
|
|
|
elif matrix != None: |
|
|
|
elif matrix != None: |
|
|
|
self.adj_matr = copy.copy(matrix) |
|
|
|
self.adj_matr = copy.copy(matrix) |
|
|
|
self.N, _x = matrix.shape |
|
|
|
self.N, _x = matrix.shape |
|
|
|
K = np.multiply(self.adj_matr.sum(0), np.ones((self.N,self.N))) |
|
|
|
K = self.adj_matr.sum(0).reshape((1, self.N)).tolist()[0] |
|
|
|
D = np.diag(np.diag(K)) |
|
|
|
D = csr_matrix((K, (range(self.N), range(self.N)) ), shape=(self.N, self.N)) |
|
|
|
self.laplacian = csr_matrix(D - self.adj_matr) |
|
|
|
self.laplacian = csr_matrix(D - self.adj_matr) |
|
|
|
K = self.laplacian.diagonal().sum() |
|
|
|
K = self.laplacian.diagonal().sum() |
|
|
|
self.resc_laplacian = csr_matrix(self.laplacian / K) |
|
|
|
self.resc_laplacian = csr_matrix(self.laplacian / K) |
|
|
@ -134,13 +135,13 @@ class layer: |
|
|
|
self.N = N |
|
|
|
self.N = N |
|
|
|
self.adj_matr = csr_matrix((self._ww, (self._ii, self._jj)), shape=(self.N, self.N)) |
|
|
|
self.adj_matr = csr_matrix((self._ww, (self._ii, self._jj)), shape=(self.N, self.N)) |
|
|
|
self.adj_matr = self.adj_matr + self.adj_matr.transpose() |
|
|
|
self.adj_matr = self.adj_matr + self.adj_matr.transpose() |
|
|
|
K = np.multiply(self.adj_matr.sum(0), np.ones((self.N,self.N))) |
|
|
|
K = self.adj_matr.sum(0).reshape((1, self.N)).tolist()[0] |
|
|
|
D = np.diag(np.diag(K)) |
|
|
|
D = csr_matrix((K, (range(self.N), range(self.N)) ), shape=(self.N, self.N)) |
|
|
|
self.laplacian = csr_matrix(D - self.adj_matr) |
|
|
|
self.laplacian = csr_matrix(D - self.adj_matr) |
|
|
|
K = self.laplacian.diagonal().sum() |
|
|
|
K = self.laplacian.diagonal().sum() |
|
|
|
self.resc_laplacian = csr_matrix(self.laplacian / K) |
|
|
|
self.resc_laplacian = csr_matrix(self.laplacian / K) |
|
|
|
self._matrix_called = True |
|
|
|
self._matrix_called = True |
|
|
|
|
|
|
|
|
|
|
|
def dump_info(self): |
|
|
|
def dump_info(self): |
|
|
|
N, M = self.adj_matr.shape |
|
|
|
N, M = self.adj_matr.shape |
|
|
|
K = self.adj_matr.nnz |
|
|
|
K = self.adj_matr.nnz |
|
|
@ -170,14 +171,15 @@ class layer: |
|
|
|
self.adj_matr = self.adj_matr + other_layer.adj_matr |
|
|
|
self.adj_matr = self.adj_matr + other_layer.adj_matr |
|
|
|
else: |
|
|
|
else: |
|
|
|
self.adj_matr = copy.copy(other_layer.adj_matr) |
|
|
|
self.adj_matr = copy.copy(other_layer.adj_matr) |
|
|
|
K = np.multiply(self.adj_matr.sum(0), np.ones((self.N,self.N))) |
|
|
|
K = self.adj_matr.sum(0).reshape((1, self.N)).tolist()[0] |
|
|
|
D = np.diag(np.diag(K)) |
|
|
|
D = csr_matrix((K, (range(self.N), range(self.N)) ), shape=(self.N, self.N)) |
|
|
|
self.laplacian = csr_matrix(D - self.adj_matr) |
|
|
|
self.laplacian = csr_matrix(D - self.adj_matr) |
|
|
|
K = self.laplacian.diagonal().sum() |
|
|
|
K = self.laplacian.diagonal().sum() |
|
|
|
self.resc_laplacian = csr_matrix(self.laplacian / K) |
|
|
|
self.resc_laplacian = csr_matrix(self.laplacian / K) |
|
|
|
self._matrix_called = True |
|
|
|
self._matrix_called = True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def dump_laplacian(self): |
|
|
|
|
|
|
|
print self.laplacian |
|
|
|
|
|
|
|
|
|
|
|
class multiplex_red: |
|
|
|
class multiplex_red: |
|
|
|
|
|
|
|
|
|
|
|