RuntimeError: LattE integrale program failed (exit code -6)

asked 2022-09-22 23:02:13 +0100

Max Alekseyev gravatar image

updated 2022-09-23 07:56:36 +0100

FrédéricC gravatar image

The following simple code results in a RuntimeError quoted below.

from sage.interfaces.latte import integrate
P = Polyhedron(ieqs=[[0, 1, 0, 0], [1, -1, 0, 0], [0, 0, 1, 0], [0, 1, -1, 0], [0, 0, 0, 1], [0, 1, 0, -1], [1, -1, -1, -1], [-1, 2, 1, 1]])
print( integrate( P.cdd_Vrepresentation(), cdd=True ) )

The error is

RuntimeError: LattE integrale program failed (exit code -6):
This is LattE integrale 1.7.6
Available from http://www.math.ucdavis.edu/~latte/

Invocation: /home/sc_serv/sage/local/bin/integrate --valuation=volume --triangulate --redundancy-check=none --cdd /dev/stdin 
Warning: Not performing check for empty polytope, because it is unimplemented for the CDD-style input format. 
size = 8 x 4
Number Type = rational
integrate: latte_gmp.cpp:76: NTL::ZZ convert_mpq_to_ZZ(__mpq_struct*): Assertion `elt.get_den() == 1' failed.

It can be also observed at Sagecell. What's wrong?

edit retag flag offensive close merge delete

Comments

The issue is also reported to latte_int github: https://github.com/latte-int/latte/is...

Max Alekseyev gravatar imageMax Alekseyev ( 2022-09-23 05:16:40 +0100 )edit

I don't know, but it doesn't seem to like polyhedra with non-integer coordinates. integrate((12*P).cdd_Vrepresentation(), cdd=True) works. The error involving convert_mpq_to_ZZ suggests that it's trying to convert something to an integer and failing.

John Palmieri gravatar imageJohn Palmieri ( 2022-09-23 06:45:52 +0100 )edit

John - nice guess. Does it imply that latte_int works only with lattice polyhedra? Docs do not say so anywhere :-/

Max Alekseyev gravatar imageMax Alekseyev ( 2022-09-23 16:07:42 +0100 )edit