Hi!

On 2017-11-03, 'Mark Bell' via sage-devel <sage-devel@googlegroups.com> wrote:
> And so I did:
>> Polyhedron(eqns=eqns, ieqs=ieqs).integral_points_count()
> 1260
>
> However, if I look at all of the slices obtained by fixing the first 
> variable x_0 (which must be 1 <= x_0 <= 100 by the first equation and 
> inequality) then I get the following numbers of integral points in each 
> slice:
>
>> [Polyhedron(eqns=eqns+[[-k, 1, 0,0,0,0,0,0,0,0,0,0,0]], 
> ieqs=ieqs).integral_points_count() for k in range(1, 101)]
> [84, 84, 84, ...., 0, 0, 0]
>
> Which is fewer points in total:
>
>> sum(_)
> 1197

Sorry that I am not directly answering your question. What does polymake
have to say about that polyhedron?

First of all, there seems to be some bug in the polymake interface
(that I authored, so: Sorry...):
  sage: P = Polyhedron(eqns = eqns, ieqs=ieqs)
  sage: PP = polymake(P)

The conversion of P into a polymake polytope fails first (that's the bug),
but when one tries again, there is no complaint.

sage: PP.VERTICES
1 1 1 46/3 1 49/3 46/3 0 49/3 49/3 49/3 0 1
1 45/2 45/2 1 1 47/2 1 0 47/2 2 2 0 1
1 45/2 1 1 1 2 1 0 47/2 2 47/2 0 45/2
1 1 1 1 45/2 2 1 0 2 47/2 47/2 0 45/2
1 1 45/2 1 45/2 47/2 1 0 2 47/2 2 0 1
sage: P.vertices_list()   # Sage agrees with Polymake
[[1, 1, 46/3, 1, 49/3, 46/3, 0, 49/3, 49/3, 49/3, 0, 1],
 [45/2, 45/2, 1, 1, 47/2, 1, 0, 47/2, 2, 2, 0, 1],
 [45/2, 1, 1, 1, 2, 1, 0, 47/2, 2, 47/2, 0, 45/2],
 [1, 1, 1, 45/2, 2, 1, 0, 2, 47/2, 47/2, 0, 45/2],
 [1, 45/2, 1, 45/2, 47/2, 1, 0, 2, 47/2, 2, 0, 1]]
sage: PP.N_LATTICE_POINTS # Sage agrees with Polymake again.
1260

Best regards,
Simon

-- 
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 sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
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