Since asking the question "How should I determine if two strongly regular graphs are isomorphic?" I have made great progress in classifying Bent functions by their Cayley graphs. That is, up until now. I have found two graphs which I was (emprically) expecting to be isomorphic have different canonical labels.
To reproduce:
1. Clone the python-refactor branch of penguian/Boolean-Cayley-graphs
2. Copy the attached Sage file test_isomorphism.sage to your cloned
Boolean-Cayley-graphs
directory.
3. In your cloned Boolean-Cayley-graphs directory, run sage and enter
load("test_isomorphism.sage")
You should see:
*sage: load("test_isomorphism.sage")Defining bent function
f...f.algebraic_normal_form() == x0*x1*x6 + x0*x3 + x1*x4 + x2*x3*x6 +
x2*x5 + x3*x4 + x4*x5*x6 + x6*x7Determining strongly regular graphs SG1 and
SG2...Finding canonical labels CG1 and GG2...CG1 == CG2:
FalseG1.is_isomorphic(G2): FalseSageCG1 == SageCG2:
FalseSG1.stored_clique_polynomial == SG2.stored_clique_polynomial:
TrueSG1.stored_clique_polynomial == 45056*t^9 + 780288*t^8 + 2998272*t^7 +
5505024*t^6 + 4816896*t^5 + 1892352*t^4 + 286720*t^3 + 15360*t^2 + 256*t +
1SG1.rank == SG2.rank: TrueSG1.rank == 16SG1.group_order ==
SG2.group_order: TrueSG1.group_order ==
229376G1.automorphism_group().is_isomorphic(G2.automorphism_group()):
Truesage: *
This is saying that G1, the Cayley graph of f, and G2, the strongly regular
graph obtained from the two-weight code derived from f, are not isomorphic,
*but*
G1 and G2 have the same clique polynomial, *and*
G1 and G2 have isomorphic automorphism groups.
Do you have any hints on how I can further diagnose what is really going on
here? I suspect a bug in my own code rather than a bug in Sage or a true
non-isomorphism, but at this stage I can't be sure.
For example, I have not yet found nor devised a proof that G1 and G2 should
be isomorphic, beyond observing that it is true for all the other cases I
have examined so far.
The code for cayley_graph() and for strongly_regular_graph() is in
bent_function.py.
The method strongly_regular_graph() depends on linear_code(), which is
defined in boolean_function_improved.py, and is based on a simplified
version of Ding III a) https://arxiv.org/abs/1503.06511
Sorry I haven't yet fully documented my code. It is a work in progress.
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.
test_isomorphism.sage
Description: Binary data
