# skeleton -- computes the k-skeleton of a Fan or PolyhedralComplex

## Synopsis

• Usage:
X = skeleton(k,F)
X = skeleton(k,PC)
• Inputs:
• Outputs:

## Description

For a Fan F and an integer k between 0 and the dimension of F, skeleton computes the k-skeleton of the Fan F, i.e. the Fan F1 generated by all cones of dimension k in F.

For example, we can look at the 2-skeleton of the fan of projective 3-space:

 i1 : P = convexHull matrix{{1,0,0,0},{0,1,0,0},{0,0,1,0}} o1 = P o1 : Polyhedron i2 : F = normalFan P o2 = F o2 : Fan i3 : F1 = skeleton(2,F) o3 = F1 o3 : Fan i4 : raysF = rays F o4 = | 1 0 -1 0 | | 0 1 -1 0 | | 0 0 -1 1 | 3 4 o4 : Matrix ZZ <--- ZZ i5 : apply(maxCones F1, mc -> raysF_mc) o5 = {| 1 0 |, | 1 -1 |, | 1 0 |, | 0 -1 |, | 0 0 |, | -1 0 |} | 0 1 | | 0 -1 | | 0 0 | | 1 -1 | | 1 0 | | -1 0 | | 0 0 | | 0 -1 | | 0 1 | | 0 -1 | | 0 1 | | -1 1 | o5 : List

For a PolyhedralComplex PC and an integer k between 0 and the dimension of PC, skeleton computes the k-skeleton of the PolyhedralComplex PC, i.e. the PolyhedralComplex PC1 generated by all polyhedra of dimension k in PC.

 i6 : PC = polyhedralComplex hypercube 3 o6 = PC o6 : PolyhedralComplex i7 : PC1 = skeleton(2,PC) o7 = PC1 o7 : PolyhedralComplex i8 : vertPC1 = vertices PC1 o8 = | -1 1 -1 1 -1 1 -1 1 | | -1 -1 1 1 -1 -1 1 1 | | -1 -1 -1 -1 1 1 1 1 | 3 8 o8 : Matrix QQ <--- QQ i9 : apply(maxPolyhedra PC1, mp -> vertPC1_(mp#0)) o9 = {| -1 1 |, | -1 -1 |, | -1 -1 |, | 1 1 |, | 1 1 |, | -1 1 |, | -1 | -1 -1 | | -1 1 | | -1 -1 | | -1 1 | | -1 -1 | | 1 1 | | 1 | -1 -1 | | -1 -1 | | -1 1 | | -1 -1 | | -1 1 | | -1 -1 | | -1 ------------------------------------------------------------------------ -1 |, | 1 1 |, | -1 1 |, | -1 -1 |, | 1 1 |, | -1 1 |} 1 | | 1 1 | | -1 -1 | | -1 1 | | -1 1 | | 1 1 | 1 | | -1 1 | | 1 1 | | 1 1 | | 1 1 | | 1 1 | o9 : List

## Ways to use skeleton :

• "skeleton(ZZ,Fan)"
• "skeleton(ZZ,PolyhedralComplex)"

## For the programmer

The object skeleton is .