Computes the dimension of a face. If F.indices is present (usually the case by construction) this requires no computations.

If F.indices is not present but a polynomial ring R can be associated to F (which is the case if F.ofComplex is present (or given as a second argument) or F is non-empty) then R.grading (which can be installed by addCokerGrading) is used to compute the dimension of the plane spanned by F.

i1 : R=QQ[x_0..x_4] o1 = R o1 : PolynomialRing |

i2 : addCokerGrading R o2 = | -1 -1 -1 -1 | | 1 0 0 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 0 1 | 5 4 o2 : Matrix ZZ <--- ZZ |

i3 : C=simplex R o3 = 4: x x x x x 0 1 2 3 4 o3 : complex of dim 4 embedded in dim 4 (printing facets) equidimensional, simplicial, F-vector {1, 5, 10, 10, 5, 1}, Euler = 0 |

i4 : bC=boundaryOfPolytope C o4 = 3: x x x x x x x x x x x x x x x x x x x x 0 1 2 3 0 1 2 4 0 1 3 4 0 2 3 4 1 2 3 4 o4 : complex of dim 3 embedded in dim 4 (printing facets) equidimensional, simplicial, F-vector {1, 5, 10, 10, 5, 0}, Euler = -1 |

i5 : F=bC.fc_2_0 o5 = x x x 0 1 2 o5 : face with 3 vertices |

i6 : dim(face vert F,R) o6 = 2 |

If F.indices is not present this returns a dimension as explained above but note that this does not check whether F is a face of the convex hull of the rows of R.grading.