# equivalent edges on graph

**URL:** <https://igraph.discourse.group/t/equivalent-edges-on-graph/1787>\
**Category:** Usage\
**Tags:** R\
**Created:** [22 March 2024 20:43 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787 "2024-03-22T20:43:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Huimin721](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/huimin721/32/1007_2.png) [@Huimin721](https://igraph.discourse.group/u/Huimin721)\
**Post date:** [22 March 2024 20:43 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787/1 "2024-03-22T20:43:02Z")

</div>

Hello everyone,

Is there an existing algorithm to find equivalent edges or orbits on a colored/uncolored graph with igraph? If there is not, could you please share some thoughts on this? Thanks so much! Any clue will be appreciated!

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [22 March 2024 22:25 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787/2 "2024-03-22T22:25:20Z")

</div>

This functionality is available in rudimentary form in IGraph/M, the Mathematica interface of igraph, but it hasn’t been ported to other interfaces yet.

There’s an issue for this (for vertex orbits, but edge orbits would be similar):

> <https://github.com/igraph/igraph/issues/2363>
>
> \*\*What is the feature or improvement you would like to see?\*\*
> 
> A function for …computing which vertices are topologically equivalent, or "orbits"? For reference, this can be accomplished using pynauty using the following command:
> 
> \`\`\`
> pynauty.autgrp(g)\[3\]
> \`\`\`
> 
> where g is a pynauty graph object. The ideal function would reduce computation by reporting both:
> 
> 1. Canonical ordering/permutation
> 2. Orbit assignment as a vector, where each vertex is assigned a number, and vertices with the same number are topologically equivalent. 
> 
> A function that reports both would likely be most performant in my application, where I need both. Nonetheless, even a standalone function that just reports orbits would be very useful.
> 
> 
> \*\*Use cases for the feature\*\*
> 
> This, in conjunction with canonical labeling, is required for some graph canonization tasks. igraph\_canonical\_permutation is great for determining the canonical permutation of graph vertices, but we often want to also know which of these vertices are topologically equivalent. 
> 
> At the moment, inability to compute orbits prevents me from using igraph.
> 
> 
> \*\*References\*\*
> 
> See pynauty's autogrp function: https://pypi.org/project/pynauty/
> 
> Very likely, this is already being computed by BLISS, and bindings just needsto be added to the igraph API.

You can add your vote here.

---

<div class="post-metadata">

**Author:** ![Huimin721](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/huimin721/32/1007_2.png) [@Huimin721](https://igraph.discourse.group/u/Huimin721)\
**Post date:** [22 March 2024 23:06 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787/3 "2024-03-22T23:06:25Z")

</div>

Thanks so much for your reply!! Could I ask if it is possible to have this implementation with R? By the way could I ask what you mean by ‘vote’? I did not find vote button from the linked page. Should I vote for that?

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [24 March 2024 18:11 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787/4 "2024-03-24T18:11:10Z")

</div>

There’s no vote button, but you can leave a comment, or just add a 👍 to the top post in the issue. If we see that there’s a lot of activity on an issue, we’ll probably do the work sooner.

Personally I’d like to have this functionality, but I just don’t have the time right now.

> [@Huimin721](#):
>
> Could I ask if it is possible to have this implementation with R?

The first step is to implement it in C. Once that is done, the functionality can be exposed in R easily.

---

<div class="post-metadata">

**Author:** ![Huimin721](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/huimin721/32/1007_2.png) [@Huimin721](https://igraph.discourse.group/u/Huimin721)\
**Post date:** [24 March 2024 18:35 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787/5 "2024-03-24T18:35:27Z")

</div>

Thank so much, will add thumb and comments!

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [25 March 2024 09:41 UTC](https://igraph.discourse.group/t/equivalent-edges-on-graph/1787/6 "2024-03-25T09:41:30Z")

</div>

A post was split to a new topic: [Generating automorphisms](https://igraph.discourse.group/t/generating-automorphisms/1790)
