Mixed volume -> edge matrix is singular?

General discussion on polymake goes here.
Fabian91
Posts: 2
Joined: 13 Aug 2021, 23:07

Mixed volume -> edge matrix is singular?

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
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!

blorenz
Developer
Posts: 140
Joined: 10 Jan 2011, 17:21

Re: Mixed volume -> edge matrix is singular?

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

Mathias
Posts: 2
Joined: 20 Aug 2021, 08:48

Re: Mixed volume -> edge matrix is singular?

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

joswig
Main Author
Posts: 288
Joined: 24 Dec 2010, 11:10

Re: Mixed volume -> edge matrix is singular?

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.

Mathias
Posts: 2
Joined: 20 Aug 2021, 08:48

Re: Mixed volume -> edge matrix is singular?

Thank You very much for Your help.

Return to “General Discussion”