# joinSimplicial -- the join of two simplicial complexes

## Synopsis

• Usage:
joinSimplicial(D,E)
• Inputs:
• Outputs:
• , the join of D and E

## Description

The join of two simplicial complexes $D$ and $E$ is the simplicial complex whose faces are the union of faces of $D$ and $E$. If $D$ is the simplicial complex consisting of a single vertex then the join is the cone over $E$. If $D$ consists of two isolated vertices then the join is the suspension of $E$.

The cone over a bow-tie complex.

 i1 : R = QQ[x_1..x_5]; i2 : bowtie = simplicialComplex {x_1*x_2*x_3, x_3*x_4*x_5}; i3 : S = QQ[v]; i4 : singleton = simplicialComplex {v}; i5 : singleton * bowtie o5 = | vx_3x_4x_5 vx_1x_2x_3 | o5 : SimplicialComplex

The octahedron is the suspension of a square.

 i6 : R = QQ[a..d]; i7 : square = simplicialComplex {a*b, b*c, c*d, a*d}; i8 : S = QQ[p,q]; i9 : poles = simplicialComplex {p, q}; i10 : octahedron = joinSimplicial(poles,square) o10 = | qcd pcd qad pad qbc pbc qab pab | o10 : SimplicialComplex

The join of an exagon and a pentagon.

 i11 : R = ZZ[x_1..x_6]; i12 : exagon = simplicialComplex {x_1*x_2,x_2*x_3,x_3*x_4,x_4*x_5,x_5*x_6,x_1*x_6}; i13 : S = ZZ[y_1..y_5]; i14 : pentagon = simplicialComplex {y_1*y_2,y_2*y_3,y_3*y_4,y_4*y_5,y_1*y_5}; i15 : sphere = joinSimplicial(exagon,pentagon) o15 = | x_5x_6y_4y_5 x_1x_6y_4y_5 x_4x_5y_4y_5 x_3x_4y_4y_5 x_2x_3y_4y_5 x_1x_2y_4y_5 x_5x_6y_1y_5 x_1x_6y_1y_5 x_4x_5y_1y_5 x_3x_4y_1y_5 x_2x_3y_1y_5 x_1x_2y_1y_5 x_5x_6y_3y_4 x_1x_6y_3y_4 x_4x_5y_3y_4 x_3x_4y_3y_4 x_2x_3y_3y_4 x_1x_2y_3y_4 x_5x_6y_2y_3 x_1x_6y_2y_3 x_4x_5y_2y_3 x_3x_4y_2y_3 x_2x_3y_2y_3 x_1x_2y_2y_3 x_5x_6y_1y_2 x_1x_6y_1y_2 x_4x_5y_1y_2 x_3x_4y_1y_2 x_2x_3y_1y_2 x_1x_2y_1y_2 | o15 : SimplicialComplex i16 : fVector(sphere) o16 = HashTable{-1 => 1} 0 => 11 1 => 41 2 => 60 3 => 30 o16 : HashTable

## Caveat

The two simplicial complexes have to be defined over different polynomial rings.