Skip to content

isolated nodes not counted as components #25

@VincenzoPerri

Description

@VincenzoPerri

Running the code:

tr_net = pp.Network()
for i in range(n):
    tr_net.add_node(i)

For n <= 2 we get:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-84-329b4db68bec> in <module>
----> 1 pp.algorithms.components.connected_components(tr_net)

/opt/tljh/user/lib/python3.6/site-packages/pathpy/algorithms/components.py in connected_components(network, lanczos_vecs, maxiter)
     48     if maxiter is None:
     49         maxiter = n*10
---> 50     vals, vecs = _sla.eigs(L, k=n, which="SM", return_eigenvectors=True)
     51 
     52     components = defaultdict(set)

/opt/tljh/user/lib/python3.6/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py in eigs(A, k, M, sigma, which, v0, ncv, maxiter, tol, return_eigenvectors, Minv, OPinv, OPpart)
   1247 
   1248     if k <= 0:
-> 1249         raise ValueError("k=%d must be greater than 0." % k)
   1250 
   1251     if k >= n - 1:

ValueError: k=0 must be greater than 0.

While for n>2 we get the following:
defaultdict(set, {})

Our expectation would have been to get the isolated nodes as components.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions