Hello all, I have just completed the first draft of a paper, "Classifying bent functions by their Cayley graphs". <https://sites.google.com/site/paulleopardi/Leopardi-Bent-functions-Cayley-graphs.pdf?attredirects=0&d=1> The computational results of the paper are fully reproducible via worksheets in a SageMathCloud public folder <https://cloud.sagemath.com/projects/80f4c9e7-8a37-4f59-82e7-aa179ec0b652/files/Boolean-Cayley-graphs/> and Sage code in a GitHub repository <https://github.com/penguian/Boolean-Cayley-graphs>. When I developed the code I tried to follow the Sage coding conventions <http://doc.sagemath.org/html/en/developer/coding_basics.html>, but my primary goal up until now has been to obtain results and finish the paper while keeping the code as clear and readable as I could.
The purpose of the code is to calculate the Cayley graph classifications of the extended translation classes of bent functions, and their duals. All of these terms are defined in the paper, but briefly, - A* bent function* is a Boolean function on an even number of bits that is as far as possible (in Hamming weight distance) from any affine Boolean function; equivalently a Boolean function whose Walsh-Hadamard transform has constant absolute value. - The dual of a bent function *f* is obtained from the Walsh-Hadamard transform of *f*, and is also a bent function. - The *Cayley graph* of a Boolean function* f*, with *f(0)=0*, is a graph whose vertices are all the bit vectors of a given dimension, with an edge between vectors x and y if and only if *f(x+y)=1*. This Cayley graph is *strongly regular* if *f* is bent. - The *extended translation class* of a bent function *f* on boolean vector space* V* is the set of all functions of the form *g(x) = f(x+b) + <c,x> + d*, where *b, c* are in *V* and d is 0 or 1. - The *Cayley graph classification* of the extended translation class of a bent function* f* is the set of all isomorphism classes of Cayley graphs of the functions *f(x+b) + <c,x> + f(b)*. The output of the code is displayed in the paper, and in the SageMathCloud worksheets, and (with some exceptions) is also saved as objects of class *BentFunctionCayleyGraphClassification* in both the public folder and the GitHub repository. Questions: 1. Is there a process to ask for a code review of this type of code (i.e. code primarily written to support a paper)? 2. Do you have any suggestions as to how and where I could publish a fully peer reviewed version of such a long (52 page draft) paper with so many examples, tables and figures? 3. Is there a process to promote this code, or a part of this code to Sage itself? Note: if this requires a complete rewrite then this could take me some time, as it is a one-person project conducted in my spare time as an Honorary Fellow of the University of Melbourne. 4. Is there any interest in my further developing this code to include a database (e.g. SQL) of Cayley graph classifications? Thanks! Paul Leopardi <https://sites.google.com/site/paulleopardi/> PS. I have presented this work in stages at the University of Queensland <https://sites.google.com/site/paulleopardi/Leopardi-ACCMCC-2015-talk-revised.pdf?attredirects=0&d=1>, the University of Newcastle <https://sites.google.com/site/paulleopardi/Leopardi-ACCMCC-2016-talk.pdf?attredirects=0>, and RMIT University <https://sites.google.com/site/paulleopardi/Leopardi-Bent-functions-RMIT-2017-talk.pdf?attredirects=0>, and will also present it at 2MCGTC in Malta next month <http://www.um.edu.mt/events/2mcgtc2017/index.html>. -- You received this message because you are subscribed to the Google Groups "sage-devel" 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-devel. For more options, visit https://groups.google.com/d/optout.
