Upper Bounds for Cryptogenography via Sum of Squares
Python code
Put both files into the same directory. Use as follows:
bash$ python generate_matlab_code.py
usage: generate_matlab_code numberOfPlayers degree [yalmip|sagemath|sostools]
not outputting anything
bash$ python generate_matlab_code.py 2 4 yalimp
[outputs parts of the yalmip code; the parts that
depend on the degree]
Warning: Best to use it only for 2 players. For larger numbers the functionality is sketchy.
Yalmip/matlab code for the SoS program
Matlab code to verify the solution to the degree 6 SoS program
verifiable_without_SeDuMi.m
This file contains the function f as computed by the SoS program; h, the second derivative of f along a generic Alice-line at t=0; a way to write h as a combination of SoS polynomials QI and the "boundary polynomials" bi and c as in the paper.
Each polynomial QI is defined in this file directly as a sum of squares, like for example
Q13 = + P379^2 + P380^2 + P381^2 + P382^2 + P383^2 + P384^2 + P385^2;
where the polynomials P379 etc. are also defined in this file.
So it is clear by design that each QI is a
SoS polynomial.