Dear Juan,
With sage 9.2 I obtain very quickly the output
An inequality (-1, -1, -1, 0, 0, 0, 1) x + 2 >= 0
An inequality (0, -1, 0, 0, 0, 0, 0) x + 1 >= 0
An inequality (-1, 0, 0, 0, 0, 0, 0) x + 1 >= 0
An inequality (0, 0, -1, 0, 0, 0, 0) x + 1 >= 0
An inequality (-1, 1, 0, 0, 0, 0, -1) x + 1 >= 0
An inequality (-1, 0, 1, 0, 0, 0, -1) x + 1 >= 0
An inequality (0, -1, 1, 0, 0, 0, -1) x + 1 >= 0
An inequality (0, 1, -1, 0, 0, 0, -1) x + 1 >= 0
An inequality (1, -1, 0, 0, 0, 0, -1) x + 1 >= 0
An inequality (1, 0, -1, 0, 0, 0, -1) x + 1 >= 0
An inequality (1, 1, 1, -3, 0, 0, -2) x + 2 >= 0
An inequality (0, 0, 1, -1, 0, 0, -1) x + 1 >= 0
An inequality (1, 0, 0, -1, 0, 0, -1) x + 1 >= 0
An inequality (0, 0, 0, -1, 0, 0, 0) x + 1 >= 0
An inequality (0, 1, 0, -1, 0, 0, -1) x + 1 >= 0
An inequality (0, 0, 0, 0, -1, 0, 0) x + 1 >= 0
An inequality (0, 0, 0, 0, 0, -1, 0) x + 1 >= 0
An inequality (0, 0, -1, 1, -1, 0, -1) x + 2 >= 0
An inequality (-1, 0, 0, 1, -1, 0, -1) x + 2 >= 0
An inequality (0, -1, 0, 1, -1, 0, -1) x + 2 >= 0
An inequality (-1, -1, -1, 3, -3, 0, -2) x + 5 >= 0
An inequality (1, 1, 1, 0, 0, 0, 1) x - 1 >= 0
An inequality (0, 0, 1, 0, 0, 0, 0) x + 0 >= 0
An inequality (0, 0, 0, 1, 0, 0, 0) x + 0 >= 0
An inequality (0, 0, 1, 0, 1, -1, -1) x + 1 >= 0
An inequality (0, 1, 0, 0, 1, -1, -1) x + 1 >= 0
An inequality (1, 1, 1, 0, 3, -3, -2) x + 2 >= 0
An inequality (-1, -1, -1, 3, 0, 3, -2) x + 2 >= 0
An inequality (0, 1, 0, 0, 0, 0, 0) x + 0 >= 0
An inequality (1, 0, 0, 0, 1, -1, -1) x + 1 >= 0
An inequality (0, 0, 0, 0, 0, 0, 1) x + 0 >= 0
An inequality (1, 0, 0, 0, 0, 0, 0) x + 0 >= 0
An inequality (0, 0, 0, 0, 1, 0, 0) x + 0 >= 0
An inequality (0, 0, 0, 0, 0, 1, 0) x + 0 >= 0
An inequality (0, -1, 0, 1, 0, 1, -1) x + 1 >= 0
An inequality (-1, 0, 0, 1, 0, 1, -1) x + 1 >= 0
An inequality (0, 0, -1, 1, 0, 1, -1) x + 1 >= 0
You should describe more precisely what is the problem with your
version 9. What is not working with the code?
Best regards,
Vincent
Le 07/02/2021 à 19:34, Juan Grados a écrit :
Dear members,
I am trying to reproduce page 9 of
https://eprint.iacr.org/2016/407.pdf but
until now is not possible to find the 65 inequalities that paper says.
I am
thinking that maybe this is because the version of SAGE I am using
(this is
9). Do you think that there is any chance to obtain 65 inequalities
using P.Hrepresentation() in other version of SAGE?
from sage.all import *
vertices = [i for i in range(2**6)]
vertices_to_drop = []
def eq(x, y, z):
if (x == y and y == z):
return 1
return 0
for j in range(2**6):
if ((((j>>5)&1) == ((j>>4)&1) and ((j>>4)&1) == ((j>>3)&1)) and
(((j>>3)&1) != (((j>>2)&1) ^ ((j>>1)&1) ^ ((j>>0)&1)))):
vertices_to_drop.append(j);
possible_patterns = list(set(vertices) - set(vertices_to_drop))
print(possible_patterns)
possible_patterns_vector = []
for num in possible_patterns:
possible_patterns_vector.append([int(n) for n in
bin(num)[2:].zfill(6)] + [eq(((num>>5)&1), ((num>>4)&1), ((num>>3)&1))
^ 1])
print(possible_patterns_vector[0])
print(possible_patterns_vector[1])
P = Polyhedron(vertices = possible_patterns_vector)
for h in P.Hrepresentation():
print(h)
---------------------------------------------------------------------
D.Sc. Juan del Carmen Grados Vásquez
Laboratório Nacional de Computação Científica
Tel: +55 21 97633 3228
(http://www.lncc.br/)
http://juaninf.blogspot.com
---------------------------------------------------------------------