Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorial:polytope_semantics [2017/07/18 16:02] – [Special Cases] oroehrig | user_guide:tutorials:polytope_semantics [2019/02/04 22:55] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Semantics of Cones and Polytopes ===== | + | {{page>.:latest:@FILEID@}} |
- | + | ||
- | ==== General Remarks ==== | + | |
- | + | ||
- | The general semantics of a [[https:// | + | |
- | + | ||
- | As an example an object of class [[https:// | + | |
- | + | ||
- | All big objects are immutable as mathematical objects. | + | |
- | + | ||
- | To view the list properties that currently constitute your object, you can use the '' | + | |
- | < | + | |
- | + | ||
- | polytope > $p-> | + | |
- | name: p | + | |
- | type: Polytope< | + | |
- | + | ||
- | POINTS | + | |
- | 1 2 | + | |
- | 1 3 | + | |
- | + | ||
- | + | ||
- | CONE_AMBIENT_DIM | + | |
- | 2 | + | |
- | </ | + | |
- | + | ||
- | ===== Objects of type '' | + | |
- | + | ||
- | Polytope theory is nice because this is where combinatorics meets metric geometry. | + | |
- | + | ||
- | ==== With coordinates: | + | |
- | + | ||
- | Being non-empty is recorded in the property '' | + | |
- | < | + | |
- | polytope > print cube(3)-> | + | |
- | 1 | + | |
- | </ | + | |
- | + | ||
- | A non-empty polytope in R^n is encoded as its homogenization in R^{n+1}. Hence, any non-empty polytope has at least one facet (which may be the far hyperplane [1, | + | |
- | + | ||
- | + | ||
- | ==== Without coordinates: | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Each property must clearly specify if it depends on the geometry or only on the combinatorics. | + | |
- | + | ||
- | ==== Special Cases ==== | + | |
- | + | ||
- | Most of what comes below is a consequence of the design decisions explained above. | + | |
- | + | ||
- | === Empty polytopes === | + | |
- | + | ||
- | With the introduction of the '' | + | |
- | This is a bit subtle as the cone over an empty polytope does not have a canonical definition. | + | |
- | + | ||
- | However, this was changed for the reason that often people generate systems of inequalities and then look at the feasible region. | + | |
- | + | ||
- | An empty polytope is recognized by '' | + | |
- | <code> | + | |
- | polytope > $e = new Polytope(POINTS=> | + | |
- | polytope > print $e-> | + | |
- | + | ||
- | polytope > print $e-> | + | |
- | + | ||
- | </ | + | |
- | This is totally different from having '' | + | |
- | < | + | |
- | polytope > $nc = new Polytope(VERTICES_IN_FACETS => cube(2)-> | + | |
- | | + | |
- | polymake: | + | |
- | </ | + | |
- | === Zero-dimensional polytopes === | + | |
- | + | ||
- | A zero-dimensional polytope is a single point. | + | |
- | < | + | |
- | polytope > $z = new Polytope(POINTS=> | + | |
- | + | ||
- | polytope > print $z-> | + | |
- | 1 0 0 | + | |
- | </ | + | |
- | + | ||
- | '' | + | |
- | < | + | |
- | polytope > print $z-> | + | |
- | {} | + | |
- | </ | + | |
- | + | ||
- | Such a polytope is both simple and simplicial, i.e. it is a simplex. | + | |
- | < | + | |
- | polytope > print $z-> | + | |
- | 1,1 | + | |
- | </ | + | |
- | + | ||
- | === Zero-dimensional fans === | + | |
- | + | ||
- | A zero-dimensional fan can e.g. be defined via | + | |
- | < | + | |
- | polytope > $f = new fan:: | + | |
- | </ | + | |
- | ==== Summing Up ==== | + | |
- | For instance we have four possibilities which can occur for '' | + | |
- | * does not exist (it is not listed in '' | + | |
- | * exists and is set to '' | + | |
- | * exists and is empty: So the polytope is empty. | + | |
- | * exists and is neither set to '' | + | |