Ask Your Question

# combinatorial equivalence for Polyhedra / isomorphism for lattices Is there an easy way to check whether two polyhedra are combinatorial equivalent, i.e. have have isomorphic face lattices.

this does not work:

Poly1=Polyhedron(vertices=[[0,1],[1,0],[1,1]], base_ring=QQ)
Poly2=Polyhedron(vertices=[[2,0],[2,2],[0,2]], base_ring=QQ)
Poly1.face_lattice()==Poly2.face_lattice()


In this case this would work:

str(Poly1.faces(1))==str(Poly2.faces(1))


but what would be a good way to check this in general?

edit retag close merge delete

## 2 Answers

Sort by » oldest newest most voted

Hi,

sage:  Poly1.face_lattice().is_isomorphic(Poly2.face_lattice())
True


You can use X.is_isomorphic(Y) on graphs as well.

Vincent

more

## Comments

Hi,

Since version 7.6 of Sagemath, there is exactly the required method for Polyhedron objects:

sage: Poly1=Polyhedron(vertices=[[0,1],[1,0],[1,1]], base_ring=QQ)
sage: Poly2=Polyhedron(vertices=[[2,0],[2,2],[0,2]], base_ring=QQ)
sage: Poly1.is_combinatorially_isomorphic(Poly2)
True


It does not requires the computation of the full face lattice (checks vertex/facet adjacency graph isomorphism), hence should be faster than asking for isomorphic face lattices. The algorithm option can still be set to face_lattice to get another certificate option.

more

## Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

## Stats

Asked: 2014-07-03 10:20:12 +0200

Seen: 594 times

Last updated: Oct 09 '17