Page 1 of 1

Is it possible to construct the face figure P/F in polymake?

Posted: 16 Feb 2015, 20:33
by done-with-fish
Let F be a face of a polytope P. Is it possible to construct the face figure P/F in polymake?

I'd like to construct all the face figures of P. My code is

Code: Select all

sub faceFigures { my ($p) = @_; my $v = $p -> VERTICES; my $hd = $p -> HASSE_DIAGRAM; my $dim = $p -> DIM; for (my $d = $dim; $d >= 0; --$d) { foreach (@{$hd -> nodes_of_dim($d)}) { my $f = new Polytope<Rational>(VERTICES=>$v->minor($hd->FACES->[$_],All)); my $fd = polarize( center($f) ); print $fd -> DIM; } } }
I'm getting incorrect results (I'm getting incorrect dimensions of P/F).

Re: Is it possible to construct the face figure P/F in polymake?

Posted: 16 Feb 2015, 23:00
by blorenz
First, there is nothing to compute the face figure directly.

Second, the polar of a polytope with non-zero codimension might have a lineality space corresponding (i.e. orthogonal) to the affine hull of the original polytope.
("might" because there seems to be a discrepancy / bug between the documentation and some of the code in polarize which we will look into)

You can make sure to get the right thing by taking the pointed_part:

Code: Select all

my $fd = pointed_part( polarize( center($f) ) );
Benjamin

Re: Is it possible to construct the face figure P/F in polymake?

Posted: 16 Feb 2015, 23:07
by done-with-fish
Thanks (again!) Benjamin.

Would projecting center($f) onto a full-dimensional polytope also do the trick?

Re: Is it possible to construct the face figure P/F in polymake?

Posted: 16 Feb 2015, 23:11
by blorenz
Yes that should do the trick as well, there is a projection_full client for it. But the resulting polytopes wont live in the same ambient space anymore.

Re: Is it possible to construct the face figure P/F in polymake?

Posted: 16 Feb 2015, 23:14
by done-with-fish
Ok.

Basically I'm trying to compute the g-polynomial of the poset [F,P] and the only way I can think of doing it is by computing the G_VECTOR of P/F. Modifying the ambient dimension doesn't change the polytope from a combinatorial perspective so this should work.