In Macaulay2, every
simplicial complex is equipped with a polynomial ring, and the matrix of i-faces is defined over this ring.
loadPackage "SimplicialComplexes"; |
This triangulation of the real projective plane has 6 vertices, 15 edges and 10 triangles.
R = ZZ[a..f] |
D = simplicialComplex monomialIdeal(a*b*c,a*b*f,a*c*e,a*d*e,a*d*f,
b*c*d,b*d*e,b*e*f,c*d*f,c*e*f) |
faces(-1,D) |
faces(0,D) |
faces(1,D) |
faces(2,D) |
fVector D |
To avoid repeated computation, the matrix of
i-faces is cached at
D.cache.faces#i. This function will use this value if it has already been computed.