Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions xgi/linalg/laplacian_matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,11 @@ def laplacian(H, order=1, sparse=False, rescale_per_node=False, index=False):
L = csr_array((0, 0)) if sparse else np.empty((0, 0))
return (L, {}) if index else L

D = np.asarray(degree_matrix(H, order=order), dtype=float)
if sparse:
K = diags_array(degree_matrix(H, order=order), format="csr")
K = diags_array(D, format="csr")
else:
K = np.diag(degree_matrix(H, order=order))
K = np.diag(D)

L = order * K - A # ravel needed to convert sparse matrix

Expand Down Expand Up @@ -233,9 +234,9 @@ def normalized_hypergraph_laplacian(H, weighted=False, sparse=True, index=False)
De = np.sum(incidence, axis=0)

if weighted:
weights = [H.edges[edge_idx].get("weight", 1) for edge_idx in H.edges]
weights = [float(H.edges[edge_idx].get("weight", 1)) for edge_idx in H.edges]
else:
weights = [1] * H.num_edges
weights = [1.0] * H.num_edges

if sparse:
Dv_invsqrt = diags_array(np.power(Dv, -0.5), format="csr")
Expand Down
5 changes: 3 additions & 2 deletions xgi/stats/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,9 @@ def name(self):
('degree', 'degree(order=3)')
>>> H.nodes.multi([da, d3]).asdict(transpose=True).keys()
dict_keys(['degree', 'degree(order=3)'])
>>> H.nodes.multi([da, d3]).aspandas().columns
Index(['degree', 'degree(order=3)'], dtype='object')
>>> cols = H.nodes.multi([da, d3]).aspandas().columns
>>> list(cols)
['degree', 'degree(order=3)']
"""
name = f"{self.func.__name__}"
Expand Down