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.

Reply via email to