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

bug in computing automorphism group of IncidenceStructure #29551

Open
dimpase opened this issue Apr 23, 2020 · 11 comments
Open

bug in computing automorphism group of IncidenceStructure #29551

dimpase opened this issue Apr 23, 2020 · 11 comments

Comments

@dimpase
Copy link
Member

dimpase commented Apr 23, 2020

From sage-devel thread

B = [[1, 2, 3, 5, 7, 10],
 [1, 2, 3, 7, 10, 11],
 [1, 2, 4, 6, 9, 10],
 [1, 2, 4, 7, 8, 10],
 [1, 2, 5, 6, 10, 11],
 [1, 2, 7, 8, 9, 10],
 [2, 3, 4, 5, 9, 10],
 [2, 3, 4, 9, 10, 11],
 [2, 4, 5, 8, 10, 11],
 [2, 4, 6, 7, 9, 10],
 [2, 5, 6, 7, 10, 11],
 [2, 5, 8, 9, 10, 11]]
C = B + [[1..11]]
I1 = IncidenceStructure([1..11],B)
I2 = IncidenceStructure([1..11],C)
A1 = I1.automorphism_group()
A2 = I2.automorphism_group()
A1.order()==A2.order()

returs false - the group orders are 96 and 32, rather than equal to 96.
This still is correct (same group) in Sage 8.9 with Python 2, but wrong in 9.1.rc0 as well as in 9.0 (with Python 3).

CC: @dcoudert

Component: graph theory

Issue created by migration from https://trac.sagemath.org/ticket/29551

@dimpase dimpase added this to the sage-9.1 milestone Apr 23, 2020
@Shlokatadistance
Copy link
Mannequin

Shlokatadistance mannequin commented Apr 23, 2020

comment:1

Can it not be possible that the case is like a particular nuance? because as reported by the user in Sage-Devel, the results were accurate for the other test cases?
p.s : Just an observation, nevertheless, it needs to be fixed

@dimpase
Copy link
Member Author

dimpase commented Apr 23, 2020

comment:2

it is indeed a corner case, as the "full" block, as added in C, is not usual. If you want to fix this, look at the code of IncidenceStructure and check that the automorphism group of the incidence graph constructed there is not correct, for some reason.

@soehms
Copy link
Member

soehms commented Apr 24, 2020

comment:3

I could reproduce the bug with version 9.1.rc0 under Python 2 and on a stable 8.1, too. So it seemes, that it is older than 8.9 but disappeared for a while.

@Shlokatadistance
Copy link
Mannequin

Shlokatadistance mannequin commented Apr 26, 2020

comment:4

I am trying to come up with a fix, but can someone suggest a few more test cases? Especially since we think this is a potential corner case, I dont want to suggest a fix which will output the wrong answer for the other right ones

@mkoeppe mkoeppe modified the milestones: sage-9.1, sage-9.2 May 7, 2020
@slel
Copy link
Member

slel commented Sep 24, 2020

comment:6

Possibly related: #30637. Does your fix also solve that?

@soehms
Copy link
Member

soehms commented Sep 26, 2020

comment:7

I think this bug is located in search_tree (sage.groups.perm_gps.partn_ref.refinement_graphs) since with optional package bliss installed it is not reproducible.

Samuel, does #30637 fail with bliss, as well?

@dimpase
Copy link
Member Author

dimpase commented Sep 28, 2020

comment:8

I can confirm that after installing bliss, the issue here goes away.

@dimpase
Copy link
Member Author

dimpase commented Sep 28, 2020

comment:9

by the way, without (and with) bliss, still

sage: g1=I1.incidence_graph()                                                                                                                                           
sage: g2=I2.incidence_graph()                                                                                                                                           
sage: g1.automorphism_group().order()                                                                                                                                   
96
sage: g2.automorphism_group().order()                                                                                                                                   
96

are correct. As well, wihout bliss,

sage: I2.dual().automorphism_group().order()                                                                                                                            
48
sage: I1.dual().automorphism_group().order()                                                                                                                            
48

which is consistent with 96/2=48 (there are two points, 2 and 10, which are in all the blocks, so there is an order two automorhism (2,10) fixing all blocks).

@dimpase

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Oct 24, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented May 10, 2021

comment:11

Moving to 9.4, as 9.3 has been released.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 May 10, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Aug 22, 2021
@fchapoton
Copy link
Contributor

comment:13

bump to 9.6

@fchapoton fchapoton modified the milestones: sage-9.5, sage-9.6 Jan 29, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 May 3, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Sep 19, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants