xgi
xgi copied to clipboard
CompleX Group Interactions (XGI) is a Python package for higher-order networks.
The current data structure is inherited from NetworkX and is key:val pairs of node ID:[x, y]. In the drawing functions, it can be inefficient to draw with a for-loop and...
We should look into how we can potentially use the same functions in XGI for different classes.
We should have `Hypergraph` inherit from `DiHypergraph` or vice-versa as well as `IDView`/`DiIDView` to avoid overly duplicated code.
A natural input type to support would be a dictionary, e.g., ``` H = xgi.Hypergraph() H.add_nodes_from({1, {"name": "a"}, 2: {"name": "b"}, 3: {"name": "c"}, 4: {"name": "d"}}) ``` This input...
If a new user starts looking `H.nodes.degree` they will have a hard time finding it in the docs: - if they look for it in classes, `Hypergraph.py` doesn't say anything...
In `katz_centrality`, the output can be computed with arbitrary precision, depending on how far we compute the power series (parameter `cutoff`). If this is not too cumbersome, we could instead...
In [this paper](https://arxiv.org/abs/2208.06503), the authors repeatedly do the following: * find a hyperedge `e` with larger than 3 * create all possible hyperedges or size 3 that contain nodes in...
Some of the features would benefit for a more in-depth explanation than just the API: explanations, example, use cases, etc. I'm thinking of something along the lines of this [pandas...
Right now nodes are plotted using mpl scatter, which keep them as a perfect circle even when in the tilted layer. we should maybe use a patch?
I saw a library (can't remember which one) that had automated benchmarks: there was a graph, automatically updated with each PR/commit, that showed the time taken to run certain core...