Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coerce all edges to sets #158

Closed
leotrs opened this issue Aug 30, 2022 · 0 comments · Fixed by #162
Closed

Coerce all edges to sets #158

leotrs opened this issue Aug 30, 2022 · 0 comments · Fixed by #162

Comments

@leotrs
Copy link
Collaborator

leotrs commented Aug 30, 2022

This will be done in order to forbid the appearance of repeated nodes in an edge (such an edge is called "loopy" hyperedge). @nwlandry and I discussed this and realized that XGI incurs in non-trivial performance costs due to supporting loopy hypergedges, however the number of applications where loopy hyperedges is necessary or useful is very few. So the tradeoff is just not there. We have decided to NOT support loopy hyperedges from now on. In essence, this means that the members of each edge (and also the memberships of each node) will be stored as sets. So even if the user passes in a list or some other collection, it will be coerced into a set.

@nwlandry nwlandry linked a pull request Sep 2, 2022 that will close this issue
nwlandry added a commit that referenced this issue Sep 5, 2022
Converted all instances of edges to sets from lists in response to #158. Changed unit tests and docs to reflect this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant