+ """
+ Return a polyhedron from two sequences of linear expressions: equalities
+ is a list of expressions equal to 0, and inequalities is a list of
+ expressions greater or equal to 0. For example, the polyhedron
+ 0 <= x <= 2, 0 <= y <= 2 can be constructed with:
+
+ >>> x, y = symbols('x y')
+ >>> square1 = Polyhedron([], [x, 2 - x, y, 2 - y])
+ >>> square1
+ And(0 <= x, x <= 2, 0 <= y, y <= 2)
+
+ It may be easier to use comparison operators LinExpr.__lt__(),
+ LinExpr.__le__(), LinExpr.__ge__(), LinExpr.__gt__(), or functions Lt(),
+ Le(), Eq(), Ge() and Gt(), using one of the following instructions:
+
+ >>> x, y = symbols('x y')
+ >>> square1 = (0 <= x) & (x <= 2) & (0 <= y) & (y <= 2)
+ >>> square1 = Le(0, x, 2) & Le(0, y, 2)
+
+ It is also possible to build a polyhedron from a string.
+
+ >>> square1 = Polyhedron('0 <= x <= 2, 0 <= y <= 2')
+
+ Finally, a polyhedron can be constructed from a GeometricObject
+ instance, calling the GeometricObject.aspolyedron() method. This way, it
+ is possible to compute the polyhedral hull of a Domain instance, i.e.,
+ the convex hull of two polyhedra:
+
+ >>> square1 = Polyhedron('0 <= x <= 2, 0 <= y <= 2')
+ >>> square2 = Polyhedron('1 <= x <= 3, 1 <= y <= 3')
+ >>> Polyhedron(square1 | square2)
+ And(0 <= x, 0 <= y, x <= y + 2, y <= x + 2, x <= 3, y <= 3)
+ """