Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| user_guide:tutorials:polytope_semantics [2019/01/25 13:40] – ↷ Page moved from user_guide:polytope_semantics to user_guide:tutorials:polytope_semantics 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 '' | + | |