Skip to content

Is2EdgeTransitive performance update #739

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

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

frankiegillis
Copy link
Contributor

Rewritten Is2EdgeTransitive to be much more efficient. Now uses Orbit-Stabiliser Theorem.

@frankiegillis frankiegillis changed the title Is2EdgeTransitive overhall Is2EdgeTransitive overhorl Mar 26, 2025
@frankiegillis frankiegillis changed the title Is2EdgeTransitive overhorl Is2EdgeTransitive overhaul Mar 26, 2025
@james-d-mitchell james-d-mitchell added the performance A label for issues or PR related to performance label Apr 7, 2025
@james-d-mitchell
Copy link
Member

I think you're still working on this, is that right @frankiegillis ?

@james-d-mitchell james-d-mitchell added the waiting for creator input A label for issues/PRs where we are waiting for the creator to do something label Apr 7, 2025
@frankiegillis
Copy link
Contributor Author

Yes, currently benchmarking the two methods for computing the orbit of a 2-edge: Method 1 (Compute the orbit directly) against Method 2 (Compute the stabiliser).

Here are some plots. To benchmark, I generated random digraphs using RandomDigraph using the edge probability as a way of controlling the average orbit length.
Image5
Image4
Image3
Image1 png

It turns out that Method 1 is almost always faster, apart from when tested on the list of named digraphs when it is much slower. I don't think this is a case of Method 2 being fast, but Method 1 being unusually slow. I'm looking into this.

@frankiegillis frankiegillis changed the title Is2EdgeTransitive overhaul Is2EdgeTransitive performance update Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance A label for issues or PR related to performance waiting for creator input A label for issues/PRs where we are waiting for the creator to do something
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants