Page 1 of 1

Mixed volume -> edge matrix is singular?

Posted: 13 Aug 2021, 23:23
by Fabian91
Hi, a colleague and I are trying to compute the mixed volume of 5 polygons but got the following error:

Code: Select all

polymake: ERROR: mixed_volume: calculation failed, edge matrix is singular.
We don't really know what to make of this :oops:
We are relatively new to polygons and mixed volumes; they were popping up in connection to quantum chemistry and we wanted to see if any numerics can be done.
This is the code snippet for the polygons and the attempt to compute the mixed volume:

Code: Select all

$p1 = new Polytope(POINTS=>[[1,0,0,0,0,0],[1,0,1,0,0,0],[1,0,0,1,0,0],[1,0,0,0,1,0],[1,0,0,0,0,1],[1,0,1,1,0,0],[1,2,0,0,0,0],[1,1,1,0,0,0],[1,1,0,1,0,0],[1,1,0,0,0,1],[1,2,0,0,1,0],[1,1,1,1,0,0]]); $p2 = new Polytope(POINTS=>[[1,0,0,0,0,0],[1,1,0,0,0,0],[1,0,0,1,0,0],[1,0,0,0,1,0],[1,0,0,0,0,1],[1,1,0,0,1,0],[1,0,2,0,0,0],[1,1,1,0,0,0],[1,0,1,0,1,0],[1,0,1,0,0,1],[1,1,1,0,1,0],[1,0,2,1,0,0]]); $p3 = new Polytope(POINTS=>[[1,0,0,0,0,0],[1,1,0,0,0,0],[1,0,1,0,0,0],[1,0,0,0,1,0],[1,0,0,0,0,1],[1,1,0,0,1,0],[1,0,0,2,0,0],[1,1,0,1,0,0],[1,0,0,1,1,0],[1,0,0,1,0,1],[1,1,0,1,1,0],[1,0,1,2,0,0]]); $p4 = new Polytope(POINTS=>[[1,0,0,0,0,0],[1,1,0,0,0,0],[1,0,1,0,0,0],[1,0,0,1,0,0],[1,0,0,0,0,1],[1,0,1,1,0,0],[1,0,0,0,2,0],[1,0,1,0,1,0],[1,0,0,1,1,0],[1,0,0,0,1,1],[1,1,0,0,2,0],[1,0,1,1,1,0]]); $p5 = new Polytope(POINTS=>[[1,0,0,0,0,0],[1,2,0,0,0,0],[1,0,2,0,0,0],[1,0,0,2,0,0],[1,0,0,0,2,0],[1,0,0,0,0,2],[1,1,1,1,0,0],[1,1,1,0,1,0],[1,0,1,1,1,0],[1,0,1,1,0,1],[1,1,0,1,1,0],[1,1,0,0,1,1],[1,2,0,0,1,0],[1,1,0,0,2,0],[1,0,1,2,0,0],[1,0,2,1,0,0]]); mixed_volume($p1, $p2, $p3, $p4, $p5)
Since we are new, we used the online version and ran it from our browser.
Thanks for your help!

Re: Mixed volume -> edge matrix is singular?

Posted: 14 Aug 2021, 10:00
by blorenz
Hi,

unfortunately you hit a bug in our mixed volume implementation. This bug is already fixed in the most recent polymake release 4.4, but is still present in the 4.2 release that was active in the webpolymake until today.
I have now updated webpolymake to version 4.4 which does work for your example and (with an added print statement) give 50 as a result.

Benjamin

Re: Mixed volume -> edge matrix is singular?

Posted: 20 Aug 2021, 08:54
by Mathias
hi,

Thank You very much for Your help.
We have a follow up question. We found that the mixed volume as the leading coefficient of vol(l_1 P1,...,l_n Pn) is sometimes scaled by 1/n! and sometimes not. And consequentlty the BKK theorem is sometime with n! coefficent and sometimes not. We were wondering, how the Mixed volume ist implemented in polymake.
Thank You
Mathias

Re: Mixed volume -> edge matrix is singular?

Posted: 20 Aug 2021, 12:59
by joswig
polymake uses the normalized volume convention for mixed volumes (i.e., counting solutions of polynomial systems directly, as in the BKK theorem). You can see this, e.g., from

Code: Select all

polytope > print mixed_volume(cube(2,0),cube(2,0)); 2
The mixed volume of a polygon with itself equals the volume (i.e., area). In the example above we use the unit square, of Euclidean area 1, which has normalized area 2 = 2! * 1.

Re: Mixed volume -> edge matrix is singular?

Posted: 23 Aug 2021, 14:45
by Mathias
Thank You very much for Your help.