In [3]:
# how fast is the spectral clustering method on sparse signed network
from snpp.cores.spectral import build_laplacian_related_matrices_sparse
from snpp.utils.matrix import load_sparse_csr
from snpp.utils.signed_graph import g2m
from snpp.utils.data import load_train_test_graphs

In [4]:
dataset="slashdot"
train_g, test_g = load_train_test_graphs(dataset, False)
train_m = g2m(train_g)


loading train and test graphs...
100%|██████████| 77357/77357 [00:01<00:00, 60157.08it/s]

In [14]:
train_m.nnz


Out[14]:
542274

In [5]:
W_p, W_n, D_p, D_n, D_hat = build_laplacian_related_matrices_sparse(train_m)

In [10]:
import scipy
D_hat_inv = scipy.sparse.diags([1 / D_hat.diagonal()], offsets=[0])

In [11]:
right_m = (D_p - W_p + W_n)

L = D_hat_inv * right_m

In [13]:
L.nnz


Out[13]:
504710

In [ ]:
u, s, vt = scipy.sparse.linalg.svds(L, k=10, which='SM')