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.