# faces -- the i-faces of a simplicial complex

## Synopsis

• Usage:
faces(i,D)
• Inputs:
• i, an integer, the dimension of the faces
• Optional inputs:
• useFaceClass => ..., default value false, Option to return faces in the class Face
• Outputs:
• , with one row, whose entries are squarefree monomials representing the faces of dimension i of D

## Description

In Macaulay2, every simplicial complex is equipped with a polynomial ring, and the matrix of i-faces is defined over this ring.

This triangulation of the real projective plane has 6 vertices, 15 edges and 10 triangles.

 i1 : R = ZZ[a..f] o1 = R o1 : PolynomialRing i2 : 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) o2 = | def aef bdf bcf acf cde bce abe acd abd | o2 : SimplicialComplex i3 : faces(-1,D) o3 = | 1 | 1 1 o3 : Matrix R <--- R i4 : faces(0,D) o4 = | a b c d e f | 1 6 o4 : Matrix R <--- R i5 : faces(1,D) o5 = | ab ac ad ae af bc bd be bf cd ce cf de df ef | 1 15 o5 : Matrix R <--- R i6 : faces(2,D) o6 = | abd abe acd acf aef bce bcf bdf cde def | 1 10 o6 : Matrix R <--- R i7 : fVector D o7 = HashTable{-1 => 1} 0 => 6 1 => 15 2 => 10 o7 : HashTable

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.