GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1X6 [33X[0;0YFunctions and operations for [10XSCSimplicialComplex[110X[101X[1X[133X[101X234[1X6.1 [33X[0;0YCreating an [10XSCSimplicialComplex[110X[101X[1X object from a facet list[133X[101X56[33X[0;0YThis section contains functions to generate or to construct new simplicial7complexes. Some of them obtain new complexes from existing ones, some8generate new complexes from scratch.[133X910[1X6.1-1 SCFromFacets[101X1112[29X[2XSCFromFacets[102X( [3Xfacets[103X ) [32X method13[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X14otherwise.[133X1516[33X[0;0YConstructs a simplicial complex object from the given facet list. The facet17list [3Xfacets[103X has to be a duplicate free list (or set) which consists of18duplicate free entries, which are in turn lists or sets. For the vertex19labels (i. e. the entries of the list items of [3Xfacets[103X) an ordering via the20less-operator has to be defined. Following Section 4.11 of the [5XGAP[105X manual21this is the case for objects of the following families: rationals [10XIsRat[110X,22cyclotomics [10XIsCyclotomic[110X, finite field elements [10XIsFFE[110X, permutations [10XIsPerm[110X,23booleans [10XIsBool[110X, characters [10XIsChar[110X and lists (strings) [10XIsList[110X.[133X2425[33X[0;0YInternally the vertices are mapped to the standard labeling [22X1..n[122X, where [22Xn[122X is26the number of vertices of the complex and the vertex labels of the original27complex are stored in the property ''VertexLabels'', see [2XSCLabels[102X ([14X4.2-3[114X)28and the [10XSCRelabel..[110X functions like [2XSCRelabel[102X ([14X4.2-6[114X) or [2XSCRelabelStandard[102X29([14X4.2-7[114X).[133X3031[4X[32X Example [32X[104X32[4X[28X gap> c:=SCFromFacets([[1,2,5], [1,4,5], [1,4,6], [2,3,5], [3,4,6], [3,5,6]]);[128X[104X33[4X[28X [SimplicialComplex[128X[104X34[4X[28X [128X[104X35[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X36[4X[28X [128X[104X37[4X[28X Name="unnamed complex 9"[128X[104X38[4X[28X Dim=2[128X[104X39[4X[28X [128X[104X40[4X[28X /SimplicialComplex][128X[104X41[4X[28X gap> c:=SCFromFacets([["a","b","c"], ["a","b",1], ["a","c",1], ["b","c",1]]);[128X[104X42[4X[28X [SimplicialComplex[128X[104X43[4X[28X [128X[104X44[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X45[4X[28X [128X[104X46[4X[28X Name="unnamed complex 10"[128X[104X47[4X[28X Dim=2[128X[104X48[4X[28X [128X[104X49[4X[28X /SimplicialComplex][128X[104X50[4X[28X [128X[104X51[4X[32X[104X5253[1X6.1-2 SC[101X5455[29X[2XSC[102X( [3Xfacets[103X ) [32X method56[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X57otherwise.[133X5859[33X[0;0YA shorter function to create a simplicial complex from a facet list, just60calls [2XSCFromFacets[102X ([14X6.1-1[114X)([3Xfacets[103X).[133X6162[4X[32X Example [32X[104X63[4X[28X gap> c:=SC(Combinations([1..6],5));[128X[104X64[4X[28X [SimplicialComplex[128X[104X65[4X[28X [128X[104X66[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X67[4X[28X [128X[104X68[4X[28X Name="unnamed complex 11"[128X[104X69[4X[28X Dim=4[128X[104X70[4X[28X [128X[104X71[4X[28X /SimplicialComplex][128X[104X72[4X[28X [128X[104X73[4X[32X[104X7475[1X6.1-3 SCFromDifferenceCycles[101X7677[29X[2XSCFromDifferenceCycles[102X( [3Xdiffcycles[103X ) [32X method78[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X79otherwise.[133X8081[33X[0;0YCreates a simplicial complex object from the list of difference cycles82provided. If [3Xdiffcycles[103X is of length [22X1[122X the computation is equivalent to the83one in [2XSCDifferenceCycleExpand[102X ([14X6.6-8[114X). Otherwise the induced modulus (the84sum of all entries of a difference cycle) of all cycles has to be equal and85the union of all expanded difference cycles is returned.[133X8687[33X[0;0YA [22Xn[122X-dimensional difference cycle [22XD = (d_1 : ... : d_n+1)[122X induces a simplex [22X∆88= ( v_1 , ... , v_n+1 )[122X by [22Xv_1 = d_1[122X, [22Xv_i = v_i-1 + d_i[122X and a cyclic group89action by [22XZ_σ[122X where [22Xσ = ∑ d_i[122X is the modulus of [22XD[122X. The function returns the90[22XZ_σ[122X-orbit of [22X∆[122X.[133X9192[33X[0;0YNote that modulo operations in [5XGAP[105X are often a little bit cumbersome, since93all integer ranges usually start from [22X1[122X.[133X9495[4X[32X Example [32X[104X96[4X[28X gap> c:=SCFromDifferenceCycles([[1,1,6],[2,3,3]]);;[128X[104X97[4X[28X gap> c.F;[128X[104X98[4X[28X [ 8, 24, 16 ][128X[104X99[4X[28X gap> c.Homology;[128X[104X100[4X[28X [ [ 0, [ ] ], [ 2, [ ] ], [ 1, [ ] ] ][128X[104X101[4X[28X gap> c.Chi;[128X[104X102[4X[28X 0[128X[104X103[4X[28X gap> c.HasBoundary;[128X[104X104[4X[28X false[128X[104X105[4X[28X gap> SCIsPseudoManifold(c);[128X[104X106[4X[28X true[128X[104X107[4X[28X gap> SCIsManifold(c);[128X[104X108[4X[28X true[128X[104X109[4X[28X [128X[104X110[4X[32X[104X111112[1X6.1-4 SCFromGenerators[101X113114[29X[2XSCFromGenerators[102X( [3Xgroup[103X, [3Xgenerators[103X ) [32X method115[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X116otherwise.[133X117118[33X[0;0YConstructs a simplicial complex object from the set of [3Xgenerators[103X on which119the group [3Xgroup[103X acts, i.e. a complex which has [3Xgroup[103X as a subgroup of the120automorphism group and a facet list that consists of the [3Xgroup[103X-orbits121specified by the list of representatives passed in [3Xgenerators[103X. Note that122[3Xgroup[103X is not stored as an attribute of the resulting complex as it might123just be a subgroup of the actual automorphism group. Internally calls [10XOrbits[110X124and [2XSCFromFacets[102X ([14X6.1-1[114X).[133X125126[4X[32X Example [32X[104X127[4X[28X gap> #group: AGL(1,7) of order 42[128X[104X128[4X[28X gap> G:=Group([(2,6,5,7,3,4),(1,3,5,7,2,4,6)]);;[128X[104X129[4X[28X gap> c:=SCFromGenerators(G,[[ 1, 2, 4 ]]);[128X[104X130[4X[28X [SimplicialComplex[128X[104X131[4X[28X [128X[104X132[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X133[4X[28X [128X[104X134[4X[28X Name="complex from generators under unknown group"[128X[104X135[4X[28X Dim=2[128X[104X136[4X[28X [128X[104X137[4X[28X /SimplicialComplex][128X[104X138[4X[28X gap> SCLib.DetermineTopologicalType(c);[128X[104X139[4X[28X [SimplicialComplex[128X[104X140[4X[28X [128X[104X141[4X[28X Properties known: BoundaryEx, Dim, FacetsEx, HasBoundary, [128X[104X142[4X[28X IsPseudoManifold, IsPure, Name, SkelExs[], [128X[104X143[4X[28X Vertices.[128X[104X144[4X[28X [128X[104X145[4X[28X Name="complex from generators under unknown group"[128X[104X146[4X[28X Dim=2[128X[104X147[4X[28X HasBoundary=false[128X[104X148[4X[28X IsPseudoManifold=true[128X[104X149[4X[28X IsPure=true[128X[104X150[4X[28X [128X[104X151[4X[28X /SimplicialComplex][128X[104X152[4X[28X [128X[104X153[4X[32X[104X154155156[1X6.2 [33X[0;0YIsomorphism signatures[133X[101X157158[33X[0;0YThis section contains functions to construct simplicial complexes from159isomorphism signatures and to compress closed and strongly connected weak160pseudomanifolds to strings.[133X161162[33X[0;0YThe isomorphism signature of a closed and strongly connected weak163pseudomanifold is a representation which is invariant under relabelings of164the underlying complex and thus unique for a combinatorial type, i.e. two165complexes are isomorphic iff they have the same isomorphism signature.[133X166167[33X[0;0YTo compute the isomorphism signature of a closed and strongly connected weak168pseudomanifold [22XP[122X we have to compute all canonical labelings of [22XP[122X and chose169the one that is lexicographically minimal.[133X170171[33X[0;0YA canonical labeling of [22XP[122X is determined by chosing a facet [22X∆ ∈ P[122X and a172numbering [22X1, 2, ... , d+1[122X of the vertices of [22X∆[122X (which in turn determines a173numbering of the co-dimension one faces of [22X∆[122X by identifying each face with174its opposite vertex). This numbering can then be uniquely extended to a175numbering (and thus a labeling) on all vertices of [22XP[122X by the weak176pseudomanifold property: start at face [22X1[122X of [22X∆[122X and label the opposite vertex177of the unique other facet [22Xδ[122X meeting face [22X1[122X by [22Xd+2[122X, go on with face [22X2[122X of [22X∆[122X178and so on. After finishing with the first facet we now have a numbering on179[22Xδ[122X, repeat the procedure for [22Xδ[122X, etc. Whenever the opposite vertex of a face180is already labeled (and also, if the vertex occurs for the first time) we181note this label. Whenever a facet is already visited we skip this step and182keep track of the number of skippings between any two newly discovered183facets. This results in a sequence of [22Xm-1[122X vertex labels together with [22Xm-1[122X184skipping numbers (where [22Xm[122X denotes the number of facets in [22XP[122X) which then can185by encoded by characters via a lookup table.[133X186187[33X[0;0YNote that there are precisely [22X(d+1)! m[122X canonical labelings we have to check188in order to find the lexicographically minimal one. Thus, computing the189isomorphism signature of a large or highly dimensional complex can be time190consuming. If you are not interested in the isomorphism signature but just191in the compressed string representation use [2XSCExportToString[102X ([14X6.2-1[114X) which192just computes the first canonical labeling of the complex provided as193argument and returns the resulting string.[133X194195[33X[0;0YNote: Another way of storing and loading complexes is provided by simpcomp's196library functionality, see Section [14X13.1[114X for details.[133X197198[1X6.2-1 SCExportToString[101X199200[29X[2XSCExportToString[102X( [3Xc[103X ) [32X function201[6XReturns:[106X [33X[0;10Ystring upon success, [9Xfail[109X otherwise.[133X202203[33X[0;0YComputes one string representation of a closed and strongly connected weak204pseudomanifold. Compare [2XSCExportIsoSig[102X ([14X6.2-2[114X), which returns the205lexicographically minimal string representation.[133X206207[4X[32X Example [32X[104X208[4X[28X gap> c:=SCSeriesBdHandleBody(3,9);;[128X[104X209[4X[28X gap> s:=SCExportToString(c); time;[128X[104X210[4X[28X "deffg.h.f.fahaiciai.i.hai.fbgeiagihbhceceba.g.gag"[128X[104X211[4X[28X 0[128X[104X212[4X[28X gap> s:=SCExportIsoSig(c); time;[128X[104X213[4X[28X "deefgaf.hbi.gbh.eaiaeaicg.g.ibf.heg.iff.hggcfffgg"[128X[104X214[4X[28X 16[128X[104X215[4X[28X [128X[104X216[4X[32X[104X217218[1X6.2-2 SCExportIsoSig[101X219220[29X[2XSCExportIsoSig[102X( [3Xc[103X ) [32X method221[6XReturns:[106X [33X[0;10Ystring upon success, [9Xfail[109X otherwise.[133X222223[33X[0;0YComputes the isomorphism signature of a closed, strongly connected weak224pseudomanifold. The isomorphism signature is stored as an attribute of the225complex.[133X226227[4X[32X Example [32X[104X228[4X[28X gap> c:=SCSeriesBdHandleBody(3,9);;[128X[104X229[4X[28X gap> s:=SCExportIsoSig(c);[128X[104X230[4X[28X "deefgaf.hbi.gbh.eaiaeaicg.g.ibf.heg.iff.hggcfffgg"[128X[104X231[4X[28X [128X[104X232[4X[32X[104X233234[1X6.2-3 SCFromIsoSig[101X235236[29X[2XSCFromIsoSig[102X( [3Xstr[103X ) [32X method237[6XReturns:[106X [33X[0;10Ya SCSimplicialComplex object upon success, [9Xfail[109X otherwise.[133X238239[33X[0;0YComputes a simplicial complex from its isomorphism signature. If a file with240isomorphism signatures is provided a list of all complexes is returned.[133X241242[4X[32X Example [32X[104X243[4X[28X gap> s:="deeee";;[128X[104X244[4X[28X gap> c:=SCFromIsoSig(s);;[128X[104X245[4X[28X gap> SCIsIsomorphic(c,SCBdSimplex(4));[128X[104X246[4X[28X true[128X[104X247[4X[28X [128X[104X248[4X[32X[104X249250[4X[32X Example [32X[104X251[4X[28X gap> s:="deeee";;[128X[104X252[4X[28X gap> PrintTo("tmp.txt",s,"\n");;[128X[104X253[4X[28X gap> cc:=SCFromIsoSig("tmp.txt");[128X[104X254[4X[28X [ [SimplicialComplex[128X[104X255[4X[28X [128X[104X256[4X[28X Properties known: Dim, ExportIsoSig, FacetsEx, Name, Vertices.[128X[104X257[4X[28X [128X[104X258[4X[28X Name="unnamed complex 7"[128X[104X259[4X[28X Dim=3[128X[104X260[4X[28X [128X[104X261[4X[28X /SimplicialComplex] ][128X[104X262[4X[28X gap> cc[1].F;[128X[104X263[4X[28X [ 5, 10, 10, 5 ][128X[104X264[4X[28X [128X[104X265[4X[32X[104X266267268[1X6.3 [33X[0;0YGenerating some standard triangulations[133X[101X269270[1X6.3-1 SCBdCyclicPolytope[101X271272[29X[2XSCBdCyclicPolytope[102X( [3Xd[103X, [3Xn[103X ) [32X function273[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X274otherwise.[133X275276[33X[0;0YGenerates the boundary complex of the [3Xd[103X-dimensional cyclic polytope (a277combinatorial [22Xd-1[122X-sphere) on [3Xn[103X vertices, where [22Xn≥ d+2[122X.[133X278279[4X[32X Example [32X[104X280[4X[28X gap> SCBdCyclicPolytope(3,8); [128X[104X281[4X[28X [SimplicialComplex[128X[104X282[4X[28X [128X[104X283[4X[28X Properties known: Dim, EulerCharacteristic, FacetsEx, HasBoundary, [128X[104X284[4X[28X Homology, IsConnected, IsStronglyConnected, Name, [128X[104X285[4X[28X NumFaces[], TopologicalType, Vertices.[128X[104X286[4X[28X [128X[104X287[4X[28X Name="Bd(C_3(8))"[128X[104X288[4X[28X Dim=2[128X[104X289[4X[28X EulerCharacteristic=2[128X[104X290[4X[28X HasBoundary=false[128X[104X291[4X[28X Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X292[4X[28X IsConnected=true[128X[104X293[4X[28X IsStronglyConnected=true[128X[104X294[4X[28X TopologicalType="S^2"[128X[104X295[4X[28X [128X[104X296[4X[28X /SimplicialComplex][128X[104X297[4X[28X [128X[104X298[4X[32X[104X299300[1X6.3-2 SCBdSimplex[101X301302[29X[2XSCBdSimplex[102X( [3Xd[103X ) [32X function303[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X304otherwise.[133X305306[33X[0;0YGenerates the boundary of the [22Xd[122X-simplex [22X∆^d[122X, a combinatorial [22Xd-1[122X-sphere.[133X307308[4X[32X Example [32X[104X309[4X[28X gap> SCBdSimplex(5);[128X[104X310[4X[28X [SimplicialComplex[128X[104X311[4X[28X [128X[104X312[4X[28X Properties known: AutomorphismGroup, AutomorphismGroupSize, [128X[104X313[4X[28X AutomorphismGroupStructure, [128X[104X314[4X[28X AutomorphismGroupTransitivity, Dim, [128X[104X315[4X[28X EulerCharacteristic, FacetsEx, GeneratorsEx, [128X[104X316[4X[28X HasBoundary, Homology, IsConnected, [128X[104X317[4X[28X IsStronglyConnected, Name, NumFaces[], [128X[104X318[4X[28X TopologicalType, Vertices.[128X[104X319[4X[28X [128X[104X320[4X[28X Name="S^4_6"[128X[104X321[4X[28X Dim=4[128X[104X322[4X[28X AutomorphismGroupSize=720[128X[104X323[4X[28X AutomorphismGroupStructure="S6"[128X[104X324[4X[28X AutomorphismGroupTransitivity=6[128X[104X325[4X[28X EulerCharacteristic=2[128X[104X326[4X[28X HasBoundary=false[128X[104X327[4X[28X Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X328[4X[28X IsConnected=true[128X[104X329[4X[28X IsStronglyConnected=true[128X[104X330[4X[28X TopologicalType="S^4"[128X[104X331[4X[28X [128X[104X332[4X[28X /SimplicialComplex][128X[104X333[4X[28X [128X[104X334[4X[32X[104X335336[1X6.3-3 SCEmpty[101X337338[29X[2XSCEmpty[102X( ) [32X function339[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X340otherwise.[133X341342[33X[0;0YGenerates an empty complex (of dimension [22X-1[122X), i. e. a [10XSCSimplicialComplex[110X343object with empty facet list.[133X344345[4X[32X Example [32X[104X346[4X[28X gap> SCEmpty();[128X[104X347[4X[28X [SimplicialComplex[128X[104X348[4X[28X [128X[104X349[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X350[4X[28X [128X[104X351[4X[28X Name="empty complex"[128X[104X352[4X[28X Dim=-1[128X[104X353[4X[28X [128X[104X354[4X[28X /SimplicialComplex][128X[104X355[4X[28X [128X[104X356[4X[32X[104X357358[1X6.3-4 SCSimplex[101X359360[29X[2XSCSimplex[102X( [3Xd[103X ) [32X function361[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X362otherwise.[133X363364[33X[0;0YGenerates the [3Xd[103X-simplex.[133X365366[4X[32X Example [32X[104X367[4X[28X gap> SCSimplex(3);[128X[104X368[4X[28X [SimplicialComplex[128X[104X369[4X[28X [128X[104X370[4X[28X Properties known: Dim, EulerCharacteristic, FacetsEx, Name, [128X[104X371[4X[28X NumFaces[], TopologicalType, Vertices.[128X[104X372[4X[28X [128X[104X373[4X[28X Name="B^3_4"[128X[104X374[4X[28X Dim=3[128X[104X375[4X[28X EulerCharacteristic=1[128X[104X376[4X[28X TopologicalType="B^3"[128X[104X377[4X[28X [128X[104X378[4X[28X /SimplicialComplex][128X[104X379[4X[28X [128X[104X380[4X[32X[104X381382[1X6.3-5 SCSeriesTorus[101X383384[29X[2XSCSeriesTorus[102X( [3Xd[103X ) [32X function385[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X386otherwise.[133X387388[33X[0;0YGenerates the [22Xd[122X-torus described in [K{\86].[133X389390[4X[32X Example [32X[104X391[4X[28X gap> t4:=SCSeriesTorus(4);[128X[104X392[4X[28X [SimplicialComplex[128X[104X393[4X[28X [128X[104X394[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X395[4X[28X TopologicalType, Vertices.[128X[104X396[4X[28X [128X[104X397[4X[28X Name="4-torus T^4"[128X[104X398[4X[28X Dim=4[128X[104X399[4X[28X TopologicalType="T^4"[128X[104X400[4X[28X [128X[104X401[4X[28X /SimplicialComplex][128X[104X402[4X[28X gap> t4.Homology;[128X[104X403[4X[28X [ [ 0, [ ] ], [ 4, [ ] ], [ 6, [ ] ], [ 4, [ ] ], [ 1, [ ] ] ][128X[104X404[4X[28X [128X[104X405[4X[32X[104X406407[1X6.3-6 SCSurface[101X408409[29X[2XSCSurface[102X( [3Xg[103X, [3Xorient[103X ) [32X function410[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X411otherwise.[133X412413[33X[0;0YGenerates the surface of genus [3Xg[103X where the boolean argument [3Xorient[103X specifies414whether the surface is orientable or not. The surfaces have transitive415cyclic group actions and can be described using the minimum amount of416[22XO(operatornamelog (g))[122X memory. If [3Xorient[103X is [10Xtrue[110X and [3Xg[103X[22X≥ 50[122X or if [3Xorient[103X is417[10Xfalse[110X and [3Xg[103X[22X≥ 100[122X only the difference cycles of the surface are returned[133X418419[4X[32X Example [32X[104X420[4X[28X gap> c:=SCSurface(23,true); [128X[104X421[4X[28X [SimplicialComplex[128X[104X422[4X[28X [128X[104X423[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X424[4X[28X TopologicalType, Vertices.[128X[104X425[4X[28X [128X[104X426[4X[28X Name="S_23^or"[128X[104X427[4X[28X Dim=2[128X[104X428[4X[28X TopologicalType="(T^2)^#23"[128X[104X429[4X[28X [128X[104X430[4X[28X /SimplicialComplex][128X[104X431[4X[28X gap> c.Homology;[128X[104X432[4X[28X [ [ 0, [ ] ], [ 46, [ ] ], [ 1, [ ] ] ][128X[104X433[4X[28X gap> c.TopologicalType;[128X[104X434[4X[28X "(T^2)^#23"[128X[104X435[4X[28X gap> c:=SCSurface(23,false); [128X[104X436[4X[28X [SimplicialComplex[128X[104X437[4X[28X [128X[104X438[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X439[4X[28X TopologicalType, Vertices.[128X[104X440[4X[28X [128X[104X441[4X[28X Name="S_23^non"[128X[104X442[4X[28X Dim=2[128X[104X443[4X[28X TopologicalType="(RP^2)^#23"[128X[104X444[4X[28X [128X[104X445[4X[28X /SimplicialComplex][128X[104X446[4X[28X gap> c.Homology;[128X[104X447[4X[28X [ [ 0, [ ] ], [ 22, [ 2 ] ], [ 0, [ ] ] ][128X[104X448[4X[28X gap> c.TopologicalType;[128X[104X449[4X[28X "(RP^2)^#23"[128X[104X450[4X[28X [128X[104X451[4X[32X[104X452453[4X[32X Example [32X[104X454[4X[28X gap> dc:=SCSurface(345,true);[128X[104X455[4X[28X [ [ 1, 1, 1374 ], [ 2, 343, 1031 ], [ 343, 345, 688 ] ][128X[104X456[4X[28X gap> c:=SCFromDifferenceCycles(dc);[128X[104X457[4X[28X [SimplicialComplex[128X[104X458[4X[28X [128X[104X459[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, Vertices.[128X[104X460[4X[28X [128X[104X461[4X[28X Name="complex from diffcycles [ [ 1, 1, 1374 ], [ 2, 343, 1031 ], [ 343, 345,\[128X[104X462[4X[28X 688 ] ]"[128X[104X463[4X[28X Dim=2[128X[104X464[4X[28X [128X[104X465[4X[28X /SimplicialComplex][128X[104X466[4X[28X gap> c.Chi;[128X[104X467[4X[28X -688[128X[104X468[4X[28X gap> dc:=SCSurface(12345678910,true); time;[128X[104X469[4X[28X [ [ 1, 1, 24691357816 ], [ 2, 4, 24691357812 ], [ 3, 3, 24691357812 ], [128X[104X470[4X[28X [ 4, 12345678907, 12345678907 ] ][128X[104X471[4X[28X 0[128X[104X472[4X[28X [128X[104X473[4X[32X[104X474475[1X6.3-7 SCFVectorBdCrossPolytope[101X476477[29X[2XSCFVectorBdCrossPolytope[102X( [3Xd[103X ) [32X function478[6XReturns:[106X [33X[0;10Ya list of integers of size [10Xd + 1[110X upon success, [9Xfail[109X otherwise.[133X479480[33X[0;0YComputes the [22Xf[122X-vector of the [22Xd[122X-dimensional cross polytope without generating481the underlying complex.[133X482483[4X[32X Example [32X[104X484[4X[25Xgap>[125X [27XSCFVectorBdCrossPolytope(50);[127X[104X485[4X[28X[ 100, 4900, 156800, 3684800, 67800320, 1017004800, 12785203200, [128X[104X486[4X[28X 137440934400, 1282782054400, 10518812846080, 76500457062400, [128X[104X487[4X[28X 497252970905600, 2907017368371200, 15365663232819200, 73755183517532160, [128X[104X488[4X[28X 322678927889203200, 1290715711556812800, 4732624275708313600, [128X[104X489[4X[28X 15941471244491161600, 49418560857922600960, 141195888165493145600, [128X[104X490[4X[28X 372243705163572838400, 906332499528699084800, 2039248123939572940800, [128X[104X491[4X[28X 4241636097794311716864, 8156992495758291763200, 14501319992459185356800, [128X[104X492[4X[28X 23823597130468661657600, 36146147370366245273600, 50604606318512743383040, [128X[104X493[4X[28X 65296266217435797913600, 77539316133205010022400, 84588344872587283660800, [128X[104X494[4X[28X 84588344872587283660800, 77337915312079802204160, 64448262760066501836800, [128X[104X495[4X[28X 48771658304915190579200, 33370081998099867238400, 20535435075753764454400, [128X[104X496[4X[28X 11294489291664570449920, 5509506971543692902400, 2361217273518725529600, [128X[104X497[4X[28X 878592473867432755200, 279552150776001331200, 74547240206933688320, [128X[104X498[4X[28X 16205921784116019200, 2758454771764428800, 344806846470553600, [128X[104X499[4X[28X 28147497671065600, 1125899906842624 ][128X[104X500[4X[32X[104X501502[1X6.3-8 SCFVectorBdCyclicPolytope[101X503504[29X[2XSCFVectorBdCyclicPolytope[102X( [3Xd[103X, [3Xn[103X ) [32X function505[6XReturns:[106X [33X[0;10Ya list of integers of size [10Xd+1[110X upon success, [9Xfail[109X otherwise.[133X506507[33X[0;0YComputes the [22Xf[122X-vector of the [3Xd[103X-dimensional cyclic polytope on [3Xn[103X vertices, [22Xn≥508d+2[122X, without generating the underlying complex.[133X509510[4X[32X Example [32X[104X511[4X[25Xgap>[125X [27XSCFVectorBdCyclicPolytope(25,198); [127X[104X512[4X[28X[ 198, 19503, 1274196, 62117055, 2410141734, 77526225777, 2126433621312, [128X[104X513[4X[28X 50768602708824, 1071781612741840, 20256672480820776, 346204947854027808, [128X[104X514[4X[28X 5395027104058600008, 48354596155522298656, 262068846498922699590, [128X[104X515[4X[28X 940938105142239825104, 2379003007642628680027, 4396097923113038784642, [128X[104X516[4X[28X 6062663500381642763609, 6294919173643129209180, 4911378208855785427761, [128X[104X517[4X[28X 2840750019404460890298, 1183225500922302444568, 335951678686835900832, [128X[104X518[4X[28X 58265626173398052500, 4661250093871844200 ][128X[104X519[4X[32X[104X520521[1X6.3-9 SCFVectorBdSimplex[101X522523[29X[2XSCFVectorBdSimplex[102X( [3Xd[103X ) [32X function524[6XReturns:[106X [33X[0;10Ya list of integers of size [10Xd + 1[110X upon success, [9Xfail[109X otherwise.[133X525526[33X[0;0YComputes the [22Xf[122X-vector of the [22Xd[122X-simplex without generating the underlying527complex.[133X528529[4X[32X Example [32X[104X530[4X[28X gap> SCFVectorBdSimplex(100);[128X[104X531[4X[28X [ 101, 5050, 166650, 4082925, 79208745, 1267339920, 17199613200, [128X[104X532[4X[28X 202095455100, 2088319702700, 19212541264840, 158940114100040, [128X[104X533[4X[28X 1192050855750300, 8160963550905900, 51297485177122800, 297525414027312240, [128X[104X534[4X[28X 1599199100396803290, 7995995501984016450, 37314645675925410100, [128X[104X535[4X[28X 163006083742200475700, 668324943343021950370, 2577824781465941808570, [128X[104X536[4X[28X 9373908296239788394800, 32197337191432316660400, 104641345872155029146300, [128X[104X537[4X[28X 322295345286237489770604, 942094086221309585483304, [128X[104X538[4X[28X 2616928017281415515231400, 6916166902815169575968700, [128X[104X539[4X[28X 17409661513983013070541900, 41783187633559231369300560, [128X[104X540[4X[28X 95696978128474368620010960, 209337139656037681356273975, [128X[104X541[4X[28X 437704928371715151926754675, 875409856743430303853509350, [128X[104X542[4X[28X 1675784582908852295948146470, 3072271735332895875904935195, [128X[104X543[4X[28X 5397234129638871133346507775, 9090078534128625066688855200, [128X[104X544[4X[28X 14683973016669317415420458400, 22760158175837441993901710520, [128X[104X545[4X[28X 33862674359172779551902544920, 48375249084532542217003635600, [128X[104X546[4X[28X 66375341767149302111702662800, 87494768693060443692698964600, [128X[104X547[4X[28X 110826707011209895344085355160, 134919469404951176940625649760, [128X[104X548[4X[28X 157884485473879036845412994400, 177620046158113916451089618700, [128X[104X549[4X[28X 192119641762857909630770403900, 199804427433372226016001220056, [128X[104X550[4X[28X 199804427433372226016001220056, 192119641762857909630770403900, [128X[104X551[4X[28X 177620046158113916451089618700, 157884485473879036845412994400, [128X[104X552[4X[28X 134919469404951176940625649760, 110826707011209895344085355160, [128X[104X553[4X[28X 87494768693060443692698964600, 66375341767149302111702662800, [128X[104X554[4X[28X 48375249084532542217003635600, 33862674359172779551902544920, [128X[104X555[4X[28X 22760158175837441993901710520, 14683973016669317415420458400, [128X[104X556[4X[28X 9090078534128625066688855200, 5397234129638871133346507775, [128X[104X557[4X[28X 3072271735332895875904935195, 1675784582908852295948146470, [128X[104X558[4X[28X 875409856743430303853509350, 437704928371715151926754675, [128X[104X559[4X[28X 209337139656037681356273975, 95696978128474368620010960, [128X[104X560[4X[28X 41783187633559231369300560, 17409661513983013070541900, [128X[104X561[4X[28X 6916166902815169575968700, 2616928017281415515231400, [128X[104X562[4X[28X 942094086221309585483304, 322295345286237489770604, [128X[104X563[4X[28X 104641345872155029146300, 32197337191432316660400, 9373908296239788394800, [128X[104X564[4X[28X 2577824781465941808570, 668324943343021950370, 163006083742200475700, [128X[104X565[4X[28X 37314645675925410100, 7995995501984016450, 1599199100396803290, [128X[104X566[4X[28X 297525414027312240, 51297485177122800, 8160963550905900, 1192050855750300, [128X[104X567[4X[28X 158940114100040, 19212541264840, 2088319702700, 202095455100, 17199613200, [128X[104X568[4X[28X 1267339920, 79208745, 4082925, 166650, 5050, 101 ][128X[104X569[4X[28X [128X[104X570[4X[32X[104X571572573[1X6.4 [33X[0;0YGenerating infinite series of transitive triangulations[133X[101X574575[1X6.4-1 SCSeriesAGL[101X576577[29X[2XSCSeriesAGL[102X( [3Xp[103X ) [32X function578[6XReturns:[106X [33X[0;10Ya permutation group and a list of [22X5[122X-tuples of integers upon579success, [9Xfail[109X otherwise.[133X580581[33X[0;0YFor a given prime [3Xp[103X the automorphism group (AGL[22X(1,p)[122X) and the generators of582all members of the series of [22X2[122X-transitive combinatorial [22X4[122X-pseudomanifolds583with [3Xp[103X vertices from [Spr11a], Section 5.2, is computed. The affine linear584group AGL[22X(1,p)[122X is returned as the first argument. If no member of the series585with [3Xp[103X vertices exists only the group is returned.[133X586587[4X[32X Example [32X[104X588[4X[28X gap> gens:=SCSeriesAGL(17);[128X[104X589[4X[28X [ AGL(1,17), [ [ 1, 2, 4, 8, 16 ] ] ][128X[104X590[4X[28X gap> c:=SCFromGenerators(gens[1],gens[2]);;[128X[104X591[4X[28X gap> SCIsManifold(SCLink(c,1));[128X[104X592[4X[28X true[128X[104X593[4X[28X [128X[104X594[4X[32X[104X595596[4X[32X Example [32X[104X597[4X[28X gap> List([19..23],x->SCSeriesAGL(x)); [128X[104X598[4X[28X #I SCSeriesAGL: argument must be a prime > 13.[128X[104X599[4X[28X #I SCSeriesAGL: argument must be a prime > 13.[128X[104X600[4X[28X #I SCSeriesAGL: argument must be a prime > 13.[128X[104X601[4X[28X [ [ AGL(1,19), [ [ 1, 2, 10, 12, 17 ] ] ], fail, fail, fail, [128X[104X602[4X[28X [ AGL(1,23), [ [ 1, 2, 7, 9, 19 ], [ 1, 2, 4, 8, 22 ] ] ] ][128X[104X603[4X[28X gap> for i in [80000..80100] do if IsPrime(i) then Print(i,"\n"); fi; od;[128X[104X604[4X[28X 80021[128X[104X605[4X[28X 80039[128X[104X606[4X[28X 80051[128X[104X607[4X[28X 80071[128X[104X608[4X[28X 80077[128X[104X609[4X[28X gap> SCSeriesAGL(80021); [128X[104X610[4X[28X AGL(1,80021)[128X[104X611[4X[28X gap> SCSeriesAGL(80039); [128X[104X612[4X[28X [ AGL(1,80039), [ [ 1, 2, 6496, 73546, 78018 ] ] ][128X[104X613[4X[28X gap> SCSeriesAGL(80051); [128X[104X614[4X[28X [ AGL(1,80051), [ [ 1, 2, 31498, 37522, 48556 ] ] ][128X[104X615[4X[28X gap> SCSeriesAGL(80071); [128X[104X616[4X[28X AGL(1,80071)[128X[104X617[4X[28X gap> SCSeriesAGL(80077); [128X[104X618[4X[28X [ AGL(1,80077), [ [ 1, 2, 4126, 39302, 40778 ] ] ][128X[104X619[4X[28X [128X[104X620[4X[32X[104X621622[1X6.4-2 SCSeriesBrehmKuehnelTorus[101X623624[29X[2XSCSeriesBrehmKuehnelTorus[102X( [3Xn[103X ) [32X function625[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X626otherwise.[133X627628[33X[0;0YGenerates a neighborly 3-torus with [3Xn[103X vertices if [3Xn[103X is odd and a centrally629symmetric 3-torus if [3Xn[103X is even ([3Xn[103X[22X≥ 15[122X . The triangulations are taken from630[BK12][133X631632[4X[32X Example [32X[104X633[4X[28X gap> T3:=SCSeriesBrehmKuehnelTorus(15);[128X[104X634[4X[28X [SimplicialComplex[128X[104X635[4X[28X [128X[104X636[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X637[4X[28X TopologicalType, Vertices.[128X[104X638[4X[28X [128X[104X639[4X[28X Name="Neighborly 3-Torus NT3(15)"[128X[104X640[4X[28X Dim=3[128X[104X641[4X[28X TopologicalType="T^3"[128X[104X642[4X[28X [128X[104X643[4X[28X /SimplicialComplex][128X[104X644[4X[28X gap> T3.Homology;[128X[104X645[4X[28X [ [ 0, [ ] ], [ 3, [ ] ], [ 3, [ ] ], [ 1, [ ] ] ][128X[104X646[4X[28X gap> T3.Neighborliness;[128X[104X647[4X[28X 2[128X[104X648[4X[28X gap> T3:=SCSeriesBrehmKuehnelTorus(16);[128X[104X649[4X[28X [SimplicialComplex[128X[104X650[4X[28X [128X[104X651[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X652[4X[28X TopologicalType, Vertices.[128X[104X653[4X[28X [128X[104X654[4X[28X Name="Centrally symmetric 3-Torus SCT3(16)"[128X[104X655[4X[28X Dim=3[128X[104X656[4X[28X TopologicalType="T^3"[128X[104X657[4X[28X [128X[104X658[4X[28X /SimplicialComplex][128X[104X659[4X[28X gap> T3.Homology;[128X[104X660[4X[28X [ [ 0, [ ] ], [ 3, [ ] ], [ 3, [ ] ], [ 1, [ ] ] ][128X[104X661[4X[28X gap> T3.IsCentrallySymmetric;[128X[104X662[4X[28X true[128X[104X663[4X[28X [128X[104X664[4X[32X[104X665666[1X6.4-3 SCSeriesBdHandleBody[101X667668[29X[2XSCSeriesBdHandleBody[102X( [3Xd[103X, [3Xn[103X ) [32X function669[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X670otherwise.[133X671672[33X[0;0Y[10XSCSeriesBdHandleBody(d,n)[110X generates a transitive [22Xd[122X-dimensional sphere bundle673([22Xd ≥ 2[122X) with [22Xn[122X vertices ([22Xn ≥ 2d + 3[122X) which coincides with the boundary of674[2XSCSeriesHandleBody[102X ([14X6.4-9[114X)[10X(d,n)[110X. The sphere bundle is orientable if [22Xd[122X is675even or if [22Xd[122X is odd and [22Xn[122X is even, otherwise it is not orientable.676Internally calls [2XSCFromDifferenceCycles[102X ([14X6.1-3[114X).[133X677678[4X[32X Example [32X[104X679[4X[28X gap> c:=SCSeriesBdHandleBody(2,7);[128X[104X680[4X[28X [SimplicialComplex[128X[104X681[4X[28X [128X[104X682[4X[28X Properties known: Dim, FacetsEx, IsOrientable, Name, TopologicalType, [128X[104X683[4X[28X Vertices.[128X[104X684[4X[28X [128X[104X685[4X[28X Name="Sphere bundle S^1 x S^1"[128X[104X686[4X[28X Dim=2[128X[104X687[4X[28X IsOrientable=true[128X[104X688[4X[28X TopologicalType="S^1 x S^1"[128X[104X689[4X[28X [128X[104X690[4X[28X /SimplicialComplex][128X[104X691[4X[28X gap> SCLib.DetermineTopologicalType(c);[128X[104X692[4X[28X [SimplicialComplex[128X[104X693[4X[28X [128X[104X694[4X[28X Properties known: BoundaryEx, Dim, FacetsEx, HasBoundary, [128X[104X695[4X[28X IsOrientable, IsPseudoManifold, IsPure, Name, [128X[104X696[4X[28X SkelExs[], TopologicalType, Vertices.[128X[104X697[4X[28X [128X[104X698[4X[28X Name="Sphere bundle S^1 x S^1"[128X[104X699[4X[28X Dim=2[128X[104X700[4X[28X HasBoundary=false[128X[104X701[4X[28X IsOrientable=true[128X[104X702[4X[28X IsPseudoManifold=true[128X[104X703[4X[28X IsPure=true[128X[104X704[4X[28X TopologicalType="S^1 x S^1"[128X[104X705[4X[28X [128X[104X706[4X[28X /SimplicialComplex][128X[104X707[4X[28X gap> SCIsIsomorphic(c,SCSeriesHandleBody(3,7).Boundary);[128X[104X708[4X[28X true[128X[104X709[4X[28X [128X[104X710[4X[32X[104X711712[1X6.4-4 SCSeriesBid[101X713714[29X[2XSCSeriesBid[102X( [3Xi[103X, [3Xd[103X ) [32X function715[6XReturns:[106X [33X[0;10Ya simplicial complex upon success, [9Xfail[109X otherwise.[133X716717[33X[0;0YConstructs the complex [22XB(i,d)[122X as described in [KN12], cf. [Eff11a], [Spa99].718The complex [22XB(i,d)[122X is a [22Xi[122X-Hamiltonian subcomplex of the [22Xd[122X-cross polytope and719its boundary topologically is a sphere product [22XS^i× S^d-i-2[122X with vertex720transitive automorphism group.[133X721722[4X[32X Example [32X[104X723[4X[28X gap> b26:=SCSeriesBid(2,6);[128X[104X724[4X[28X [SimplicialComplex[128X[104X725[4X[28X [128X[104X726[4X[28X Properties known: Dim, FacetsEx, Name, Reference, Vertices.[128X[104X727[4X[28X [128X[104X728[4X[28X Name="B(2,6)"[128X[104X729[4X[28X Dim=5[128X[104X730[4X[28X [128X[104X731[4X[28X /SimplicialComplex][128X[104X732[4X[28X gap> s2s2:=SCBoundary(b26);[128X[104X733[4X[28X [SimplicialComplex[128X[104X734[4X[28X [128X[104X735[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X736[4X[28X [128X[104X737[4X[28X Name="Bd(B(2,6))"[128X[104X738[4X[28X Dim=4[128X[104X739[4X[28X [128X[104X740[4X[28X /SimplicialComplex][128X[104X741[4X[28X gap> SCFVector(s2s2);[128X[104X742[4X[28X [ 12, 60, 160, 180, 72 ][128X[104X743[4X[28X gap> SCAutomorphismGroup(s2s2); [128X[104X744[4X[28X TransitiveGroup(12,28) = D(4)[x]S(3)[128X[104X745[4X[28X gap> SCIsManifold(s2s2); [128X[104X746[4X[28X true[128X[104X747[4X[28X gap> SCHomology(s2s2);[128X[104X748[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 2, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X749[4X[28X [128X[104X750[4X[32X[104X751752[1X6.4-5 SCSeriesC2n[101X753754[29X[2XSCSeriesC2n[102X( [3Xn[103X ) [32X function755[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X756otherwise.[133X757758[33X[0;0YGenerates the combinatorial [22X3[122X-manifold [22XC_2n[122X, [22Xn ≥ 8[122X, with [22X2n[122X vertices from759[Spr11a], Section 4.5.3 and Section 5.2. The complex is homeomorphic to [22XS^2760× S^1[122X for [22Xn[122X odd and homeomorphic to [22XS^2 dtimes S^1[122X in case [22Xn[122X is an even761number. In the latter case [22XC_2n[122X is isomorphic to [22XD_2n[122X from [2XSCSeriesD2n[102X762([14X6.4-8[114X). The complexes are believed to appear as the vertex links of some of763the members of the series of [22X2[122X-transitive [22X4[122X-pseudomanifolds from [2XSCSeriesAGL[102X764([14X6.4-1[114X). Internally calls [2XSCFromDifferenceCycles[102X ([14X6.1-3[114X).[133X765766[4X[32X Example [32X[104X767[4X[28X gap> c:=SCSeriesC2n(8);[128X[104X768[4X[28X [SimplicialComplex[128X[104X769[4X[28X [128X[104X770[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X771[4X[28X TopologicalType, Vertices.[128X[104X772[4X[28X [128X[104X773[4X[28X Name="C_16 = { (1:1:3:11),(1:1:11:3),(1:3:1:11),(2:3:2:9),(2:5:2:7) }"[128X[104X774[4X[28X Dim=3[128X[104X775[4X[28X TopologicalType="S^2 ~ S^1"[128X[104X776[4X[28X [128X[104X777[4X[28X /SimplicialComplex][128X[104X778[4X[28X gap> SCGenerators(c); [128X[104X779[4X[28X [ [ [ 1, 2, 3, 6 ], 32 ], [ [ 1, 2, 5, 6 ], 16 ], [ [ 1, 3, 6, 8 ], 16 ], [128X[104X780[4X[28X [ [ 1, 3, 8, 10 ], 16 ] ][128X[104X781[4X[28X [128X[104X782[4X[32X[104X783784[4X[32X Example [32X[104X785[4X[28X gap> c:=SCSeriesC2n(8);;[128X[104X786[4X[28X gap> d:=SCSeriesD2n(8); [128X[104X787[4X[28X [SimplicialComplex[128X[104X788[4X[28X [128X[104X789[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X790[4X[28X TopologicalType, Vertices.[128X[104X791[4X[28X [128X[104X792[4X[28X Name="D_16 = { (1:1:1:13),(1:2:11:2),(3:4:5:4),(2:3:4:7),(2:7:4:3) }"[128X[104X793[4X[28X Dim=3[128X[104X794[4X[28X TopologicalType="S^2 ~ S^1"[128X[104X795[4X[28X [128X[104X796[4X[28X /SimplicialComplex][128X[104X797[4X[28X gap> SCIsIsomorphic(c,d);[128X[104X798[4X[28X true[128X[104X799[4X[28X gap> c:=SCSeriesC2n(11);;[128X[104X800[4X[28X gap> d:=SCSeriesD2n(11);;[128X[104X801[4X[28X gap> c.Homology;[128X[104X802[4X[28X [ [ 0, [ ] ], [ 1, [ ] ], [ 1, [ ] ], [ 1, [ ] ] ][128X[104X803[4X[28X gap> d.Homology;[128X[104X804[4X[28X [ [ 0, [ ] ], [ 1, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ] ][128X[104X805[4X[28X [128X[104X806[4X[32X[104X807808[1X6.4-6 SCSeriesConnectedSum[101X809810[29X[2XSCSeriesConnectedSum[102X( [3Xk[103X ) [32X function811[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X812otherwise.[133X813814[33X[0;0YGenerates a combinatorial manifold of type [22X(S^2 x S^1)^#k[122X for [22Xk[122X even. The815complex is a combinatorial [22X3[122X-manifold with transitive cyclic symmetry as816described in [BS14].[133X817818[4X[32X Example [32X[104X819[4X[28X gap> c:=SCSeriesConnectedSum(12);[128X[104X820[4X[28X [SimplicialComplex[128X[104X821[4X[28X [128X[104X822[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X823[4X[28X TopologicalType, Vertices.[128X[104X824[4X[28X [128X[104X825[4X[28X Name="(S^2xS^1)^#12)"[128X[104X826[4X[28X Dim=3[128X[104X827[4X[28X TopologicalType="(S^2xS^1)^#12)"[128X[104X828[4X[28X [128X[104X829[4X[28X /SimplicialComplex][128X[104X830[4X[28X gap> c.Homology;[128X[104X831[4X[28X [ [ 0, [ ] ], [ 12, [ ] ], [ 12, [ ] ], [ 1, [ ] ] ][128X[104X832[4X[28X gap> g:=SimplifiedFpGroup(SCFundamentalGroup(c));[128X[104X833[4X[28X <fp group of size infinity on the generators [128X[104X834[4X[28X [ [2,3], [2,14], [3,4], [6,7], [9,10], [10,11], [11,12], [12,13], [26,32], [128X[104X835[4X[28X [26,34], [29,31], [33,35] ]>[128X[104X836[4X[28X gap> RelatorsOfFpGroup(g);[128X[104X837[4X[28X [ ][128X[104X838[4X[28X [128X[104X839[4X[32X[104X840841[1X6.4-7 SCSeriesCSTSurface[101X842843[29X[2XSCSeriesCSTSurface[102X( [3Xl[103X[, [3Xj[103X], [3X2k[103X ) [32X function844[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X845otherwise.[133X846847[33X[0;0Y[10XSCSeriesCSTSurface(l,j,2k)[110X generates the centrally symmetric transitive848(cst) surface [22XS_(l,j,2k)[122X, [10XSCSeriesCSTSurface(l,2k)[110X generates the cst surface849[22XS_(l,2k)[122X from [Spr12], Section 4.4.[133X850851[4X[32X Example [32X[104X852[4X[28X gap> SCSeriesCSTSurface(2,4,14);[128X[104X853[4X[28X [SimplicialComplex[128X[104X854[4X[28X [128X[104X855[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, Vertices.[128X[104X856[4X[28X [128X[104X857[4X[28X Name="cst surface S_{(2,4,14)} = { (2:4:8),(2:8:4) }"[128X[104X858[4X[28X Dim=2[128X[104X859[4X[28X [128X[104X860[4X[28X /SimplicialComplex][128X[104X861[4X[28X gap> last.Homology;[128X[104X862[4X[28X [ [ 1, [ ] ], [ 4, [ ] ], [ 2, [ ] ] ][128X[104X863[4X[28X gap> SCSeriesCSTSurface(2,10); [128X[104X864[4X[28X [SimplicialComplex[128X[104X865[4X[28X [128X[104X866[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, Vertices.[128X[104X867[4X[28X [128X[104X868[4X[28X Name="cst surface S_{(2,10)} = { (2:2:6),(3:3:4) }"[128X[104X869[4X[28X Dim=2[128X[104X870[4X[28X [128X[104X871[4X[28X /SimplicialComplex][128X[104X872[4X[28X gap> last.Homology; [128X[104X873[4X[28X [ [ 0, [ ] ], [ 1, [ 2 ] ], [ 0, [ ] ] ][128X[104X874[4X[28X [128X[104X875[4X[32X[104X876877[1X6.4-8 SCSeriesD2n[101X878879[29X[2XSCSeriesD2n[102X( [3Xn[103X ) [32X function880[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X881otherwise.[133X882883[33X[0;0YGenerates the combinatorial [22X3[122X-manifold [22XD_2n[122X, [22Xn ≥ 8[122X, [22Xn ≠ 9[122X, with [22X2n[122X vertices884from [Spr11a], Section 4.5.3 and Section 5.2. The complex is homeomorphic to885[22XS^2 dtimes S^1[122X. In the case that [22Xn[122X is even [22XD_2n[122X is isomorphic to [22XC_2n[122X from886[2XSCSeriesC2n[102X ([14X6.4-5[114X). The complexes are believed to appear as the vertex887links of some of the members of the series of [22X2[122X-transitive [22X4[122X-pseudomanifolds888from [2XSCSeriesAGL[102X ([14X6.4-1[114X). Internally calls [2XSCFromDifferenceCycles[102X ([14X6.1-3[114X).[133X889890[4X[32X Example [32X[104X891[4X[28X gap> d:=SCSeriesD2n(15);[128X[104X892[4X[28X [SimplicialComplex[128X[104X893[4X[28X [128X[104X894[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X895[4X[28X TopologicalType, Vertices.[128X[104X896[4X[28X [128X[104X897[4X[28X Name="D_30 = { (1:1:1:27),(1:2:25:2),(3:11:5:11),(2:3:11:14),(2:14:11:3) }"[128X[104X898[4X[28X Dim=3[128X[104X899[4X[28X TopologicalType="S^2 ~ S^1"[128X[104X900[4X[28X [128X[104X901[4X[28X /SimplicialComplex][128X[104X902[4X[28X gap> SCAutomorphismGroup(d); [128X[104X903[4X[28X TransitiveGroup(30,14) = t30n14[128X[104X904[4X[28X gap> StructureDescription(last);[128X[104X905[4X[28X "D60"[128X[104X906[4X[28X [128X[104X907[4X[32X[104X908909[4X[32X Example [32X[104X910[4X[28X gap> c:=SCSeriesC2n(8);;[128X[104X911[4X[28X gap> d:=SCSeriesD2n(8); [128X[104X912[4X[28X [SimplicialComplex[128X[104X913[4X[28X [128X[104X914[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X915[4X[28X TopologicalType, Vertices.[128X[104X916[4X[28X [128X[104X917[4X[28X Name="D_16 = { (1:1:1:13),(1:2:11:2),(3:4:5:4),(2:3:4:7),(2:7:4:3) }"[128X[104X918[4X[28X Dim=3[128X[104X919[4X[28X TopologicalType="S^2 ~ S^1"[128X[104X920[4X[28X [128X[104X921[4X[28X /SimplicialComplex][128X[104X922[4X[28X gap> SCIsIsomorphic(c,d);[128X[104X923[4X[28X true[128X[104X924[4X[28X gap> c:=SCSeriesC2n(11);;[128X[104X925[4X[28X gap> d:=SCSeriesD2n(11);;[128X[104X926[4X[28X gap> c.Homology;[128X[104X927[4X[28X [ [ 0, [ ] ], [ 1, [ ] ], [ 1, [ ] ], [ 1, [ ] ] ][128X[104X928[4X[28X gap> d.Homology;[128X[104X929[4X[28X [ [ 0, [ ] ], [ 1, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ] ][128X[104X930[4X[28X [128X[104X931[4X[32X[104X932933[1X6.4-9 SCSeriesHandleBody[101X934935[29X[2XSCSeriesHandleBody[102X( [3Xd[103X, [3Xn[103X ) [32X function936[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X937otherwise.[133X938939[33X[0;0Y[10XSCSeriesHandleBody(d,n)[110X generates a transitive [22Xd[122X-dimensional handle body ([22Xd940≥ 3[122X) with [22Xn[122X vertices ([22Xn ≥ 2d + 1[122X). The handle body is orientable if [22Xd[122X is odd941or if [22Xd[122X and [22Xn[122X are even, otherwise it is not orientable. The complex equals942the difference cycle [22X(1 : ... : 1 : n-d)[122X To obtain the boundary complexes of943[10XSCSeriesHandleBody(d,n)[110X use the function [2XSCSeriesBdHandleBody[102X ([14X6.4-3[114X).944Internally calls [2XSCFromDifferenceCycles[102X ([14X6.1-3[114X).[133X945946[4X[32X Example [32X[104X947[4X[28X gap> c:=SCSeriesHandleBody(3,7);[128X[104X948[4X[28X [SimplicialComplex[128X[104X949[4X[28X [128X[104X950[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, IsOrientable, [128X[104X951[4X[28X Name, TopologicalType, Vertices.[128X[104X952[4X[28X [128X[104X953[4X[28X Name="Handle body B^2 x S^1"[128X[104X954[4X[28X Dim=3[128X[104X955[4X[28X IsOrientable=true[128X[104X956[4X[28X TopologicalType="B^2 x S^1"[128X[104X957[4X[28X [128X[104X958[4X[28X /SimplicialComplex][128X[104X959[4X[28X gap> SCAutomorphismGroup(c); [128X[104X960[4X[28X PrimitiveGroup(7,2) = D(2*7)[128X[104X961[4X[28X gap> bd:=SCBoundary(c);;[128X[104X962[4X[28X gap> SCAutomorphismGroup(bd);[128X[104X963[4X[28X PrimitiveGroup(7,4) = AGL(1, 7)[128X[104X964[4X[28X gap> SCIsIsomorphic(bd,SCSeriesBdHandleBody(2,7));[128X[104X965[4X[28X true[128X[104X966[4X[28X [128X[104X967[4X[32X[104X968969[1X6.4-10 SCSeriesHomologySphere[101X970971[29X[2XSCSeriesHomologySphere[102X( [3Xp[103X, [3Xq[103X, [3Xr[103X ) [32X function972[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X973otherwise.[133X974975[33X[0;0YGenerates a combinatorial Brieskorn homology sphere of type [22XΣ (p,q,r)[122X, [22Xp[122X, [22Xq[122X976and [22Xr[122X pairwise co-prime. The complex is a combinatorial [22X3[122X-manifold with977transitive cyclic symmetry as described in [BS14].[133X978979[4X[32X Example [32X[104X980[4X[28X gap> c:=SCSeriesHomologySphere(2,3,5);[128X[104X981[4X[28X [SimplicialComplex[128X[104X982[4X[28X [128X[104X983[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X984[4X[28X TopologicalType, Vertices.[128X[104X985[4X[28X [128X[104X986[4X[28X Name="Homology sphere Sigma(2,3,5)"[128X[104X987[4X[28X Dim=3[128X[104X988[4X[28X TopologicalType="Sigma(2,3,5)"[128X[104X989[4X[28X [128X[104X990[4X[28X /SimplicialComplex][128X[104X991[4X[28X gap> c.Homology;[128X[104X992[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X993[4X[28X gap> c:=SCSeriesHomologySphere(3,4,13);[128X[104X994[4X[28X [SimplicialComplex[128X[104X995[4X[28X [128X[104X996[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X997[4X[28X TopologicalType, Vertices.[128X[104X998[4X[28X [128X[104X999[4X[28X Name="Homology sphere Sigma(3,4,13)"[128X[104X1000[4X[28X Dim=3[128X[104X1001[4X[28X TopologicalType="Sigma(3,4,13)"[128X[104X1002[4X[28X [128X[104X1003[4X[28X /SimplicialComplex][128X[104X1004[4X[28X gap> c.Homology;[128X[104X1005[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X1006[4X[28X [128X[104X1007[4X[32X[104X10081009[1X6.4-11 SCSeriesK[101X10101011[29X[2XSCSeriesK[102X( [3Xi[103X, [3Xk[103X ) [32X function1012[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1013otherwise.[133X10141015[33X[0;0YGenerates the [3Xk[103X-th member ([22Xk ≥ 0[122X) of the series [3XK^i[103X ([22X1 ≤ i ≤ 396[122X) from1016[Spr11a]. The [22X396[122X series describe a complete classification of all dense1017series (i. e. there is a member of the series for every integer, [22Xf_0 (K^i1018(k+1) ) = f_0 (K^i (k)) +1[122X) of cyclic [22X3[122X-manifolds with a fixed number of1019difference cycles and at least one member with less than [22X23[122X vertices. See1020[2XSCSeriesL[102X ([14X6.4-13[114X) for a list of series of order [22X2[122X.[133X10211022[4X[32X Example [32X[104X1023[4X[28X gap> cc:=List([1..10],x->SCSeriesK(x,0));; [128X[104X1024[4X[28X gap> Set(List(cc,x->x.F)); [128X[104X1025[4X[28X [ [ 9, 36, 54, 27 ], [ 11, 55, 88, 44 ], [ 13, 65, 104, 52 ], [128X[104X1026[4X[28X [ 13, 78, 130, 65 ], [ 15, 90, 150, 75 ], [ 15, 105, 180, 90 ] ][128X[104X1027[4X[28X gap> cc:=List([1..10],x->SCSeriesK(x,10));;[128X[104X1028[4X[28X gap> gap> cc:=List([1..10],x->SCSeriesK(x,10));;[128X[104X1029[4X[28X gap> Set(List(cc,x->x.Homology));[128X[104X1030[4X[28X [ [ [ 0, [ ] ], [ 1, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ] ] ][128X[104X1031[4X[28X gap> Set(List(cc,x->x.IsManifold));[128X[104X1032[4X[28X [ true ][128X[104X1033[4X[28X [128X[104X1034[4X[32X[104X10351036[1X6.4-12 SCSeriesKu[101X10371038[29X[2XSCSeriesKu[102X( [3Xn[103X ) [32X function1039[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1040otherwise.[133X10411042[33X[0;0YComputes the symmetric orientable sphere bundle Ku[22X(n)[122X with [22X4n[122X vertices from1043[Spr11a], Section 4.5.2. The series is defined as a generalization of the1044slicings from [Spr11a], Section 3.3.[133X10451046[4X[32X Example [32X[104X1047[4X[28X gap> c:=SCSeriesKu(4); [128X[104X1048[4X[28X [SimplicialComplex[128X[104X1049[4X[28X [128X[104X1050[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1051[4X[28X [128X[104X1052[4X[28X Name="Sl_16 = G{ [1,2,5,9],[1,2,9,10],[1,5,9,16] }"[128X[104X1053[4X[28X Dim=3[128X[104X1054[4X[28X [128X[104X1055[4X[28X /SimplicialComplex][128X[104X1056[4X[28X gap> SCSlicing(c,[[1,2,3,4,9,10,11,12],[5,6,7,8,13,14,15,16]]);[128X[104X1057[4X[28X [NormalSurface[128X[104X1058[4X[28X [128X[104X1059[4X[28X Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X1060[4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X1061[4X[28X e, Vertices.[128X[104X1062[4X[28X [128X[104X1063[4X[28X Name="slicing [ [ 1, 2, 3, 4, 9, 10, 11, 12 ], [ 5, 6, 7, 8, 13, 14, 15, 16 ]\[128X[104X1064[4X[28X ] of Sl_16 = G{ [1,2,5,9],[1,2,9,10],[1,5,9,16] }"[128X[104X1065[4X[28X Dim=2[128X[104X1066[4X[28X FVector=[ 32, 80, 32, 16 ][128X[104X1067[4X[28X EulerCharacteristic=0[128X[104X1068[4X[28X IsOrientable=true[128X[104X1069[4X[28X TopologicalType="T^2"[128X[104X1070[4X[28X [128X[104X1071[4X[28X /NormalSurface][128X[104X1072[4X[28X gap> Mminus:=SCSpan(c,[1,2,3,4,9,10,11,12]);; [128X[104X1073[4X[28X gap> Mplus:=SCSpan(c,[5,6,7,8,13,14,15,16]);; [128X[104X1074[4X[28X gap> SCCollapseGreedy(Mminus).Facets;[128X[104X1075[4X[28X [ [ 1, 2 ], [ 1, 12 ], [ 2, 11 ], [ 11, 12 ] ][128X[104X1076[4X[28X gap> SCCollapseGreedy(Mplus).Facets; [128X[104X1077[4X[28X [ [ 7, 14 ], [ 7, 15 ], [ 8, 13 ], [ 8, 16 ], [ 13, 14 ], [ 15, 16 ] ][128X[104X1078[4X[28X [128X[104X1079[4X[32X[104X10801081[1X6.4-13 SCSeriesL[101X10821083[29X[2XSCSeriesL[102X( [3Xi[103X, [3Xk[103X ) [32X function1084[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1085otherwise.[133X10861087[33X[0;0YGenerates the [3Xk[103X-th member ([22Xk ≥ 0[122X) of the series [3XL^i[103X, [22X1 ≤ i ≤ 18[122X from1088[Spr11a]. The [22X18[122X series describe a complete classification of all series of1089cyclic [22X3[122X-manifolds with a fixed number of difference cycles of order [22X2[122X (i.1090e. there is a member of the series for every second integer, [22Xf_0 (L^i (k+1)1091) = f_0 (L^i (k)) +2[122X) and at least one member with less than [22X15[122X vertices1092where each series does not appear as a sub series of one of the series [22XK^i[122X1093from [2XSCSeriesK[102X ([14X6.4-11[114X).[133X10941095[4X[32X Example [32X[104X1096[4X[28X gap> cc:=List([1..18],x->SCSeriesL(x,0));;[128X[104X1097[4X[28X gap> Set(List(cc,x->x.F));[128X[104X1098[4X[28X [ [ 10, 45, 70, 35 ], [ 12, 60, 96, 48 ], [ 12, 66, 108, 54 ], [128X[104X1099[4X[28X [ 14, 77, 126, 63 ], [ 14, 84, 140, 70 ], [ 14, 91, 154, 77 ] ][128X[104X1100[4X[28X gap> cc:=List([1..18],x->SCSeriesL(x,10));; [128X[104X1101[4X[28X gap> Set(List(cc,x->x.IsManifold));[128X[104X1102[4X[28X [ true ][128X[104X1103[4X[28X [128X[104X1104[4X[32X[104X11051106[1X6.4-14 SCSeriesLe[101X11071108[29X[2XSCSeriesLe[102X( [3Xk[103X ) [32X function1109[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1110otherwise.[133X11111112[33X[0;0YGenerates the [3Xk[103X-th member ([22Xk ≥ 7[122X) of the series [10XLe[110X from [Spr11a], Section11134.5.1. The series can be constructed as the generalization of the boundary1114of a genus [22X1[122X handlebody decomposition of the manifold [10Xmanifold_3_14_1_5[110X from1115the classification in [Lut03].[133X11161117[4X[32X Example [32X[104X1118[4X[28X gap> c:=SCSeriesLe(7); [128X[104X1119[4X[28X [SimplicialComplex[128X[104X1120[4X[28X [128X[104X1121[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, Vertices.[128X[104X1122[4X[28X [128X[104X1123[4X[28X Name="Le_14 = { (1:1:1:11),(1:2:4:7),(1:4:2:7),(2:1:4:7),(2:5:2:5),(2:4:2:6) \[128X[104X1124[4X[28X }"[128X[104X1125[4X[28X Dim=3[128X[104X1126[4X[28X [128X[104X1127[4X[28X /SimplicialComplex][128X[104X1128[4X[28X gap> d:=SCLib.DetermineTopologicalType(c);;[128X[104X1129[4X[28X gap> SCReference(d);[128X[104X1130[4X[28X "manifold_3_14_1_5 in F.H.Lutz: 'The Manifold Page', http://www.math.tu-berlin\[128X[104X1131[4X[28X .de/diskregeom/stellar/,\r\nF.H.Lutz: 'Triangulated manifolds with few vertice\[128X[104X1132[4X[28X s and vertex-transitive group actions', Doctoral Thesis TU Berlin 1999, Shaker\[128X[104X1133[4X[28X -Verlag, Aachen 1999"[128X[104X1134[4X[28X [128X[104X1135[4X[32X[104X11361137[1X6.4-15 SCSeriesLensSpace[101X11381139[29X[2XSCSeriesLensSpace[102X( [3Xp[103X, [3Xq[103X ) [32X function1140[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1141otherwise.[133X11421143[33X[0;0YGenerates the lens space [22XL(p,q)[122X whenever [22Xp = (k+2)^2-1[122X and [22Xq = k+2[122X or [22Xp =11442k+3[122X and [22Xq = 1[122X for a [22Xk ≥ 0[122X and [9Xfail[109X otherwise. All complexes have a1145transitive cyclic automorphism group.[133X11461147[4X[32X Example [32X[104X1148[4X[28X gap> l154:=SCSeriesLensSpace(15,4);[128X[104X1149[4X[28X [SimplicialComplex[128X[104X1150[4X[28X [128X[104X1151[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X1152[4X[28X TopologicalType, Vertices.[128X[104X1153[4X[28X [128X[104X1154[4X[28X Name="Lens space L(15,4)"[128X[104X1155[4X[28X Dim=3[128X[104X1156[4X[28X TopologicalType="L(15,4)"[128X[104X1157[4X[28X [128X[104X1158[4X[28X /SimplicialComplex][128X[104X1159[4X[28X gap> l154.Homology;[128X[104X1160[4X[28X [ [ 0, [ ] ], [ 0, [ 15 ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X1161[4X[28X gap> g:=SimplifiedFpGroup(SCFundamentalGroup(l154));[128X[104X1162[4X[28X <fp group on the generators [ [2,5] ]>[128X[104X1163[4X[28X gap> StructureDescription(g);[128X[104X1164[4X[28X "C15"[128X[104X1165[4X[28X [128X[104X1166[4X[32X[104X11671168[4X[32X Example [32X[104X1169[4X[28X gap> l151:=SCSeriesLensSpace(15,1);[128X[104X1170[4X[28X [SimplicialComplex[128X[104X1171[4X[28X [128X[104X1172[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X1173[4X[28X TopologicalType, Vertices.[128X[104X1174[4X[28X [128X[104X1175[4X[28X Name="Lens space L(15,1)"[128X[104X1176[4X[28X Dim=3[128X[104X1177[4X[28X TopologicalType="L(15,1)"[128X[104X1178[4X[28X [128X[104X1179[4X[28X /SimplicialComplex][128X[104X1180[4X[28X gap> l151.Homology;[128X[104X1181[4X[28X [ [ 0, [ ] ], [ 0, [ 15 ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X1182[4X[28X gap> g:=SimplifiedFpGroup(SCFundamentalGroup(l151));[128X[104X1183[4X[28X <fp group on the generators [ [2,3] ]>[128X[104X1184[4X[28X gap> StructureDescription(g);[128X[104X1185[4X[28X "C15"[128X[104X1186[4X[28X [128X[104X1187[4X[32X[104X11881189[1X6.4-16 SCSeriesPrimeTorus[101X11901191[29X[2XSCSeriesPrimeTorus[102X( [3Xl[103X, [3Xj[103X, [3Xp[103X ) [32X function1192[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1193otherwise.[133X11941195[33X[0;0YGenerates the well known triangulated torus [22X{ (l:j:p-l-j),(l:p-l-j:j) }[122X with1196[22Xp[122X vertices, [22X3p[122X edges and [22X2p[122X triangles where [22Xj[122X has to be greater than [22Xl[122X and [22Xp[122X1197must be any prime number greater than [22X6[122X.[133X11981199[4X[32X Example [32X[104X1200[4X[28X gap> l:=List([2..19],x->SCSeriesPrimeTorus(1,x,41));; [128X[104X1201[4X[28X gap> Set(List(l,x->SCHomology(x)));[128X[104X1202[4X[28X [ [ [ 0, [ ] ], [ 2, [ ] ], [ 1, [ ] ] ] ][128X[104X1203[4X[28X [128X[104X1204[4X[32X[104X12051206[1X6.4-17 SCSeriesSeifertFibredSpace[101X12071208[29X[2XSCSeriesSeifertFibredSpace[102X( [3Xp[103X, [3Xq[103X, [3Xr[103X ) [32X function1209[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1210otherwise.[133X12111212[33X[0;0YGenerates a combinatorial Seifert fibred space of type[133X121312141215[33X[1;6Y[24X[33X[0;0YSFS [ (\mathbb{T}^2)^{(a-1)(b-1)} : (p/a,b_1)^b , (q/b,b_2)^a,1216(r/ab,b_3) ][133X [124X[133X121712181219[33X[0;0Ywhere [22Xp[122X and [22Xq[122X are co-prime, [22Xa = operatornamegcd (p,r)[122X, [22Xb = operatornamegcd1220(p,r)[122X, and the [22Xb_i[122X are given by the identity[133X122112221223[33X[1;6Y[24X[33X[0;0Y\frac{b_1}{p} + \frac{b_2}{q} + \frac{b_3}{r} = \frac{\pm ab}{pqr}.[133X [124X[133X122412251226[33X[0;0YThis [22X3[122X-parameter family of combinatorial [22X3[122X-manifolds contains the families1227generated by [2XSCSeriesHomologySphere[102X ([14X6.4-10[114X), [2XSCSeriesConnectedSum[102X ([14X6.4-6[114X)1228and parts of [2XSCSeriesLensSpace[102X ([14X6.4-15[114X), internally calls1229[9XSCIntFunc.SeifertFibredSpace(p,q,r)[109X. The complexes are combinatorial1230[22X3[122X-manifolds with transitive cyclic symmetry as described in [BS14].[133X12311232[4X[32X Example [32X[104X1233[4X[28X gap> c:=SCSeriesSeifertFibredSpace(2,3,15);[128X[104X1234[4X[28X [SimplicialComplex[128X[104X1235[4X[28X [128X[104X1236[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X1237[4X[28X TopologicalType, Vertices.[128X[104X1238[4X[28X [128X[104X1239[4X[28X Name="SFS [ S^2 : (2,b1)^3, (5,b3) ]"[128X[104X1240[4X[28X Dim=3[128X[104X1241[4X[28X TopologicalType="SFS [ S^2 : (2,b1)^3, (5,b3) ]"[128X[104X1242[4X[28X [128X[104X1243[4X[28X /SimplicialComplex][128X[104X1244[4X[28X gap> c.Homology;[128X[104X1245[4X[28X [ [ 0, [ ] ], [ 0, [ 2, 2 ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X1246[4X[28X [128X[104X1247[4X[32X[104X12481249[1X6.4-18 SCSeriesS2xS2[101X12501251[29X[2XSCSeriesS2xS2[102X( [3Xk[103X ) [32X function1252[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1253otherwise.[133X12541255[33X[0;0YGenerates a combinatorial version of [22X(S^2 × S^2)^# k[122X.[133X12561257[4X[32X Example [32X[104X1258[4X[28X gap> c:=SCSeriesS2xS2(3);[128X[104X1259[4X[28X [SimplicialComplex[128X[104X1260[4X[28X [128X[104X1261[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, [128X[104X1262[4X[28X TopologicalType, Vertices.[128X[104X1263[4X[28X [128X[104X1264[4X[28X Name="(S^2 x S^2)^(# 3)"[128X[104X1265[4X[28X Dim=4[128X[104X1266[4X[28X TopologicalType="(S^2 x S^2)^(# 3)"[128X[104X1267[4X[28X [128X[104X1268[4X[28X /SimplicialComplex][128X[104X1269[4X[28X gap> c.Homology;[128X[104X1270[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 6, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X1271[4X[28X [128X[104X1272[4X[32X[104X127312741275[1X6.5 [33X[0;0YA census of regular and chiral maps[133X[101X12761277[1X6.5-1 SCChiralMap[101X12781279[29X[2XSCChiralMap[102X( [3Xm[103X, [3Xg[103X ) [32X function1280[6XReturns:[106X [33X[0;10Ya [9XSCSimplicialComplex[109X object upon success, [9Xfail[109X otherwise.[133X12811282[33X[0;0YReturns the (hyperbolic) chiral map of vertex valence [3Xm[103X and genus [3Xg[103X if1283existent and [9Xfail[109X otherwise. The list was generated with the help of the1284classification of regular maps by Marston Conder [Con09]. Use [2XSCChiralMaps[102X1285([14X6.5-2[114X) to get a list of all chiral maps available.[133X12861287[4X[32X Example [32X[104X1288[4X[28X gap> SCChiralMaps();[128X[104X1289[4X[28X [ [ 7, 17 ], [ 8, 10 ], [ 8, 28 ], [ 8, 37 ], [ 8, 46 ], [ 8, 82 ], [128X[104X1290[4X[28X [ 9, 43 ], [ 10, 73 ], [ 12, 22 ], [ 12, 33 ], [ 12, 40 ], [ 12, 51 ], [128X[104X1291[4X[28X [ 12, 58 ], [ 12, 64 ], [ 12, 85 ], [ 12, 94 ], [ 12, 97 ], [ 18, 28 ] ][128X[104X1292[4X[28X gap> c:=SCChiralMap(8,10);[128X[104X1293[4X[28X [SimplicialComplex[128X[104X1294[4X[28X [128X[104X1295[4X[28X Properties known: Dim, FacetsEx, Name, TopologicalType, Vertices.[128X[104X1296[4X[28X [128X[104X1297[4X[28X Name="Chiral map {8,10}"[128X[104X1298[4X[28X Dim=2[128X[104X1299[4X[28X TopologicalType="(T^2)^#10"[128X[104X1300[4X[28X [128X[104X1301[4X[28X /SimplicialComplex][128X[104X1302[4X[28X gap> c.Homology;[128X[104X1303[4X[28X [ [ 0, [ ] ], [ 20, [ ] ], [ 1, [ ] ] ][128X[104X1304[4X[28X [128X[104X1305[4X[32X[104X13061307[1X6.5-2 SCChiralMaps[101X13081309[29X[2XSCChiralMaps[102X( ) [32X function1310[6XReturns:[106X [33X[0;10Ya list of lists upon success, [9Xfail[109X otherwise.[133X13111312[33X[0;0YReturns a list of all simplicial (hyperbolic) chiral maps of orientable1313genus up to [22X100[122X. The list was generated with the help of the classification1314of regular maps by Marston Conder [Con09]. Every chiral map is given by a1315[22X2[122X-tuple [22X(m,g)[122X where [22Xm[122X is the vertex valence and [22Xg[122X is the genus of the map.1316Use the [22X2[122X-tuples of the list together with [2XSCChiralMap[102X ([14X6.5-1[114X) to get the1317corresponding triangulations.[133X13181319[4X[32X Example [32X[104X1320[4X[28X gap> ll:=SCChiralMaps();[128X[104X1321[4X[28X [ [ 7, 17 ], [ 8, 10 ], [ 8, 28 ], [ 8, 37 ], [ 8, 46 ], [ 8, 82 ], [128X[104X1322[4X[28X [ 9, 43 ], [ 10, 73 ], [ 12, 22 ], [ 12, 33 ], [ 12, 40 ], [ 12, 51 ], [128X[104X1323[4X[28X [ 12, 58 ], [ 12, 64 ], [ 12, 85 ], [ 12, 94 ], [ 12, 97 ], [ 18, 28 ] ][128X[104X1324[4X[28X gap> c:=SCChiralMap(ll[18][1],ll[18][2]);[128X[104X1325[4X[28X [SimplicialComplex[128X[104X1326[4X[28X [128X[104X1327[4X[28X Properties known: Dim, FacetsEx, Name, TopologicalType, Vertices.[128X[104X1328[4X[28X [128X[104X1329[4X[28X Name="Chiral map {18,28}"[128X[104X1330[4X[28X Dim=2[128X[104X1331[4X[28X TopologicalType="(T^2)^#28"[128X[104X1332[4X[28X [128X[104X1333[4X[28X /SimplicialComplex][128X[104X1334[4X[28X gap> SCHomology(c);[128X[104X1335[4X[28X [ [ 0, [ ] ], [ 56, [ ] ], [ 1, [ ] ] ][128X[104X1336[4X[28X [128X[104X1337[4X[32X[104X13381339[1X6.5-3 SCChiralTori[101X13401341[29X[2XSCChiralTori[102X( [3Xn[103X ) [32X function1342[6XReturns:[106X [33X[0;10Ya [9XSCSimplicialComplex[109X object upon success, [9Xfail[109X otherwise.[133X13431344[33X[0;0YReturns a list of chiral triangulations of the torus with [22Xn[122X vertices. See1345[BK08] for details.[133X13461347[4X[32X Example [32X[104X1348[4X[28X gap> cc:=SCChiralTori(91);[128X[104X1349[4X[28X [ [SimplicialComplex[128X[104X1350[4X[28X [128X[104X1351[4X[28X Properties known: AutomorphismGroup, Dim, FacetsEx, Name, [128X[104X1352[4X[28X TopologicalType, Vertices.[128X[104X1353[4X[28X [128X[104X1354[4X[28X Name="{3,6}_(9,1)"[128X[104X1355[4X[28X Dim=2[128X[104X1356[4X[28X TopologicalType="T^2"[128X[104X1357[4X[28X [128X[104X1358[4X[28X /SimplicialComplex], [SimplicialComplex[128X[104X1359[4X[28X [128X[104X1360[4X[28X Properties known: AutomorphismGroup, Dim, FacetsEx, Name, [128X[104X1361[4X[28X TopologicalType, Vertices.[128X[104X1362[4X[28X [128X[104X1363[4X[28X Name="{3,6}_(6,5)"[128X[104X1364[4X[28X Dim=2[128X[104X1365[4X[28X TopologicalType="T^2"[128X[104X1366[4X[28X [128X[104X1367[4X[28X /SimplicialComplex] ][128X[104X1368[4X[28X gap> SCIsIsomorphic(cc[1],cc[2]);[128X[104X1369[4X[28X false[128X[104X1370[4X[28X [128X[104X1371[4X[32X[104X13721373[1X6.5-4 SCNrChiralTori[101X13741375[29X[2XSCNrChiralTori[102X( [3Xn[103X ) [32X function1376[6XReturns:[106X [33X[0;10Yan integer upon success, [9Xfail[109X otherwise.[133X13771378[33X[0;0YReturns the number of simplicial chiral maps on the torus with [22Xn[122X vertices,1379cf. [BK08] for details.[133X13801381[4X[32X Example [32X[104X1382[4X[28X gap> SCNrChiralTori(7);[128X[104X1383[4X[28X 1[128X[104X1384[4X[28X gap> SCNrChiralTori(343);[128X[104X1385[4X[28X 2[128X[104X1386[4X[28X [128X[104X1387[4X[32X[104X13881389[1X6.5-5 SCNrRegularTorus[101X13901391[29X[2XSCNrRegularTorus[102X( [3Xn[103X ) [32X function1392[6XReturns:[106X [33X[0;10Yan integer upon success, [9Xfail[109X otherwise.[133X13931394[33X[0;0YReturns the number of simplicial regular maps on the torus with [22Xn[122X vertices,1395cf. [BK08] for details.[133X13961397[4X[32X Example [32X[104X1398[4X[28X gap> SCNrRegularTorus(9);[128X[104X1399[4X[28X 1[128X[104X1400[4X[28X gap> SCNrRegularTorus(10);[128X[104X1401[4X[28X 0[128X[104X1402[4X[28X [128X[104X1403[4X[32X[104X14041405[1X6.5-6 SCRegularMap[101X14061407[29X[2XSCRegularMap[102X( [3Xm[103X, [3Xg[103X, [3Xorient[103X ) [32X function1408[6XReturns:[106X [33X[0;10Ya [9XSCSimplicialComplex[109X object upon success, [9Xfail[109X otherwise.[133X14091410[33X[0;0YReturns the (hyperbolic) regular map of vertex valence [3Xm[103X, genus [3Xg[103X and1411orientability [3Xorient[103X if existent and [9Xfail[109X otherwise. The triangulations were1412generated with the help of the classification of regular maps by Marston1413Conder [Con09]. Use [2XSCRegularMaps[102X ([14X6.5-7[114X) to get a list of all regular maps1414available.[133X14151416[4X[32X Example [32X[104X1417[4X[28X gap> SCRegularMaps(){[1..10]};[128X[104X1418[4X[28X [ [ 7, 3, true ], [ 7, 7, true ], [ 7, 8, false ], [ 7, 14, true ], [128X[104X1419[4X[28X [ 7, 15, false ], [ 7, 147, false ], [ 8, 3, true ], [ 8, 5, true ], [128X[104X1420[4X[28X [ 8, 8, true ], [ 8, 9, false ] ][128X[104X1421[4X[28X gap> c:=SCRegularMap(7,7,true);[128X[104X1422[4X[28X [SimplicialComplex[128X[104X1423[4X[28X [128X[104X1424[4X[28X Properties known: Dim, FacetsEx, Name, TopologicalType, Vertices.[128X[104X1425[4X[28X [128X[104X1426[4X[28X Name="Orientable regular map {7,7}"[128X[104X1427[4X[28X Dim=2[128X[104X1428[4X[28X TopologicalType="(T^2)^#7"[128X[104X1429[4X[28X [128X[104X1430[4X[28X /SimplicialComplex][128X[104X1431[4X[28X gap> g:=SCAutomorphismGroup(c);[128X[104X1432[4X[28X #I group not listed[128X[104X1433[4X[28X C2 x PSL(2,8)[128X[104X1434[4X[28X gap> Size(g);[128X[104X1435[4X[28X 1008[128X[104X1436[4X[28X [128X[104X1437[4X[32X[104X14381439[1X6.5-7 SCRegularMaps[101X14401441[29X[2XSCRegularMaps[102X( ) [32X function1442[6XReturns:[106X [33X[0;10Ya list of lists upon success, [9Xfail[109X otherwise.[133X14431444[33X[0;0YReturns a list of all simplicial (hyperbolic) regular maps of orientable1445genus up to [22X100[122X or non-orientable genus up to [22X200[122X. The list was generated1446with the help of the classification of regular maps by Marston Conder1447[Con09]. Every regular map is given by a [22X3[122X-tuple [22X(m,g,or)[122X where [22Xm[122X is the1448vertex valence, [22Xg[122X is the genus and [22Xor[122X is a boolean stating if the map is1449orientable or not. Use the [22X3[122X-tuples of the list together with [2XSCRegularMap[102X1450([14X6.5-6[114X) to get the corresponding triangulations. [22Xg[122X[133X14511452[4X[32X Example [32X[104X1453[4X[28X gap> ll:=SCRegularMaps(){[1..10]};[128X[104X1454[4X[28X [ [ 7, 3, true ], [ 7, 7, true ], [ 7, 8, false ], [ 7, 14, true ], [128X[104X1455[4X[28X [ 7, 15, false ], [ 7, 147, false ], [ 8, 3, true ], [ 8, 5, true ], [128X[104X1456[4X[28X [ 8, 8, true ], [ 8, 9, false ] ][128X[104X1457[4X[28X gap> c:=SCRegularMap(ll[5][1],ll[5][2],ll[5][3]);[128X[104X1458[4X[28X [SimplicialComplex[128X[104X1459[4X[28X [128X[104X1460[4X[28X Properties known: Dim, FacetsEx, Name, TopologicalType, Vertices.[128X[104X1461[4X[28X [128X[104X1462[4X[28X Name="Non-orientable regular map {7,15}"[128X[104X1463[4X[28X Dim=2[128X[104X1464[4X[28X TopologicalType="(RP^2)^#15"[128X[104X1465[4X[28X [128X[104X1466[4X[28X /SimplicialComplex][128X[104X1467[4X[28X gap> SCHomology(c);[128X[104X1468[4X[28X [ [ 0, [ ] ], [ 14, [ 2 ] ], [ 0, [ ] ] ][128X[104X1469[4X[28X gap> SCGenerators(c);[128X[104X1470[4X[28X [ [ [ 1, 4, 7 ], 182 ] ][128X[104X1471[4X[28X [128X[104X1472[4X[32X[104X14731474[1X6.5-8 SCRegularTorus[101X14751476[29X[2XSCRegularTorus[102X( [3Xn[103X ) [32X function1477[6XReturns:[106X [33X[0;10Ya [9XSCSimplicialComplex[109X object upon success, [9Xfail[109X otherwise.[133X14781479[33X[0;0YReturns a list of regular triangulations of the torus with [22Xn[122X vertices (the1480length of the list will be at most [22X1[122X). See [BK08] for details.[133X14811482[4X[32X Example [32X[104X1483[4X[28X gap> cc:=SCRegularTorus(9);[128X[104X1484[4X[28X [ [SimplicialComplex[128X[104X1485[4X[28X [128X[104X1486[4X[28X Properties known: AutomorphismGroup, Dim, FacetsEx, Name, [128X[104X1487[4X[28X TopologicalType, Vertices.[128X[104X1488[4X[28X [128X[104X1489[4X[28X Name="{3,6}_(3,0)"[128X[104X1490[4X[28X Dim=2[128X[104X1491[4X[28X TopologicalType="T^2"[128X[104X1492[4X[28X [128X[104X1493[4X[28X /SimplicialComplex] ][128X[104X1494[4X[28X gap> g:=SCAutomorphismGroup(cc[1]);[128X[104X1495[4X[28X Group([ (2,7)(3,4)(5,9), (1,4,2)(3,7,9)(5,8,6), (2,8,7,3,6,4)(5,9) ])[128X[104X1496[4X[28X gap> SCNumFaces(cc[1],0)*12 = Size(g);[128X[104X1497[4X[28X true[128X[104X1498[4X[28X [128X[104X1499[4X[32X[104X15001501[1X6.5-9 SCSeriesSymmetricTorus[101X15021503[29X[2XSCSeriesSymmetricTorus[102X( [3Xp[103X, [3Xq[103X ) [32X function1504[6XReturns:[106X [33X[0;10Ya [9XSCSimplicialComplex[109X object upon success, [9Xfail[109X otherwise.[133X15051506[33X[0;0YReturns the equivarient triangulation of the torus [22X{ 3,6 }_(p,q)[122X with1507fundamental domain [22X(p,q)[122X on the [22X2[122X-dimensional integer lattice. See [BK08]1508for details.[133X15091510[4X[32X Example [32X[104X1511[4X[28X gap> c:=SCSeriesSymmetricTorus(2,1);[128X[104X1512[4X[28X [SimplicialComplex[128X[104X1513[4X[28X [128X[104X1514[4X[28X Properties known: AutomorphismGroup, Dim, FacetsEx, Name, [128X[104X1515[4X[28X TopologicalType, Vertices.[128X[104X1516[4X[28X [128X[104X1517[4X[28X Name="{3,6}_(2,1)"[128X[104X1518[4X[28X Dim=2[128X[104X1519[4X[28X TopologicalType="T^2"[128X[104X1520[4X[28X [128X[104X1521[4X[28X /SimplicialComplex][128X[104X1522[4X[28X gap> SCFVector(c);[128X[104X1523[4X[28X [ 7, 21, 14 ][128X[104X1524[4X[28X [128X[104X1525[4X[32X[104X15261527[33X[0;0YSee also [2XSCSurface[102X ([14X6.3-6[114X) for example triangulations of all compact closed1528surfaces with transitive cyclic automorphism group.[133X152915301531[1X6.6 [33X[0;0YGenerating new complexes from old[133X[101X15321533[1X6.6-1 SCCartesianPower[101X15341535[29X[2XSCCartesianPower[102X( [3Xcomplex[103X, [3Xn[103X ) [32X method1536[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1537otherwise.[133X15381539[33X[0;0YThe new complex is [22XPL[122X-homeomorphic to [22Xn[122X times the cartesian product of1540[3Xcomplex[103X, of dimensions [22Xn ⋅ d[122X and has [22Xf_d^n ⋅ n ⋅ frac2n-12^n-1}![122X facets1541where [22Xd[122X denotes the dimension and [22Xf_d[122X denotes the number of facets of1542[3Xcomplex[103X. Note that the complex returned by the function is not the [22Xn[122X-fold1543cartesian product [3Xcomplex[103X[22X^n[122X of [3Xcomplex[103X (which, in general, is not1544simplicial) but a simplicial subdivision of [3Xcomplex[103X[22X^n[122X.[133X15451546[4X[32X Example [32X[104X1547[4X[28X gap> c:=SCBdSimplex(2);;[128X[104X1548[4X[28X gap> 4torus:=SCCartesianPower(c,4);[128X[104X1549[4X[28X [SimplicialComplex[128X[104X1550[4X[28X [128X[104X1551[4X[28X Properties known: Dim, FacetsEx, Name, TopologicalType, Vertices.[128X[104X1552[4X[28X [128X[104X1553[4X[28X Name="(S^1_3)^4"[128X[104X1554[4X[28X Dim=4[128X[104X1555[4X[28X TopologicalType="(S^1)^4"[128X[104X1556[4X[28X [128X[104X1557[4X[28X /SimplicialComplex][128X[104X1558[4X[28X gap> 4torus.Homology;[128X[104X1559[4X[28X [ [ 0, [ ] ], [ 4, [ ] ], [ 6, [ ] ], [ 4, [ ] ], [ 1, [ ] ] ][128X[104X1560[4X[28X gap> 4torus.Chi;[128X[104X1561[4X[28X 0[128X[104X1562[4X[28X gap> 4torus.F;[128X[104X1563[4X[28X [ 81, 1215, 4050, 4860, 1944 ][128X[104X1564[4X[28X [128X[104X1565[4X[32X[104X15661567[1X6.6-2 SCCartesianProduct[101X15681569[29X[2XSCCartesianProduct[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method1570[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1571otherwise.[133X15721573[33X[0;0YComputes the simplicial cartesian product of [3Xcomplex1[103X and [3Xcomplex2[103X where1574[3Xcomplex1[103X and [3Xcomplex2[103X are pure, simplicial complexes. The original vertex1575labeling of [3Xcomplex1[103X and [3Xcomplex2[103X is changed into the standard one. The new1576complex has vertex labels of type [22X[v_i, v_j][122X where [22Xv_i[122X is a vertex of1577[3Xcomplex1[103X and [22Xv_j[122X is a vertex of [3Xcomplex2[103X.[133X15781579[33X[0;0YIf [22Xn_i[122X, [22Xi=1,2[122X, are the number facets and [22Xd_i[122X, [22Xi=1,2[122X, are the dimensions of1580[3Xcomplexi[103X, then the new complex has [22Xn_1 ⋅ n_2 ⋅ d_1+d_2 choose d_1[122X facets.1581The number of vertices of the new complex equals the product of the numbers1582of vertices of the arguments.[133X15831584[4X[32X Example [32X[104X1585[4X[28X gap> c1:=SCBdSimplex(2);;[128X[104X1586[4X[28X gap> c2:=SCBdSimplex(3);;[128X[104X1587[4X[28X gap> c3:=SCCartesianProduct(c1,c2);[128X[104X1588[4X[28X [SimplicialComplex[128X[104X1589[4X[28X [128X[104X1590[4X[28X Properties known: Dim, FacetsEx, Name, TopologicalType, Vertices.[128X[104X1591[4X[28X [128X[104X1592[4X[28X Name="S^1_3xS^2_4"[128X[104X1593[4X[28X Dim=3[128X[104X1594[4X[28X TopologicalType="S^1xS^2"[128X[104X1595[4X[28X [128X[104X1596[4X[28X /SimplicialComplex][128X[104X1597[4X[28X gap> c3.Homology;[128X[104X1598[4X[28X [ [ 0, [ ] ], [ 1, [ ] ], [ 1, [ ] ], [ 1, [ ] ] ][128X[104X1599[4X[28X gap> c3.F;[128X[104X1600[4X[28X [ 12, 48, 72, 36 ][128X[104X1601[4X[28X [128X[104X1602[4X[32X[104X16031604[1X6.6-3 SCConnectedComponents[101X16051606[29X[2XSCConnectedComponents[102X( [3Xcomplex[103X ) [32X method1607[6XReturns:[106X [33X[0;10Ya list of simplicial complexes of type [10XSCSimplicialComplex[110X upon1608success, [9Xfail[109X otherwise.[133X16091610[33X[0;0YComputes all connected components of an arbitrary simplicial complex.[133X16111612[4X[32X Example [32X[104X1613[4X[28X gap> c:=SC([[1,2,3],[3,4,5],[4,5,6,7,8]]);;[128X[104X1614[4X[28X gap> SCRename(c,"connected complex");;[128X[104X1615[4X[28X gap> SCConnectedComponents(c);[128X[104X1616[4X[28X [ [SimplicialComplex[128X[104X1617[4X[28X [128X[104X1618[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1619[4X[28X [128X[104X1620[4X[28X Name="Connected component #1 of connected complex"[128X[104X1621[4X[28X Dim=4[128X[104X1622[4X[28X [128X[104X1623[4X[28X /SimplicialComplex] ][128X[104X1624[4X[28X gap> c:=SC([[1,2,3],[4,5],[6,7,8]]);;[128X[104X1625[4X[28X gap> SCRename(c,"non-connected complex");;[128X[104X1626[4X[28X gap> SCConnectedComponents(c);[128X[104X1627[4X[28X [ [SimplicialComplex[128X[104X1628[4X[28X [128X[104X1629[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1630[4X[28X [128X[104X1631[4X[28X Name="Connected component #1 of non-connected complex"[128X[104X1632[4X[28X Dim=2[128X[104X1633[4X[28X [128X[104X1634[4X[28X /SimplicialComplex], [SimplicialComplex[128X[104X1635[4X[28X [128X[104X1636[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1637[4X[28X [128X[104X1638[4X[28X Name="Connected component #2 of non-connected complex"[128X[104X1639[4X[28X Dim=1[128X[104X1640[4X[28X [128X[104X1641[4X[28X /SimplicialComplex], [SimplicialComplex[128X[104X1642[4X[28X [128X[104X1643[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1644[4X[28X [128X[104X1645[4X[28X Name="Connected component #3 of non-connected complex"[128X[104X1646[4X[28X Dim=2[128X[104X1647[4X[28X [128X[104X1648[4X[28X /SimplicialComplex] ][128X[104X1649[4X[28X [128X[104X1650[4X[32X[104X16511652[1X6.6-4 SCConnectedProduct[101X16531654[29X[2XSCConnectedProduct[102X( [3Xcomplex[103X, [3Xn[103X ) [32X method1655[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1656otherwise.[133X16571658[33X[0;0YIf [22Xn ≥ 2[122X, the function internally calls [22X1 ×[122X [2XSCConnectedSum[102X ([14X6.6-5[114X) and [22X(n-2)1659×[122X [2XSCConnectedSumMinus[102X ([14X6.6-6[114X).[133X16601661[4X[32X Example [32X[104X1662[4X[28X gap> SCLib.SearchByName("T^2"){[1..6]};[128X[104X1663[4X[28X [ [ 4, "T^2 (VT)" ], [ 5, "T^2 (VT)" ], [ 9, "T^2 (VT)" ], [ 10, "T^2 (VT)" ],[128X[104X1664[4X[28X [ 18, "T^2 (VT)" ], [ 20, "(T^2)#2" ] ][128X[104X1665[4X[28X gap> torus:=SCLib.Load(last[1][1]);;[128X[104X1666[4X[28X gap> genus10:=SCConnectedProduct(torus,10);[128X[104X1667[4X[28X [SimplicialComplex[128X[104X1668[4X[28X [128X[104X1669[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1670[4X[28X [128X[104X1671[4X[28X Name="T^2 (VT)#+-T^2 (VT)#+-T^2 (VT)#+-T^2 (VT)#+-T^2 (VT)#+-T^2 (VT)#+-T^2 (\[128X[104X1672[4X[28X VT)#+-T^2 (VT)#+-T^2 (VT)#+-T^2 (VT)"[128X[104X1673[4X[28X Dim=2[128X[104X1674[4X[28X [128X[104X1675[4X[28X /SimplicialComplex][128X[104X1676[4X[28X gap> genus10.Chi;[128X[104X1677[4X[28X -18[128X[104X1678[4X[28X gap> genus10.F;[128X[104X1679[4X[28X [ 43, 183, 122 ][128X[104X1680[4X[28X [128X[104X1681[4X[32X[104X16821683[1X6.6-5 SCConnectedSum[101X16841685[29X[2XSCConnectedSum[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method1686[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1687otherwise.[133X16881689[33X[0;0YIn a lexicographic ordering the smallest facet of both [3Xcomplex1[103X and [3Xcomplex2[103X1690is removed and the complexes are glued together along the resulting1691boundaries. The bijection used to identify the vertices of the boundaries1692differs from the one chosen in [2XSCConnectedSumMinus[102X ([14X6.6-6[114X) by a1693transposition. Thus, the topological type of [10XSCConnectedSum[110X is different1694from the one of [2XSCConnectedSumMinus[102X ([14X6.6-6[114X) whenever [3Xcomplex1[103X and [3Xcomplex2[103X1695do not allow an orientation reversing homeomorphism.[133X16961697[4X[32X Example [32X[104X1698[4X[28X gap> SCLib.SearchByName("T^2"){[1..6]};[128X[104X1699[4X[28X [ [ 4, "T^2 (VT)" ], [ 5, "T^2 (VT)" ], [ 9, "T^2 (VT)" ], [ 10, "T^2 (VT)" ],[128X[104X1700[4X[28X [ 18, "T^2 (VT)" ], [ 20, "(T^2)#2" ] ][128X[104X1701[4X[28X gap> torus:=SCLib.Load(last[1][1]);;[128X[104X1702[4X[28X gap> genus2:=SCConnectedSum(torus,torus);[128X[104X1703[4X[28X [SimplicialComplex[128X[104X1704[4X[28X [128X[104X1705[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1706[4X[28X [128X[104X1707[4X[28X Name="T^2 (VT)#+-T^2 (VT)"[128X[104X1708[4X[28X Dim=2[128X[104X1709[4X[28X [128X[104X1710[4X[28X /SimplicialComplex][128X[104X1711[4X[28X gap> genus2.Homology;[128X[104X1712[4X[28X [ [ 0, [ ] ], [ 4, [ ] ], [ 1, [ ] ] ][128X[104X1713[4X[28X gap> genus2.Chi;[128X[104X1714[4X[28X -2[128X[104X1715[4X[28X [128X[104X1716[4X[32X[104X17171718[4X[32X Example [32X[104X1719[4X[28X gap> SCLib.SearchByName("CP^2");[128X[104X1720[4X[28X [ [ 16, "CP^2 (VT)" ], [ 99, "CP^2#-CP^2" ], [ 100, "CP^2#CP^2" ], [128X[104X1721[4X[28X [ 400, "CP^2#(S^2xS^2)" ], [ 2486, "Gaifullin CP^2" ], [128X[104X1722[4X[28X [ 4401, "(S^3~S^1)#(CP^2)^{#5} (VT)" ] ][128X[104X1723[4X[28X gap> cp2:=SCLib.Load(last[1][1]);;[128X[104X1724[4X[28X gap> c1:=SCConnectedSum(cp2,cp2);;[128X[104X1725[4X[28X gap> c2:=SCConnectedSumMinus(cp2,cp2);;[128X[104X1726[4X[28X gap> c1.F=c2.F;[128X[104X1727[4X[28X true[128X[104X1728[4X[28X gap> c1.ASDet=c2.ASDet;[128X[104X1729[4X[28X true[128X[104X1730[4X[28X gap> SCIsIsomorphic(c1,c2);[128X[104X1731[4X[28X false[128X[104X1732[4X[28X gap> PrintArray(SCIntersectionForm(c1));[128X[104X1733[4X[28X [ [ 1, 0 ],[128X[104X1734[4X[28X [ 0, 1 ] ][128X[104X1735[4X[28X gap> PrintArray(SCIntersectionForm(c2));[128X[104X1736[4X[28X [ [ 1, 0 ],[128X[104X1737[4X[28X [ 0, -1 ] ][128X[104X1738[4X[28X [128X[104X1739[4X[32X[104X17401741[1X6.6-6 SCConnectedSumMinus[101X17421743[29X[2XSCConnectedSumMinus[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method1744[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1745otherwise.[133X17461747[33X[0;0YIn a lexicographic ordering the smallest facet of both [3Xcomplex1[103X and [3Xcomplex2[103X1748is removed and the complexes are glued together along the resulting1749boundaries. The bijection used to identify the vertices of the boundaries1750differs from the one chosen in [2XSCConnectedSum[102X ([14X6.6-5[114X) by a transposition.1751Thus, the topological type of [10XSCConnectedSumMinus[110X is different from the one1752of [2XSCConnectedSum[102X ([14X6.6-5[114X) whenever [3Xcomplex1[103X and [3Xcomplex2[103X do not allow an1753orientation reversing homeomorphism.[133X17541755[4X[32X Example [32X[104X1756[4X[28X gap> SCLib.SearchByName("T^2"){[1..6]};[128X[104X1757[4X[28X [ [ 4, "T^2 (VT)" ], [ 5, "T^2 (VT)" ], [ 9, "T^2 (VT)" ], [ 10, "T^2 (VT)" ],[128X[104X1758[4X[28X [ 18, "T^2 (VT)" ], [ 20, "(T^2)#2" ] ][128X[104X1759[4X[28X gap> torus:=SCLib.Load(last[1][1]);;[128X[104X1760[4X[28X gap> genus2:=SCConnectedSumMinus(torus,torus);[128X[104X1761[4X[28X [SimplicialComplex[128X[104X1762[4X[28X [128X[104X1763[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1764[4X[28X [128X[104X1765[4X[28X Name="T^2 (VT)#+-T^2 (VT)"[128X[104X1766[4X[28X Dim=2[128X[104X1767[4X[28X [128X[104X1768[4X[28X /SimplicialComplex][128X[104X1769[4X[28X gap> genus2.Homology;[128X[104X1770[4X[28X [ [ 0, [ ] ], [ 4, [ ] ], [ 1, [ ] ] ][128X[104X1771[4X[28X gap> genus2.Chi;[128X[104X1772[4X[28X -2[128X[104X1773[4X[28X [128X[104X1774[4X[32X[104X17751776[4X[32X Example [32X[104X1777[4X[28X gap> SCLib.SearchByName("CP^2");[128X[104X1778[4X[28X [ [ 16, "CP^2 (VT)" ], [ 99, "CP^2#-CP^2" ], [ 100, "CP^2#CP^2" ], [128X[104X1779[4X[28X [ 400, "CP^2#(S^2xS^2)" ], [ 2486, "Gaifullin CP^2" ], [128X[104X1780[4X[28X [ 4401, "(S^3~S^1)#(CP^2)^{#5} (VT)" ] ][128X[104X1781[4X[28X gap> cp2:=SCLib.Load(last[1][1]);;[128X[104X1782[4X[28X gap> c1:=SCConnectedSum(cp2,cp2);;[128X[104X1783[4X[28X gap> c2:=SCConnectedSumMinus(cp2,cp2);;[128X[104X1784[4X[28X gap> c1.F=c2.F;[128X[104X1785[4X[28X true[128X[104X1786[4X[28X gap> c1.ASDet=c2.ASDet;[128X[104X1787[4X[28X true[128X[104X1788[4X[28X gap> SCIsIsomorphic(c1,c2);[128X[104X1789[4X[28X false[128X[104X1790[4X[28X gap> PrintArray(SCIntersectionForm(c1));[128X[104X1791[4X[28X [ [ 1, 0 ],[128X[104X1792[4X[28X [ 0, 1 ] ][128X[104X1793[4X[28X gap> PrintArray(SCIntersectionForm(c2));[128X[104X1794[4X[28X [ [ 1, 0 ],[128X[104X1795[4X[28X [ 0, -1 ] ][128X[104X1796[4X[28X [128X[104X1797[4X[32X[104X17981799[1X6.6-7 SCDifferenceCycleCompress[101X18001801[29X[2XSCDifferenceCycleCompress[102X( [3Xsimplex[103X, [3Xmodulus[103X ) [32X function1802[6XReturns:[106X [33X[0;10Ylist with possibly duplicate entries upon success, [9Xfail[109X otherwise.[133X18031804[33X[0;0YA difference cycle is returned, i. e. a list of integer values of length1805[22X(d+1)[122X, if [22Xd[122X is the dimension of [3Xsimplex[103X, and a sum equal to [3Xmodulus[103X. In some1806sense this is the inverse operation of [2XSCDifferenceCycleExpand[102X ([14X6.6-8[114X).[133X18071808[4X[32X Example [32X[104X1809[4X[28X gap> sphere:=SCBdSimplex(4);;[128X[104X1810[4X[28X gap> gens:=SCGenerators(sphere);[128X[104X1811[4X[28X [ [ [ 1, 2, 3, 4 ], [ 5 ] ] ][128X[104X1812[4X[28X gap> diffcycle:=SCDifferenceCycleCompress(gens[1][1],5);[128X[104X1813[4X[28X [ 1, 1, 1, 2 ][128X[104X1814[4X[28X gap> c:=SCDifferenceCycleExpand([1,1,1,2]);;[128X[104X1815[4X[28X gap> c.Facets;[128X[104X1816[4X[28X [ [ 1, 2, 3, 4 ], [ 1, 2, 3, 5 ], [ 1, 2, 4, 5 ], [ 1, 3, 4, 5 ], [128X[104X1817[4X[28X [ 2, 3, 4, 5 ] ][128X[104X1818[4X[28X [128X[104X1819[4X[32X[104X18201821[1X6.6-8 SCDifferenceCycleExpand[101X18221823[29X[2XSCDifferenceCycleExpand[102X( [3Xdiffcycle[103X ) [32X function1824[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X1825otherwise.[133X18261827[33X[0;0Y[3Xdiffcycle[103X induces a simplex [22X∆ = ( v_1 , ... , v_n+1 )[122X by [22Xv_1 =[122X[3Xdiffcycle[1][103X,1828[22Xv_i = v_i-1 +[122X [3Xdiffcycle[i][103X and a cyclic group action by [22XZ_σ[122X where [22Xσ = ∑[122X1829[3Xdiffcycle[i][103X is the modulus of [10Xdiffcycle[110X. The function returns the [22XZ_σ[122X-orbit1830of [22X∆[122X.[133X18311832[33X[0;0YNote that modulo operations in [5XGAP[105X are often a little bit cumbersome, since1833all integer ranges usually start from [22X1[122X.[133X18341835[4X[32X Example [32X[104X1836[4X[28X gap> c:=SCDifferenceCycleExpand([1,1,2]);;[128X[104X1837[4X[28X gap> c.Facets;[128X[104X1838[4X[28X [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 3, 4 ], [ 2, 3, 4 ] ][128X[104X1839[4X[28X [128X[104X1840[4X[32X[104X18411842[1X6.6-9 SCStronglyConnectedComponents[101X18431844[29X[2XSCStronglyConnectedComponents[102X( [3Xcomplex[103X ) [32X method1845[6XReturns:[106X [33X[0;10Ya list of simplicial complexes of type [10XSCSimplicialComplex[110X upon1846success, [9Xfail[109X otherwise.[133X18471848[33X[0;0YComputes all strongly connected components of a pure simplicial complex.[133X18491850[4X[32X Example [32X[104X1851[4X[28X gap> c:=SC([[1,2,3],[2,3,4],[4,5,6],[5,6,7]]);;[128X[104X1852[4X[28X gap> comps:=SCStronglyConnectedComponents(c);[128X[104X1853[4X[28X [ [SimplicialComplex[128X[104X1854[4X[28X [128X[104X1855[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1856[4X[28X [128X[104X1857[4X[28X Name="Strongly connected component #1 of unnamed complex 82"[128X[104X1858[4X[28X Dim=2[128X[104X1859[4X[28X [128X[104X1860[4X[28X /SimplicialComplex], [SimplicialComplex[128X[104X1861[4X[28X [128X[104X1862[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X1863[4X[28X [128X[104X1864[4X[28X Name="Strongly connected component #2 of unnamed complex 82"[128X[104X1865[4X[28X Dim=2[128X[104X1866[4X[28X [128X[104X1867[4X[28X /SimplicialComplex] ][128X[104X1868[4X[28X gap> comps[1].Facets;[128X[104X1869[4X[28X [ [ 1, 2, 3 ], [ 2, 3, 4 ] ][128X[104X1870[4X[28X gap> comps[2].Facets;[128X[104X1871[4X[28X [ [ 4, 5, 6 ], [ 5, 6, 7 ] ][128X[104X1872[4X[28X [128X[104X1873[4X[32X[104X187418751876[1X6.7 [33X[0;0YSimplicial complexes from transitive permutation groups[133X[101X18771878[33X[0;0YBeginning from Version 1.3.0, [5Xsimpcomp[105X is able to generate triangulations1879from a prescribed transitive group action on its set of vertices. Note that1880the corresponding group is a subgroup of the full automorphism group, but1881not necessarily the full automorphism group of the triangulations obtained1882in this way. The methods and algorithms are based on the works of Frank H.1883Lutz [Lut03], [ManifoldPage] and in particular his program [10XMANIFOLD_VT[110X.[133X18841885[1X6.7-1 SCsFromGroupExt[101X18861887[29X[2XSCsFromGroupExt[102X( [3XG[103X, [3Xn[103X, [3Xd[103X, [3XobjectType[103X, [3Xcache[103X, [3XremoveDoubleEntries[103X, [3Xoutfile[103X, [3XmaxLinkSize[103X, [3Xsubset[103X ) [32X function1888[6XReturns:[106X [33X[0;10Ya list of simplicial complexes of type [10XSCSimplicialComplex[110X upon1889success, [9Xfail[109X otherwise.[133X18901891[33X[0;0YComputes all combinatorial [3Xd[103X-pseudomanifolds, [22Xd=2[122X / all strongly connected1892combinatorial [3Xd[103X-pseudomanifolds, [22Xd ≥ 3[122X, as a union of orbits of the group1893action of [3XG[103X on [10X(d+1)[110X-tuples on the set of [3Xn[103X vertices, see [Lut03]. The1894integer argument [3XobjectType[103X specifies, whether complexes exceeding the1895maximal size of each vertex link for combinatorial manifolds are sorted out1896([10XobjectType = 0[110X) or not ([10XobjectType = 1[110X, in this case some combinatorial1897pseudomanifolds won't be found, but no combinatorial manifold will be sorted1898out). The integer argument [3Xcache[103X specifies if the orbits are held in memory1899during the computation, a value of [10X0[110X means that the orbits are discarded,1900trading speed for memory, any other value means that they are kept, trading1901memory for speed. The boolean argument [3XremoveDoubleEntries[103X specifies whether1902the results are checked for combinatorial isomorphism, preventing isomorphic1903entries. The argument [3Xoutfile[103X specifies an output file containing all1904complexes found by the algorithm, if [3Xoutfile[103X is anything else than a string,1905not output file is generated. The argument [3XmaxLinkSize[103X determines a maximal1906link size of any output complex. If [3XmaxLinkSize[103X[22X=0[122X or if [3XmaxLinkSize[103X is1907anything else than an integer the argument is ignored. The argument [3Xsubset[103X1908specifies a set of orbits (given by a list of indices of [10XrepHigh[110X) which have1909to be contained in any output complex. If [3Xsubset[103X is anything else than a1910subset of [10XmatrixAllowedRows[110X the argument is ignored.[133X19111912[4X[32X Example [32X[104X1913[4X[28X gap> G:=PrimitiveGroup(8,5);[128X[104X1914[4X[28X PGL(2, 7)[128X[104X1915[4X[28X gap> Size(G);[128X[104X1916[4X[28X 336[128X[104X1917[4X[28X gap> Transitivity(G);[128X[104X1918[4X[28X 3[128X[104X1919[4X[28X gap> list:=SCsFromGroupExt(G,8,3,1,0,true,false,0,[]);[128X[104X1920[4X[28X [ "defgh.g.h.fah.e.gaf.h.eag.e.faf.a.haa.g.fah.a.gjhzh" ][128X[104X1921[4X[28X gap> c:=SCFromIsoSig(list[1]);[128X[104X1922[4X[28X [SimplicialComplex[128X[104X1923[4X[28X [128X[104X1924[4X[28X Properties known: Dim, ExportIsoSig, FacetsEx, Name, Vertices.[128X[104X1925[4X[28X [128X[104X1926[4X[28X Name="unnamed complex 6"[128X[104X1927[4X[28X Dim=3[128X[104X1928[4X[28X [128X[104X1929[4X[28X /SimplicialComplex][128X[104X1930[4X[28X gap> SCNeighborliness(c); [128X[104X1931[4X[28X 3[128X[104X1932[4X[28X gap> c.F;[128X[104X1933[4X[28X [ 8, 28, 56, 28 ][128X[104X1934[4X[28X gap> c.IsManifold; [128X[104X1935[4X[28X false[128X[104X1936[4X[28X gap> SCLibDetermineTopologicalType(SCLink(c,1));[128X[104X1937[4X[28X [SimplicialComplex[128X[104X1938[4X[28X [128X[104X1939[4X[28X Properties known: BoundaryEx, Dim, FacetsEx, HasBoundary, [128X[104X1940[4X[28X IsPseudoManifold, IsPure, Name, SkelExs[], [128X[104X1941[4X[28X Vertices.[128X[104X1942[4X[28X [128X[104X1943[4X[28X Name="lk([ 1 ]) in unnamed complex 6"[128X[104X1944[4X[28X Dim=2[128X[104X1945[4X[28X HasBoundary=false[128X[104X1946[4X[28X IsPseudoManifold=true[128X[104X1947[4X[28X IsPure=true[128X[104X1948[4X[28X [128X[104X1949[4X[28X /SimplicialComplex][128X[104X1950[4X[28X gap> # there are no 3-neighborly 3-manifolds with 8 vertices[128X[104X1951[4X[28X gap> list:=SCsFromGroupExt(PrimitiveGroup(8,5),8,3,0,0,true,false,0,[]); [128X[104X1952[4X[28X gap> [ ][128X[104X1953[4X[28X [128X[104X1954[4X[32X[104X19551956[1X6.7-2 SCsFromGroupByTransitivity[101X19571958[29X[2XSCsFromGroupByTransitivity[102X( [3Xn[103X, [3Xd[103X, [3Xk[103X, [3Xmaniflag[103X, [3XcomputeAutGroup[103X, [3XremoveDoubleEntries[103X ) [32X function1959[6XReturns:[106X [33X[0;10Ya list of simplicial complexes of type [10XSCSimplicialComplex[110X upon1960success, [9Xfail[109X otherwise.[133X19611962[33X[0;0YComputes all combinatorial [3Xd[103X-pseudomanifolds, [22Xd = 2[122X / all strongly connected1963combinatorial [3Xd[103X-pseudomanifolds, [22Xd ≥ 3[122X, as union of orbits of group actions1964for all [3Xk[103X-transitive groups on [10X(d+1)[110X-tuples on the set of [3Xn[103X vertices, see1965[Lut03]. The boolean argument [3Xmaniflag[103X specifies, whether the resulting1966complexes should be listed separately by combinatorial manifolds,1967combinatorial pseudomanifolds and complexes where the verification that the1968object is at least a combinatorial pseudomanifold failed. The boolean1969argument [3XcomputeAutGroup[103X specifies whether or not the real automorphism1970group should be computed (note that a priori the generating group is just a1971subgroup of the automorphism group). The boolean argument1972[3XremoveDoubleEntries[103X specifies whether the results are checked for1973combinatorial isomorphism, preventing isomorphic entries. Internally calls1974[2XSCsFromGroupExt[102X ([14X6.7-1[114X) for every group.[133X19751976[4X[32X Example [32X[104X1977[4X[28X gap> list:=SCsFromGroupByTransitivity(8,3,2,true,true,true);[128X[104X1978[4X[28X #I SCsFromGroupByTransitivity: Building list of groups...[128X[104X1979[4X[28X #I SCsFromGroupByTransitivity: ...2 groups found.[128X[104X1980[4X[28X #I degree 8: [ AGL(1, 8), PSL(2, 7) ][128X[104X1981[4X[28X #I SCsFromGroupByTransitivity: Processing dimension 3.[128X[104X1982[4X[28X #I SCsFromGroupByTransitivity: Processing degree 8.[128X[104X1983[4X[28X #I SCsFromGroupByTransitivity: 1 / 2 groups calculated, found 0 complexes.[128X[104X1984[4X[28X #I SCsFromGroupByTransitivity: Calculating 0 automorphism and homology groups...[128X[104X1985[4X[28X #I SCsFromGroupByTransitivity: ...all automorphism groups calculated for group 1 / 2.[128X[104X1986[4X[28X #I SCsFromGroupByTransitivity: 2 / 2 groups calculated, found 1 complexes.[128X[104X1987[4X[28X #I SCsFromGroupByTransitivity: Calculating 1 automorphism and homology groups...[128X[104X1988[4X[28X #I group not listed[128X[104X1989[4X[28X #I SCsFromGroupByTransitivity: 1 / 1 automorphism groups calculated.[128X[104X1990[4X[28X #I SCsFromGroupByTransitivity: ...all automorphism groups calculated for group 2 / 2.[128X[104X1991[4X[28X #I SCsFromGroupByTransitivity: ...done dim = 3, deg = 8, 0 manifolds, 1 pseudomanifolds, 0 candidates found.[128X[104X1992[4X[28X #I SCsFromGroupByTransitivity: ...done dim = 3.[128X[104X1993[4X[28X [ [ ], [ ], [ ] ][128X[104X1994[4X[28X [128X[104X1995[4X[32X[104X199619971998[1X6.8 [33X[0;0YThe classification of cyclic combinatorial 3-manifolds[133X[101X19992000[33X[0;0YThis section contains functions to access the classification of2001combinatorial 3-manifolds with transitive cyclic symmetry and up to 222002vertices as presented in [Spr14].[133X20032004[1X6.8-1 SCNrCyclic3Mflds[101X20052006[29X[2XSCNrCyclic3Mflds[102X( [3Xi[103X ) [32X function2007[6XReturns:[106X [33X[0;10Yinteger upon success, [9Xfail[109X otherwise.[133X20082009[33X[0;0YReturns the number of combinatorial 3-manifolds with transitive cyclic2010symmetry with [3Xi[103X vertices. See [Spr14] for more about the classification of2011combinatorial 3-manifolds with transitive cyclic symmetry up to [22X22[122X vertices.[133X20122013[4X[32X Example [32X[104X2014[4X[28X gap> SCNrCyclic3Mflds(22);[128X[104X2015[4X[28X 3090[128X[104X2016[4X[28X [128X[104X2017[4X[32X[104X20182019[1X6.8-2 SCCyclic3MfldTopTypes[101X20202021[29X[2XSCCyclic3MfldTopTypes[102X( [3Xi[103X ) [32X function2022[6XReturns:[106X [33X[0;10Ya list of strings upon success, [9Xfail[109X otherwise.[133X20232024[33X[0;0YReturns a list of all topological types that occur in the classification2025combinatorial 3-manifolds with transitive cyclic symmetry with [3Xi[103X vertices.2026See [Spr14] for more about the classification of combinatorial 3-manifolds2027with transitive cyclic symmetry up to [22X22[122X vertices.[133X20282029[4X[32X Example [32X[104X2030[4X[28X gap> SCCyclic3MfldTopTypes(19);[128X[104X2031[4X[28X [ "B2", "RP^2xS^1", "SFS[RP^2:(2,1)(3,1)]", "S^2~S^1", "S^3", "Sigma(2,3,7)", [128X[104X2032[4X[28X "T^3" ][128X[104X2033[4X[28X [128X[104X2034[4X[32X[104X20352036[1X6.8-3 SCCyclic3Mfld[101X20372038[29X[2XSCCyclic3Mfld[102X( [3Xi[103X, [3Xj[103X ) [32X function2039[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X2040otherwise.[133X20412042[33X[0;0YReturns the [3Xj[103Xth combinatorial 3-manifold with [3Xi[103X vertices in the2043classification of combinatorial 3-manifolds with transitive cyclic symmetry.2044See [Spr14] for more about the classification of combinatorial 3-manifolds2045with transitive cyclic symmetry up to [22X22[122X vertices.[133X20462047[4X[32X Example [32X[104X2048[4X[28X gap> SCCyclic3Mfld(15,34);[128X[104X2049[4X[28X [SimplicialComplex[128X[104X2050[4X[28X [128X[104X2051[4X[28X Properties known: AutomorphismGroupTransitivity, DifferenceCycles, [128X[104X2052[4X[28X Dim, FacetsEx, IsManifold, Name, TopologicalType, [128X[104X2053[4X[28X Vertices.[128X[104X2054[4X[28X [128X[104X2055[4X[28X Name="Cyclic 3-mfld (15,34): T^3"[128X[104X2056[4X[28X Dim=3[128X[104X2057[4X[28X AutomorphismGroupTransitivity=1[128X[104X2058[4X[28X TopologicalType="T^3"[128X[104X2059[4X[28X [128X[104X2060[4X[28X /SimplicialComplex][128X[104X2061[4X[28X [128X[104X2062[4X[32X[104X20632064[1X6.8-4 SCCyclic3MfldByType[101X20652066[29X[2XSCCyclic3MfldByType[102X( [3Xtype[103X ) [32X function2067[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X2068otherwise.[133X20692070[33X[0;0YReturns the smallest combinatorial 3-manifolds in the classification of2071combinatorial 3-manifolds with transitive cyclic symmetry of topological2072type [3Xtype[103X. See [Spr14] for more about the classification of combinatorial20733-manifolds with transitive cyclic symmetry up to [22X22[122X vertices.[133X20742075[4X[32X Example [32X[104X2076[4X[28X gap> SCCyclic3MfldByType("T^3");[128X[104X2077[4X[28X [SimplicialComplex[128X[104X2078[4X[28X [128X[104X2079[4X[28X Properties known: AutomorphismGroupTransitivity, DifferenceCycles, [128X[104X2080[4X[28X Dim, FacetsEx, IsManifold, Name, TopologicalType, [128X[104X2081[4X[28X Vertices.[128X[104X2082[4X[28X [128X[104X2083[4X[28X Name="Cyclic 3-mfld (15,34): T^3"[128X[104X2084[4X[28X Dim=3[128X[104X2085[4X[28X AutomorphismGroupTransitivity=1[128X[104X2086[4X[28X TopologicalType="T^3"[128X[104X2087[4X[28X [128X[104X2088[4X[28X /SimplicialComplex][128X[104X2089[4X[28X [128X[104X2090[4X[32X[104X20912092[1X6.8-5 SCCyclic3MfldListOfGivenType[101X20932094[29X[2XSCCyclic3MfldListOfGivenType[102X( [3Xtype[103X ) [32X function2095[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X2096otherwise.[133X20972098[33X[0;0YReturns a list of indices [22X{ (i_1, j_1) , (i_1, j_1) , ... (i_n, j_n) }[122X of2099all combinatorial 3-manifolds in the classification of combinatorial21003-manifolds with transitive cyclic symmetry of topological type [3Xtype[103X.2101Complexes can be obtained by calling [2XSCCyclic3Mfld[102X ([14X6.8-3[114X) using these2102indices. See [Spr14] for more about the classification of combinatorial21033-manifolds with transitive cyclic symmetry up to [22X22[122X vertices.[133X21042105[4X[32X Example [32X[104X2106[4X[28X gap> SCCyclic3MfldListOfGivenType("Sigma(2,3,7)");[128X[104X2107[4X[28X [ [ 19, 100 ], [ 19, 118 ], [ 19, 120 ], [ 19, 130 ] ][128X[104X2108[4X[28X [128X[104X2109[4X[32X[104X211021112112[1X6.9 [33X[0;0YComputing properties of simplicial complexes[133X[101X21132114[33X[0;0YThe following functions compute basic properties of simplicial complexes of2115type [10XSCSimplicialComplex[110X. None of these functions alter the complex. All2116properties are returned as immutable objects (this ensures data consistency2117of the cached properties of a simplicial complex). Use [10XShallowCopy[110X or the2118internal [5Xsimpcomp[105X function [10XSCIntFunc.DeepCopy[110X to get a mutable copy.[133X21192120[33X[0;0YNote: every simplicial complex is internally stored with the standard vertex2121labeling from [22X1[122X to [22Xn[122X and a maptable to restore the original vertex labeling.2122Thus, we have to relabel some of the complex properties (facets, face2123lattice, generators, etc...) whenever we want to return them to the user. As2124a consequence, some of the functions exist twice, one of them with the2125appendix "Ex". These functions return the standard labeling whereas the2126other ones relabel the result to the original labeling.[133X21272128[1X6.9-1 SCAltshulerSteinberg[101X21292130[29X[2XSCAltshulerSteinberg[102X( [3Xcomplex[103X ) [32X method2131[6XReturns:[106X [33X[0;10Ya non-negative integer upon success, [9Xfail[109X otherwise.[133X21322133[33X[0;0YComputes the Altshuler-Steinberg determinant.[133X21342135[33X[0;0YDefinition: Let [22Xv_i[122X, [22X1 ≤ i ≤ n[122X be the vertices and let [22XF_j[122X, [22X1 ≤ j ≤ m[122X be the2136facets of a pure simplicial complex [22XC[122X, then the determinant of [22XAS ∈ Z^n × m[122X,2137[22XAS_ij=1[122X if [22Xv_i ∈ F_j[122X, [22XAS_ij=0[122X otherwise, is called the Altshuler-Steinberg2138matrix. The Altshuler-Steinberg determinant is the determinant of the2139quadratic matrix [22XAS ⋅ AS^T[122X.[133X21402141[33X[0;0YThe Altshuler-Steinberg determinant is a combinatorial invariant of [22XC[122X and2142can be checked before searching for an isomorphism between two simplicial2143complexes.[133X21442145[4X[32X Example [32X[104X2146[4X[28X gap> list:=SCLib.SearchByName("T^2");; [128X[104X2147[4X[28X gap> torus:=SCLib.Load(last[1][1]);;[128X[104X2148[4X[28X gap> SCAltshulerSteinberg(torus);[128X[104X2149[4X[28X 73728[128X[104X2150[4X[28X gap> c:=SCBdSimplex(3);;[128X[104X2151[4X[28X gap> SCAltshulerSteinberg(c);[128X[104X2152[4X[28X 9[128X[104X2153[4X[28X gap> c:=SCBdSimplex(4);;[128X[104X2154[4X[28X gap> SCAltshulerSteinberg(c);[128X[104X2155[4X[28X 16[128X[104X2156[4X[28X gap> c:=SCBdSimplex(5);;[128X[104X2157[4X[28X gap> SCAltshulerSteinberg(c);[128X[104X2158[4X[28X 25[128X[104X2159[4X[28X [128X[104X2160[4X[32X[104X21612162[1X6.9-2 SCAutomorphismGroup[101X21632164[29X[2XSCAutomorphismGroup[102X( [3Xcomplex[103X ) [32X method2165[6XReturns:[106X [33X[0;10Ya [5XGAP[105X permutation group upon success, [9Xfail[109X otherwise.[133X21662167[33X[0;0YComputes the automorphism group of a strongly connected pseudomanifold2168[3Xcomplex[103X, i. e. the group of all automorphisms on the set of vertices of2169[3Xcomplex[103X that do not change the complex as a whole. Necessarily the group is2170a subgroup of the symmetric group [22XS_n[122X where [22Xn[122X is the number of vertices of2171the simplicial complex.[133X21722173[33X[0;0YThe function uses an efficient algorithm provided by the package [5XGRAPE[105X (see2174[Soi12], which is based on the program [10Xnauty[110X by Brendan McKay [MP14]). If2175the package [5XGRAPE[105X is not available, this function call falls back to2176[2XSCAutomorphismGroupInternal[102X ([14X6.9-3[114X).[133X21772178[33X[0;0YThe position of the group in the [5XGAP[105X libraries of small groups, transitive2179groups or primitive groups is given. If the group is not listed, its2180structure description, provided by the [5XGAP[105X function [10XStructureDescription()[110X,2181is returned as the name of the group. Note that the latter form is not2182always unique, since every non trivial semi-direct product is denoted by2183''[10X:[110X''.[133X21842185[4X[32X Example [32X[104X2186[4X[28X gap> SCLib.SearchByName("K3"); [128X[104X2187[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X2188[4X[28X gap> k3surf:=SCLib.Load(last[1][1]);; [128X[104X2189[4X[28X gap> SCAutomorphismGroup(k3surf); [128X[104X2190[4X[28X Group([ (1,3,8,4,9,16,15,2,14,12,6,7,13,5,10), (1,13)(2,14)(3,15)(4,16)(5,9)[128X[104X2191[4X[28X (6,10)(7,11)(8,12) ])[128X[104X2192[4X[28X [128X[104X2193[4X[32X[104X21942195[1X6.9-3 SCAutomorphismGroupInternal[101X21962197[29X[2XSCAutomorphismGroupInternal[102X( [3Xcomplex[103X ) [32X method2198[6XReturns:[106X [33X[0;10Ya [5XGAP[105X permutation group upon success, [9Xfail[109X otherwise.[133X21992200[33X[0;0YComputes the automorphism group of a strongly connected pseudomanifold2201[3Xcomplex[103X, i. e. the group of all automorphisms on the set of vertices of2202[3Xcomplex[103X that do not change the complex as a whole. Necessarily the group is2203a subgroup of the symmetric group [22XS_n[122X where [22Xn[122X is the number of vertices of2204the simplicial complex.[133X22052206[33X[0;0YThe position of the group in the [5XGAP[105X libraries of small groups, transitive2207groups or primitive groups is given. If the group is not listed, its2208structure description, provided by the [5XGAP[105X function [10XStructureDescription()[110X,2209is returned as the name of the group. Note that the latter form is not2210always unique, since every non trivial semi-direct product is denoted by2211''[10X:[110X''.[133X22122213[4X[32X Example [32X[104X2214[4X[28X gap> c:=SCBdSimplex(5);;[128X[104X2215[4X[28X gap> SCAutomorphismGroupInternal(c);[128X[104X2216[4X[28X Sym( [ 1 .. 6 ] )[128X[104X2217[4X[28X [128X[104X2218[4X[32X[104X22192220[4X[32X Example [32X[104X2221[4X[28X gap> c:=SC([[1,2],[2,3],[1,3]]);;[128X[104X2222[4X[28X gap> g:=SCAutomorphismGroupInternal(c);[128X[104X2223[4X[28X PrimitiveGroup(3,2) = S(3)[128X[104X2224[4X[28X gap> List(g);[128X[104X2225[4X[28X [ (), (1,3,2), (1,2,3), (2,3), (1,3), (1,2) ][128X[104X2226[4X[28X gap> StructureDescription(g);[128X[104X2227[4X[28X "S3"[128X[104X2228[4X[28X [128X[104X2229[4X[32X[104X22302231[1X6.9-4 SCAutomorphismGroupSize[101X22322233[29X[2XSCAutomorphismGroupSize[102X( [3Xcomplex[103X ) [32X method2234[6XReturns:[106X [33X[0;10Ya positive integer group upon success, [9Xfail[109X otherwise.[133X22352236[33X[0;0YComputes the size of the automorphism group of a strongly connected2237pseudomanifold [3Xcomplex[103X, see [2XSCAutomorphismGroup[102X ([14X6.9-2[114X).[133X22382239[4X[32X Example [32X[104X2240[4X[28X gap> SCLib.SearchByName("K3"); [128X[104X2241[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X2242[4X[28X gap> k3surf:=SCLib.Load(last[1][1]);; [128X[104X2243[4X[28X gap> SCAutomorphismGroupSize(k3surf); [128X[104X2244[4X[28X 240[128X[104X2245[4X[28X [128X[104X2246[4X[32X[104X22472248[1X6.9-5 SCAutomorphismGroupStructure[101X22492250[29X[2XSCAutomorphismGroupStructure[102X( [3Xcomplex[103X ) [32X method2251[6XReturns:[106X [33X[0;10Ythe [5XGAP[105X structure description upon success, [9Xfail[109X otherwise.[133X22522253[33X[0;0YComputes the [5XGAP[105X structure description of the automorphism group of a2254strongly connected pseudomanifold [3Xcomplex[103X, see [2XSCAutomorphismGroup[102X ([14X6.9-2[114X).[133X22552256[4X[32X Example [32X[104X2257[4X[28X gap> SCLib.SearchByName("K3"); [128X[104X2258[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X2259[4X[28X gap> k3surf:=SCLib.Load(last[1][1]);; [128X[104X2260[4X[28X gap> SCAutomorphismGroupStructure(k3surf);[128X[104X2261[4X[28X "((C2 x C2 x C2 x C2) : C5) : C3"[128X[104X2262[4X[28X [128X[104X2263[4X[32X[104X22642265[1X6.9-6 SCAutomorphismGroupTransitivity[101X22662267[29X[2XSCAutomorphismGroupTransitivity[102X( [3Xcomplex[103X ) [32X method2268[6XReturns:[106X [33X[0;10Ya positive integer upon success, [9Xfail[109X otherwise.[133X22692270[33X[0;0YComputes the transitivity of the automorphism group of a strongly connected2271pseudomanifold [3Xcomplex[103X, i. e. the maximal integer [22Xt[122X such that for any two2272ordered [22Xt[122X-tuples [22XT_1[122X and [22XT_2[122X of vertices of [3Xcomplex[103X, there exists an element2273[22Xg[122X in the automorphism group of [3Xcomplex[103X for which [22XgT_1=T_2[122X, see [Hup67].[133X22742275[4X[32X Example [32X[104X2276[4X[28X gap> SCLib.SearchByName("K3"); [128X[104X2277[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X2278[4X[28X gap> k3surf:=SCLib.Load(last[1][1]);; [128X[104X2279[4X[28X gap> SCAutomorphismGroupTransitivity(k3surf); [128X[104X2280[4X[28X 2[128X[104X2281[4X[28X [128X[104X2282[4X[32X[104X22832284[1X6.9-7 SCBoundary[101X22852286[29X[2XSCBoundary[102X( [3Xcomplex[103X ) [32X method2287[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X2288otherwise.[133X22892290[33X[0;0YThe function computes the boundary of a simplicial complex [3Xcomplex[103X2291satisfying the weak pseudomanifold property and returns it as a simplicial2292complex. In addition, it is stored as a property of [3Xcomplex[103X.[133X22932294[33X[0;0YThe boundary of a simplicial complex is defined as the simplicial complex2295consisting of all [22Xd-1[122X-faces that are contained in exactly one facet.[133X22962297[33X[0;0YIf [3Xcomplex[103X does not fulfill the weak pseudomanifold property (i. e. if the2298valence of any [22Xd-1[122X-face exceeds [22X2[122X) the function returns [9Xfail[109X.[133X22992300[4X[32X Example [32X[104X2301[4X[28X gap> c:=SC([[1,2,3,4],[1,2,3,5],[1,2,4,5],[1,3,4,5]]);[128X[104X2302[4X[28X [SimplicialComplex[128X[104X2303[4X[28X [128X[104X2304[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X2305[4X[28X [128X[104X2306[4X[28X Name="unnamed complex 52"[128X[104X2307[4X[28X Dim=3[128X[104X2308[4X[28X [128X[104X2309[4X[28X /SimplicialComplex][128X[104X2310[4X[28X gap> SCBoundary(c);[128X[104X2311[4X[28X [SimplicialComplex[128X[104X2312[4X[28X [128X[104X2313[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X2314[4X[28X [128X[104X2315[4X[28X Name="Bd(unnamed complex 52)"[128X[104X2316[4X[28X Dim=2[128X[104X2317[4X[28X [128X[104X2318[4X[28X /SimplicialComplex][128X[104X2319[4X[28X gap> c; [128X[104X2320[4X[28X [SimplicialComplex[128X[104X2321[4X[28X [128X[104X2322[4X[28X Properties known: BoundaryEx, Dim, FacetsEx, HasBoundary, [128X[104X2323[4X[28X IsPseudoManifold, IsPure, Name, SkelExs[], [128X[104X2324[4X[28X Vertices.[128X[104X2325[4X[28X [128X[104X2326[4X[28X Name="unnamed complex 52"[128X[104X2327[4X[28X Dim=3[128X[104X2328[4X[28X HasBoundary=true[128X[104X2329[4X[28X IsPseudoManifold=true[128X[104X2330[4X[28X IsPure=true[128X[104X2331[4X[28X [128X[104X2332[4X[28X /SimplicialComplex][128X[104X2333[4X[28X [128X[104X2334[4X[32X[104X23352336[1X6.9-8 SCDehnSommervilleCheck[101X23372338[29X[2XSCDehnSommervilleCheck[102X( [3Xc[103X ) [32X method2339[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X23402341[33X[0;0YChecks if the simplicial complex [3Xc[103X fulfills the Dehn Sommerville equations:2342[22Xh_j - h_d+1-j = (-1)^d+1-j d+1 choose j (χ (M) - 2)[122X for [22X0 ≤ j ≤ fracd2[122X and [22Xd[122X2343even, and [22Xh_j - h_d+1-j = 0[122X for [22X0 ≤ j ≤ fracd-12[122X and [22Xd[122X odd. Where [22Xh_j[122X is the2344[22Xj[122Xth component of the [22Xh[122X-vector, see [2XSCHVector[102X ([14X6.9-26[114X).[133X23452346[4X[32X Example [32X[104X2347[4X[28X gap> c:=SCBdCrossPolytope(6);;[128X[104X2348[4X[28X gap> SCDehnSommervilleCheck(c);[128X[104X2349[4X[28X true[128X[104X2350[4X[28X gap> c:=SC([[1,2,3],[1,4,5]]);;[128X[104X2351[4X[28X gap> SCDehnSommervilleCheck(c);[128X[104X2352[4X[28X false[128X[104X2353[4X[28X [128X[104X2354[4X[32X[104X23552356[1X6.9-9 SCDehnSommervilleMatrix[101X23572358[29X[2XSCDehnSommervilleMatrix[102X( [3Xd[103X ) [32X method2359[6XReturns:[106X [33X[0;10Ya [10X(d+1)[110X[22X×[122X[10XInt(d+1/2)[110X matrix with integer entries upon success, [9Xfail[109X2360otherwise.[133X23612362[33X[0;0YComputes the coefficients of the Dehn Sommerville equations for dimension [10Xd[110X:2363[22Xh_j - h_d+1-j = (-1)^d+1-j d+1 choose j (χ (M) - 2)[122X for [22X0 ≤ j ≤ fracd2[122X and [22Xd[122X2364even, and [22Xh_j - h_d+1-j = 0[122X for [22X0 ≤ j ≤ fracd-12[122X and [22Xd[122X odd. Where [22Xh_j[122X is the2365[22Xj[122Xth component of the [22Xh[122X-vector, see [2XSCHVector[102X ([14X6.9-26[114X).[133X23662367[4X[32X Example [32X[104X2368[4X[28X gap> m:=SCDehnSommervilleMatrix(6);;[128X[104X2369[4X[28X gap> PrintArray(m);[128X[104X2370[4X[28X [ [ 1, -1, 1, -1, 1, -1, 1 ],[128X[104X2371[4X[28X [ 0, -2, 3, -4, 5, -6, 7 ],[128X[104X2372[4X[28X [ 0, 0, 0, -4, 10, -20, 35 ],[128X[104X2373[4X[28X [ 0, 0, 0, 0, 0, -6, 21 ] ][128X[104X2374[4X[28X [128X[104X2375[4X[32X[104X23762377[1X6.9-10 SCDifferenceCycles[101X23782379[29X[2XSCDifferenceCycles[102X( [3Xcomplex[103X ) [32X method2380[6XReturns:[106X [33X[0;10Ya list of lists upon success, [9Xfail[109X otherwise.[133X23812382[33X[0;0YComputes the difference cycles of [3Xcomplex[103X in standard labeling if [3Xcomplex[103X is2383invariant under a shift of the vertices of type [22Xv ↦ v+1 mod n[122X. The function2384returns the difference cycles as lists where the sum of the entries equals2385the number of vertices [22Xn[122X of [3Xcomplex[103X.[133X23862387[4X[32X Example [32X[104X2388[4X[28X gap> torus:=SCFromDifferenceCycles([[1,2,4],[1,4,2]]);[128X[104X2389[4X[28X [SimplicialComplex[128X[104X2390[4X[28X [128X[104X2391[4X[28X Properties known: DifferenceCycles, Dim, FacetsEx, Name, Vertices.[128X[104X2392[4X[28X [128X[104X2393[4X[28X Name="complex from diffcycles [ [ 1, 2, 4 ], [ 1, 4, 2 ] ]"[128X[104X2394[4X[28X Dim=2[128X[104X2395[4X[28X [128X[104X2396[4X[28X /SimplicialComplex][128X[104X2397[4X[28X gap> torus.Homology;[128X[104X2398[4X[28X [ [ 0, [ ] ], [ 2, [ ] ], [ 1, [ ] ] ][128X[104X2399[4X[28X gap> torus.DifferenceCycles;[128X[104X2400[4X[28X [ [ 1, 2, 4 ], [ 1, 4, 2 ] ][128X[104X2401[4X[28X [128X[104X2402[4X[32X[104X24032404[1X6.9-11 SCDim[101X24052406[29X[2XSCDim[102X( [3Xcomplex[103X ) [32X method2407[6XReturns:[106X [33X[0;10Yan integer [22X≥ -1[122X upon success, [9Xfail[109X otherwise.[133X24082409[33X[0;0YComputes the dimension of a simplicial complex. If the complex is not pure,2410the dimension of the highest dimensional simplex is returned.[133X24112412[4X[32X Example [32X[104X2413[4X[28X gap> complex:=SC([[1,2,3], [1,2,4], [1,3,4], [2,3,4]]);;[128X[104X2414[4X[28X gap> SCDim(complex); [128X[104X2415[4X[28X 2[128X[104X2416[4X[28X gap> c:=SC([[1], [2,4], [3,4], [5,6,7,8]]);;[128X[104X2417[4X[28X gap> SCDim(c);[128X[104X2418[4X[28X 3[128X[104X2419[4X[28X [128X[104X2420[4X[32X[104X24212422[1X6.9-12 SCDualGraph[101X24232424[29X[2XSCDualGraph[102X( [3Xcomplex[103X ) [32X method2425[6XReturns:[106X [33X[0;10Y1-dimensional simplicial complex of type [10XSCSimplicialComplex[110X upon2426success, [9Xfail[109X otherwise.[133X24272428[33X[0;0YComputes the dual graph of the pure simplicial complex [3Xcomplex[103X.[133X24292430[4X[32X Example [32X[104X2431[4X[28X gap> sphere:=SCBdSimplex(5);;[128X[104X2432[4X[28X gap> graph:=SCFaces(sphere,1); [128X[104X2433[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 1, 5 ], [ 1, 6 ], [ 2, 3 ], [ 2, 4 ], [128X[104X2434[4X[28X [ 2, 5 ], [ 2, 6 ], [ 3, 4 ], [ 3, 5 ], [ 3, 6 ], [ 4, 5 ], [ 4, 6 ], [128X[104X2435[4X[28X [ 5, 6 ] ][128X[104X2436[4X[28X gap> graph:=SC(graph);; [128X[104X2437[4X[28X gap> dualGraph:=SCDualGraph(sphere); [128X[104X2438[4X[28X [SimplicialComplex[128X[104X2439[4X[28X [128X[104X2440[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X2441[4X[28X [128X[104X2442[4X[28X Name="dual graph of S^4_6"[128X[104X2443[4X[28X Dim=1[128X[104X2444[4X[28X [128X[104X2445[4X[28X /SimplicialComplex][128X[104X2446[4X[28X gap> graph.Facets = dualGraph.Facets;[128X[104X2447[4X[28X true[128X[104X2448[4X[28X [128X[104X2449[4X[32X[104X24502451[1X6.9-13 SCEulerCharacteristic[101X24522453[29X[2XSCEulerCharacteristic[102X( [3Xcomplex[103X ) [32X method2454[6XReturns:[106X [33X[0;10Yinteger upon success, [9Xfail[109X otherwise.[133X24552456[33X[0;0YComputes the Euler characteristic [23X \chi(C)=\sum \limits_{i=0}^{d} (-1)^{i}2457f_i [123X of a simplicial complex [22XC[122X, where [22Xf_i[122X denotes the [22Xi[122X-th component of the2458[22Xf[122X-vector.[133X24592460[4X[32X Example [32X[104X2461[4X[28X gap> complex:=SCFromFacets([[1,2,3], [1,2,4], [1,3,4], [2,3,4]]);;[128X[104X2462[4X[28X gap> SCEulerCharacteristic(complex);[128X[104X2463[4X[28X 2[128X[104X2464[4X[28X gap> s2:=SCBdSimplex(3);;[128X[104X2465[4X[28X gap> s2.EulerCharacteristic;[128X[104X2466[4X[28X 2[128X[104X2467[4X[28X [128X[104X2468[4X[32X[104X24692470[1X6.9-14 SCFVector[101X24712472[29X[2XSCFVector[102X( [3Xcomplex[103X ) [32X method2473[6XReturns:[106X [33X[0;10Ya list of non-negative integers upon success, [9Xfail[109X otherwise.[133X24742475[33X[0;0YComputes the [22Xf[122X-vector of the simplicial complex [3Xcomplex[103X, i. e. the number of2476[22Xi[122X-dimensional faces for [22X0 ≤ i ≤ d[122X, where [22Xd[122X is the dimension of [3Xcomplex[103X. A2477memory-saving implicit algorithm is used that avoids calculating the face2478lattice of the complex. Internally calls [2XSCNumFaces[102X ([14X6.9-52[114X).[133X24792480[4X[32X Example [32X[104X2481[4X[28X gap> complex:=SC([[1,2,3], [1,2,4], [1,3,4], [2,3,4]]);;[128X[104X2482[4X[28X gap> SCFVector(complex);[128X[104X2483[4X[28X [ 4, 6, 4 ][128X[104X2484[4X[28X [128X[104X2485[4X[32X[104X24862487[1X6.9-15 SCFaceLattice[101X24882489[29X[2XSCFaceLattice[102X( [3Xcomplex[103X ) [32X method2490[6XReturns:[106X [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X24912492[33X[0;0YComputes the entire face lattice of a [22Xd[122X-dimensional simplicial complex, i.2493e. all of its [22Xi[122X-skeletons for [22X0 ≤ i ≤ d[122X. The faces are returned in the2494original labeling.[133X24952496[4X[32X Example [32X[104X2497[4X[28X gap> c:=SC([["a","b","c"],["a","b","d"], ["a","c","d"], ["b","c","d"]]);;[128X[104X2498[4X[28X gap> SCFaceLattice(c);[128X[104X2499[4X[28X [ [ [ "a" ], [ "b" ], [ "c" ], [ "d" ] ], [128X[104X2500[4X[28X [ [ "a", "b" ], [ "a", "c" ], [ "a", "d" ], [ "b", "c" ], [ "b", "d" ], [128X[104X2501[4X[28X [ "c", "d" ] ], [128X[104X2502[4X[28X [ [ "a", "b", "c" ], [ "a", "b", "d" ], [ "a", "c", "d" ], [128X[104X2503[4X[28X [ "b", "c", "d" ] ] ][128X[104X2504[4X[28X [128X[104X2505[4X[32X[104X25062507[1X6.9-16 SCFaceLatticeEx[101X25082509[29X[2XSCFaceLatticeEx[102X( [3Xcomplex[103X ) [32X method2510[6XReturns:[106X [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X25112512[33X[0;0YComputes the entire face lattice of a [22Xd[122X-dimensional simplicial complex, i.2513e. all of its [22Xi[122X-skeletons for [22X0 ≤ i ≤ d[122X. The faces are returned in the2514standard labeling.[133X25152516[4X[32X Example [32X[104X2517[4X[28X gap> c:=SC([["a","b","c"],["a","b","d"], ["a","c","d"], ["b","c","d"]]);;[128X[104X2518[4X[28X gap> SCFaceLatticeEx(c);[128X[104X2519[4X[28X [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ], [128X[104X2520[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ], [128X[104X2521[4X[28X [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 3, 4 ], [ 2, 3, 4 ] ] ][128X[104X2522[4X[28X [128X[104X2523[4X[32X[104X25242525[1X6.9-17 SCFaces[101X25262527[29X[2XSCFaces[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method2528[6XReturns:[106X [33X[0;10Ya face list upon success, [9Xfail[109X otherwise.[133X25292530[33X[0;0YThis is a synonym of the function [2XSCSkel[102X ([14X7.3-13[114X).[133X25312532[1X6.9-18 SCFacesEx[101X25332534[29X[2XSCFacesEx[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method2535[6XReturns:[106X [33X[0;10Ya face list upon success, [9Xfail[109X otherwise.[133X25362537[33X[0;0YThis is a synonym of the function [2XSCSkelEx[102X ([14X7.3-14[114X).[133X25382539[1X6.9-19 SCFacets[101X25402541[29X[2XSCFacets[102X( [3Xcomplex[103X ) [32X method2542[6XReturns:[106X [33X[0;10Ya facet list upon success, [9Xfail[109X otherwise.[133X25432544[33X[0;0YReturns the facets of a simplicial complex in the original vertex labeling.[133X25452546[4X[32X Example [32X[104X2547[4X[28X gap> c:=SC([[2,3],[3,4],[4,2]]);;[128X[104X2548[4X[28X gap> SCFacets(c);[128X[104X2549[4X[28X [ [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ][128X[104X2550[4X[28X [128X[104X2551[4X[32X[104X25522553[1X6.9-20 SCFacetsEx[101X25542555[29X[2XSCFacetsEx[102X( [3Xcomplex[103X ) [32X method2556[6XReturns:[106X [33X[0;10Ya facet list upon success, [9Xfail[109X otherwise.[133X25572558[33X[0;0YReturns the facets of a simplicial complex as they are stored, i. e. with2559standard vertex labeling from 1 to n.[133X25602561[4X[32X Example [32X[104X2562[4X[28X gap> c:=SC([[2,3],[3,4],[4,2]]);;[128X[104X2563[4X[28X gap> SCFacetsEx(c);[128X[104X2564[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ][128X[104X2565[4X[28X [128X[104X2566[4X[32X[104X25672568[1X6.9-21 SCFpBettiNumbers[101X25692570[29X[2XSCFpBettiNumbers[102X( [3Xcomplex[103X, [3Xp[103X ) [32X method2571[6XReturns:[106X [33X[0;10Ya list of non-negative integers upon success, [9Xfail[109X otherwise.[133X25722573[33X[0;0YComputes the Betti numbers of a simplicial complex with respect to the field2574[22XF_p[122X for any prime number [10Xp[110X.[133X25752576[4X[32X Example [32X[104X2577[4X[28X gap> SCLib.SearchByName("K^2"); [128X[104X2578[4X[28X [ [ 17, "K^2 (VT)" ], [ 571, "K^2 (VT)" ] ][128X[104X2579[4X[28X gap> kleinBottle:=SCLib.Load(last[1][1]);; [128X[104X2580[4X[28X gap> SCHomology(kleinBottle); [128X[104X2581[4X[28X [ [ 0, [ ] ], [ 1, [ 2 ] ], [ 0, [ ] ] ][128X[104X2582[4X[28X gap> SCFpBettiNumbers(kleinBottle,2);[128X[104X2583[4X[28X [ 1, 2, 1 ][128X[104X2584[4X[28X gap> SCFpBettiNumbers(kleinBottle,3);[128X[104X2585[4X[28X [ 1, 1, 0 ][128X[104X2586[4X[28X [128X[104X2587[4X[32X[104X25882589[1X6.9-22 SCFundamentalGroup[101X25902591[29X[2XSCFundamentalGroup[102X( [3Xcomplex[103X ) [32X method2592[6XReturns:[106X [33X[0;10Ya [5XGAP[105X fp group upon success, [9Xfail[109X otherwise.[133X25932594[33X[0;0YComputes the first fundamental group of [3Xcomplex[103X, which must be a connected2595simplicial complex, and returns it in form of a finitely presented group.2596The generators of the group are given as 2-tuples that correspond to the2597edges of [3Xcomplex[103X in standard labeling. You can use GAP's [10XSimplifiedFpGroup[110X2598to simplify the group presenation.[133X25992600[4X[32X Example [32X[104X2601[4X[28X gap> list:=SCLib.SearchByName("RP^2");[128X[104X2602[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X2603[4X[28X gap> c:=SCLib.Load(list[1][1]);[128X[104X2604[4X[28X [SimplicialComplex[128X[104X2605[4X[28X [128X[104X2606[4X[28X Properties known: AltshulerSteinberg, AutomorphismGroup, [128X[104X2607[4X[28X AutomorphismGroupSize, AutomorphismGroupStructure, [128X[104X2608[4X[28X AutomorphismGroupTransitivity, ConnectedComponents, [128X[104X2609[4X[28X Dim, DualGraph, EulerCharacteristic, FVector, [128X[104X2610[4X[28X FacetsEx, GVector, GeneratorsEx, HVector, [128X[104X2611[4X[28X HasBoundary, HasInterior, Homology, Interior, [128X[104X2612[4X[28X IsCentrallySymmetric, IsConnected, [128X[104X2613[4X[28X IsEulerianManifold, IsManifold, IsOrientable, [128X[104X2614[4X[28X IsPseudoManifold, IsPure, IsStronglyConnected, [128X[104X2615[4X[28X MinimalNonFacesEx, Name, Neighborliness, [128X[104X2616[4X[28X NumFaces[], Orientation, Reference, SkelExs[], [128X[104X2617[4X[28X Vertices.[128X[104X2618[4X[28X [128X[104X2619[4X[28X Name="RP^2 (VT)"[128X[104X2620[4X[28X Dim=2[128X[104X2621[4X[28X AltshulerSteinberg=3645[128X[104X2622[4X[28X AutomorphismGroupSize=60[128X[104X2623[4X[28X AutomorphismGroupStructure="A5"[128X[104X2624[4X[28X AutomorphismGroupTransitivity=2[128X[104X2625[4X[28X EulerCharacteristic=1[128X[104X2626[4X[28X FVector=[ 6, 15, 10 ][128X[104X2627[4X[28X GVector=[ 2, 3 ][128X[104X2628[4X[28X HVector=[ 3, 6, 0 ][128X[104X2629[4X[28X HasBoundary=false[128X[104X2630[4X[28X HasInterior=true[128X[104X2631[4X[28X Homology=[ [ 0, [ ] ], [ 0, [ 2 ] ], [ 0, [ ] ] ][128X[104X2632[4X[28X IsCentrallySymmetric=false[128X[104X2633[4X[28X IsConnected=true[128X[104X2634[4X[28X IsEulerianManifold=true[128X[104X2635[4X[28X IsOrientable=false[128X[104X2636[4X[28X IsPseudoManifold=true[128X[104X2637[4X[28X IsPure=true[128X[104X2638[4X[28X IsStronglyConnected=true[128X[104X2639[4X[28X Neighborliness=2[128X[104X2640[4X[28X [128X[104X2641[4X[28X /SimplicialComplex][128X[104X2642[4X[28X gap> g:=SCFundamentalGroup(c);;[128X[104X2643[4X[28X gap> StructureDescription(g);[128X[104X2644[4X[28X "C2"[128X[104X2645[4X[28X [128X[104X2646[4X[32X[104X26472648[1X6.9-23 SCGVector[101X26492650[29X[2XSCGVector[102X( [3Xcomplex[103X ) [32X method2651[6XReturns:[106X [33X[0;10Ya list of integers upon success, [9Xfail[109X otherwise.[133X26522653[33X[0;0YComputes the g-vector of a simplicial complex. The [22Xg[122X-vector is defined as2654follows:[133X26552656[33X[0;0YLet [22Xh[122X be the [22Xh[122X-vector of a [22Xd[122X-dimensional simplicial complex C, then2657[23Xg_i:=h_{i+1} - h_{i} ; \quad \frac{d}{2} \geq i \geq 0 [123X is called the2658[22Xg[122X-vector of [22XC[122X. For the definition of the [22Xh[122X-vector see [2XSCHVector[102X ([14X6.9-26[114X).2659The information contained in [22Xg[122X suffices to determine the [22Xf[122X-vector of [22XC[122X.[133X26602661[4X[32X Example [32X[104X2662[4X[28X gap> SCLib.SearchByName("RP^2");[128X[104X2663[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X2664[4X[28X gap> rp2_6:=SCLib.Load(last[1][1]);;[128X[104X2665[4X[28X gap> SCFVector(rp2_6);[128X[104X2666[4X[28X [ 6, 15, 10 ][128X[104X2667[4X[28X gap> SCHVector(rp2_6);[128X[104X2668[4X[28X [ 3, 6, 0 ][128X[104X2669[4X[28X gap> SCGVector(rp2_6);[128X[104X2670[4X[28X [ 2, 3 ][128X[104X2671[4X[28X [128X[104X2672[4X[32X[104X26732674[1X6.9-24 SCGenerators[101X26752676[29X[2XSCGenerators[102X( [3Xcomplex[103X ) [32X method2677[6XReturns:[106X [33X[0;10Ya list of pairs of the form [10X[ list, integer ][110X upon success, [9Xfail[109X2678otherwise.[133X26792680[33X[0;0YComputes the generators of a simplicial complex in the original vertex2681labeling.[133X26822683[33X[0;0YThe generating set of a simplicial complex is a list of simplices that will2684generate the complex by uniting their [22XG[122X-orbits if [22XG[122X is the automorphism2685group of [3Xcomplex[103X.[133X26862687[33X[0;0YThe function returns the simplices together with the length of their orbits.[133X26882689[4X[32X Example [32X[104X2690[4X[28X gap> list:=SCLib.SearchByName("T^2");;[128X[104X2691[4X[28X gap> torus:=SCLib.Load(list[1][1]);;[128X[104X2692[4X[28X gap> SCGenerators(torus); [128X[104X2693[4X[28X [ [ [ 1, 2, 4 ], 14 ] ][128X[104X2694[4X[28X [128X[104X2695[4X[32X[104X26962697[4X[32X Example [32X[104X2698[4X[28X gap> SCLib.SearchByName("K3");[128X[104X2699[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X2700[4X[28X gap> SCLib.Load(last[1][1]);[128X[104X2701[4X[28X [SimplicialComplex[128X[104X2702[4X[28X [128X[104X2703[4X[28X Properties known: AltshulerSteinberg, AutomorphismGroup, [128X[104X2704[4X[28X AutomorphismGroupSize, AutomorphismGroupStructure, [128X[104X2705[4X[28X AutomorphismGroupTransitivity, ConnectedComponents, [128X[104X2706[4X[28X Dim, DualGraph, EulerCharacteristic, FVector, [128X[104X2707[4X[28X FacetsEx, GVector, GeneratorsEx, HVector, [128X[104X2708[4X[28X HasBoundary, HasInterior, Homology, Interior, [128X[104X2709[4X[28X IsCentrallySymmetric, IsConnected, [128X[104X2710[4X[28X IsEulerianManifold, IsManifold, IsOrientable, [128X[104X2711[4X[28X IsPseudoManifold, IsPure, IsStronglyConnected, [128X[104X2712[4X[28X MinimalNonFacesEx, Name, Neighborliness, [128X[104X2713[4X[28X NumFaces[], Orientation, SkelExs[], Vertices.[128X[104X2714[4X[28X [128X[104X2715[4X[28X Name="K3_16"[128X[104X2716[4X[28X Dim=4[128X[104X2717[4X[28X AltshulerSteinberg=883835714748069945165599539200[128X[104X2718[4X[28X AutomorphismGroupSize=240[128X[104X2719[4X[28X AutomorphismGroupStructure="((C2 x C2 x C2 x C2) : C5) : C3"[128X[104X2720[4X[28X AutomorphismGroupTransitivity=2[128X[104X2721[4X[28X EulerCharacteristic=24[128X[104X2722[4X[28X FVector=[ 16, 120, 560, 720, 288 ][128X[104X2723[4X[28X GVector=[ 10, 55, 220 ][128X[104X2724[4X[28X HVector=[ 11, 66, 286, -99, 23 ][128X[104X2725[4X[28X HasBoundary=false[128X[104X2726[4X[28X HasInterior=true[128X[104X2727[4X[28X Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 22, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X2728[4X[28X IsCentrallySymmetric=false[128X[104X2729[4X[28X IsConnected=true[128X[104X2730[4X[28X IsEulerianManifold=true[128X[104X2731[4X[28X IsOrientable=true[128X[104X2732[4X[28X IsPseudoManifold=true[128X[104X2733[4X[28X IsPure=true[128X[104X2734[4X[28X IsStronglyConnected=true[128X[104X2735[4X[28X Neighborliness=3[128X[104X2736[4X[28X [128X[104X2737[4X[28X /SimplicialComplex][128X[104X2738[4X[28X gap> SCGenerators(last);[128X[104X2739[4X[28X [ [ [ 1, 2, 3, 8, 12 ], 240 ], [ [ 1, 2, 5, 8, 14 ], 48 ] ][128X[104X2740[4X[28X [128X[104X2741[4X[32X[104X27422743[1X6.9-25 SCGeneratorsEx[101X27442745[29X[2XSCGeneratorsEx[102X( [3Xcomplex[103X ) [32X method2746[6XReturns:[106X [33X[0;10Ya list of pairs of the form [10X[ list, integer ][110X upon success, [9Xfail[109X2747otherwise.[133X27482749[33X[0;0YComputes the generators of a simplicial complex in the standard vertex2750labeling.[133X27512752[33X[0;0YThe generating set of a simplicial complex is a list of simplices that will2753generate the complex by uniting their [22XG[122X-orbits if [22XG[122X is the automorphism2754group of [3Xcomplex[103X.[133X27552756[33X[0;0YThe function returns the simplices together with the length of their orbits.[133X27572758[4X[32X Example [32X[104X2759[4X[28X gap> list:=SCLib.SearchByName("T^2");;[128X[104X2760[4X[28X gap> torus:=SCLib.Load(list[1][1]);;[128X[104X2761[4X[28X gap> SCGeneratorsEx(torus); [128X[104X2762[4X[28X [ [ [ 1, 2, 4 ], 14 ] ][128X[104X2763[4X[28X [128X[104X2764[4X[32X[104X27652766[4X[32X Example [32X[104X2767[4X[28X gap> SCLib.SearchByName("K3");[128X[104X2768[4X[28X [ [ 7648, "K3_16" ], [ 7649, "K3_17" ] ][128X[104X2769[4X[28X gap> SCLib.Load(last[1][1]);[128X[104X2770[4X[28X [SimplicialComplex[128X[104X2771[4X[28X [128X[104X2772[4X[28X Properties known: AltshulerSteinberg, AutomorphismGroup, [128X[104X2773[4X[28X AutomorphismGroupSize, AutomorphismGroupStructure, [128X[104X2774[4X[28X AutomorphismGroupTransitivity, ConnectedComponents, [128X[104X2775[4X[28X Dim, DualGraph, EulerCharacteristic, FVector, [128X[104X2776[4X[28X FacetsEx, GVector, GeneratorsEx, HVector, [128X[104X2777[4X[28X HasBoundary, HasInterior, Homology, Interior, [128X[104X2778[4X[28X IsCentrallySymmetric, IsConnected, [128X[104X2779[4X[28X IsEulerianManifold, IsManifold, IsOrientable, [128X[104X2780[4X[28X IsPseudoManifold, IsPure, IsStronglyConnected, [128X[104X2781[4X[28X MinimalNonFacesEx, Name, Neighborliness, [128X[104X2782[4X[28X NumFaces[], Orientation, SkelExs[], Vertices.[128X[104X2783[4X[28X [128X[104X2784[4X[28X Name="K3_16"[128X[104X2785[4X[28X Dim=4[128X[104X2786[4X[28X AltshulerSteinberg=883835714748069945165599539200[128X[104X2787[4X[28X AutomorphismGroupSize=240[128X[104X2788[4X[28X AutomorphismGroupStructure="((C2 x C2 x C2 x C2) : C5) : C3"[128X[104X2789[4X[28X AutomorphismGroupTransitivity=2[128X[104X2790[4X[28X EulerCharacteristic=24[128X[104X2791[4X[28X FVector=[ 16, 120, 560, 720, 288 ][128X[104X2792[4X[28X GVector=[ 10, 55, 220 ][128X[104X2793[4X[28X HVector=[ 11, 66, 286, -99, 23 ][128X[104X2794[4X[28X HasBoundary=false[128X[104X2795[4X[28X HasInterior=true[128X[104X2796[4X[28X Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 22, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X2797[4X[28X IsCentrallySymmetric=false[128X[104X2798[4X[28X IsConnected=true[128X[104X2799[4X[28X IsEulerianManifold=true[128X[104X2800[4X[28X IsOrientable=true[128X[104X2801[4X[28X IsPseudoManifold=true[128X[104X2802[4X[28X IsPure=true[128X[104X2803[4X[28X IsStronglyConnected=true[128X[104X2804[4X[28X Neighborliness=3[128X[104X2805[4X[28X [128X[104X2806[4X[28X /SimplicialComplex][128X[104X2807[4X[28X gap> SCGeneratorsEx(last);[128X[104X2808[4X[28X [ [ [ 1, 2, 3, 8, 12 ], 240 ], [ [ 1, 2, 5, 8, 14 ], 48 ] ][128X[104X2809[4X[28X [128X[104X2810[4X[32X[104X28112812[1X6.9-26 SCHVector[101X28132814[29X[2XSCHVector[102X( [3Xcomplex[103X ) [32X method2815[6XReturns:[106X [33X[0;10Ya list of integers upon success, [9Xfail[109X otherwise.[133X28162817[33X[0;0YComputes the [22Xh[122X-vector of a simplicial complex. The [22Xh[122X-vector is defined as [23X2818h_{k}:= \sum \limits_{i=-1}^{k-1} (-1)^{k-i-1}{d-i-1 \choose k-i-1} f_i[123X for2819[22X0 ≤ k ≤ d[122X, where [22Xf_-1 := 1[122X. For all simplicial complexes we have [22Xh_0 = 1[122X,2820hence the returned list starts with the second entry of the [22Xh[122X-vector.[133X28212822[4X[32X Example [32X[104X2823[4X[28X gap> SCLib.SearchByName("RP^2");[128X[104X2824[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X2825[4X[28X gap> rp2_6:=SCLib.Load(last[1][1]);;[128X[104X2826[4X[28X gap> SCFVector(rp2_6);[128X[104X2827[4X[28X [ 6, 15, 10 ][128X[104X2828[4X[28X gap> SCHVector(rp2_6);[128X[104X2829[4X[28X [ 3, 6, 0 ][128X[104X2830[4X[28X [128X[104X2831[4X[32X[104X28322833[1X6.9-27 SCHasBoundary[101X28342835[29X[2XSCHasBoundary[102X( [3Xcomplex[103X ) [32X method2836[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X28372838[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X that fulfills the weak pseudo2839manifold property has a boundary, i. e. [22Xd-1[122X-faces of valence [22X1[122X. If [3Xcomplex[103X2840is closed [9Xfalse[109X is returned, if [3Xcomplex[103X does not fulfill the weak2841pseudomanifold property, [9Xfail[109X is returned, otherwise [9Xtrue[109X is returned.[133X28422843[4X[32X Example [32X[104X2844[4X[28X gap> SCLib.SearchByName("K^2"); [128X[104X2845[4X[28X [ [ 17, "K^2 (VT)" ], [ 571, "K^2 (VT)" ] ][128X[104X2846[4X[28X gap> kleinBottle:=SCLib.Load(last[1][1]);;[128X[104X2847[4X[28X gap> SCHasBoundary(kleinBottle);[128X[104X2848[4X[28X false[128X[104X2849[4X[28X [128X[104X2850[4X[32X[104X28512852[4X[32X Example [32X[104X2853[4X[28X gap> c:=SC([[1,2,3,4],[1,2,3,5],[1,2,4,5],[1,3,4,5]]);;[128X[104X2854[4X[28X gap> SCHasBoundary(c);[128X[104X2855[4X[28X true[128X[104X2856[4X[28X [128X[104X2857[4X[32X[104X28582859[1X6.9-28 SCHasInterior[101X28602861[29X[2XSCHasInterior[102X( [3Xcomplex[103X ) [32X method2862[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X28632864[33X[0;0YReturns [9Xtrue[109X if a simplicial complex [3Xcomplex[103X that fulfills the weak2865pseudomanifold property has at least one [22Xd-1[122X-face of valence [22X2[122X, i. e. if2866there exist at least one [22Xd-1[122X-face that is not in the boundary of [3Xcomplex[103X, if2867no such face can be found [9Xfalse[109X is returned. It [3Xcomplex[103X does not fulfill the2868weak pseudomanifold property [9Xfail[109X is returned.[133X28692870[4X[32X Example [32X[104X2871[4X[28X gap> c:=SC([[1,2,3,4],[1,2,3,5],[1,2,4,5],[1,3,4,5]]);;[128X[104X2872[4X[28X gap> SCHasInterior(c)[128X[104X2873[4X[28X true[128X[104X2874[4X[28X gap> c:=SC([[1,2,3,4]]);;[128X[104X2875[4X[28X gap> SCHasInterior(c);[128X[104X2876[4X[28X false[128X[104X2877[4X[28X [128X[104X2878[4X[32X[104X28792880[1X6.9-29 SCHeegaardSplittingSmallGenus[101X28812882[29X[2XSCHeegaardSplittingSmallGenus[102X( [3XM[103X ) [32X method2883[6XReturns:[106X [33X[0;10Ya list of an integer, a list of two sublists and a string upon2884success, [9Xfail[109X otherwise.[133X28852886[33X[0;0YComputes a Heegaard splitting of the combinatorial [22X3[122X-manifold [3XM[103X of small2887genus. The function returns the genus of the Heegaard splitting, the vertex2888partition of the Heegaard splitting and information whether the splitting is2889minimal or just small (i. e. the Heegaard genus could not be determined).2890See also [2XSCHeegaardSplitting[102X ([14X6.9-30[114X) for a faster computation of a Heegaard2891splitting of arbitrary genus and [2XSCIsHeegaardSplitting[102X ([14X6.9-40[114X) for a test2892whether or not a given splitting defines a Heegaard splitting.[133X28932894[4X[32X Example [32X[104X2895[4X[28X gap> c:=SCSeriesBdHandleBody(3,10);;[128X[104X2896[4X[28X gap> M:=SCConnectedProduct(c,3);;[128X[104X2897[4X[28X gap> list:=SCHeegaardSplittingSmallGenus(M);[128X[104X2898[4X[28X This creates an error[128X[104X2899[4X[28X [128X[104X2900[4X[32X[104X29012902[1X6.9-30 SCHeegaardSplitting[101X29032904[29X[2XSCHeegaardSplitting[102X( [3XM[103X ) [32X method2905[6XReturns:[106X [33X[0;10Ya list of an integer, a list of two sublists and a string upon2906success, [9Xfail[109X otherwise.[133X29072908[33X[0;0YComputes a Heegaard splitting of the combinatorial [22X3[122X-manifold [3XM[103X. The2909function returns the genus of the Heegaard splitting, the vertex partition2910of the Heegaard splitting and a note, that splitting is arbitrary and in2911particular possibly not minimal. See also [2XSCHeegaardSplittingSmallGenus[102X2912([14X6.9-29[114X) for the calculation of a Heegaard splitting of small genus and2913[2XSCIsHeegaardSplitting[102X ([14X6.9-40[114X) for a test whether or not a given splitting2914defines a Heegaard splitting.[133X29152916[4X[32X Example [32X[104X2917[4X[28X gap> M:=SCSeriesBdHandleBody(3,12);;[128X[104X2918[4X[28X gap> list:=SCHeegaardSplitting(M);[128X[104X2919[4X[28X [ 1, [ [ 1, 2, 3, 5, 9 ], [ 4, 6, 7, 8, 10, 11, 12 ] ], "arbitrary" ][128X[104X2920[4X[28X gap> sl:=SCSlicing(M,list[2]);[128X[104X2921[4X[28X [NormalSurface[128X[104X2922[4X[28X [128X[104X2923[4X[28X Properties known: ConnectedComponents, Dim, EulerCharacteristic, FVector, Fac\[128X[104X2924[4X[28X etsEx, Genus, IsConnected, IsOrientable, NSTriangulation, Name, TopologicalTyp\[128X[104X2925[4X[28X e, Vertices.[128X[104X2926[4X[28X [128X[104X2927[4X[28X Name="slicing [ [ 1, 2, 3, 5, 9 ], [ 4, 6, 7, 8, 10, 11, 12 ] ] of Sphere bun\[128X[104X2928[4X[28X dle S^2 x S^1"[128X[104X2929[4X[28X Dim=2[128X[104X2930[4X[28X FVector=[ 24, 55, 14, 17 ][128X[104X2931[4X[28X EulerCharacteristic=0[128X[104X2932[4X[28X IsOrientable=true[128X[104X2933[4X[28X TopologicalType="T^2"[128X[104X2934[4X[28X [128X[104X2935[4X[28X /NormalSurface][128X[104X2936[4X[28X [128X[104X2937[4X[32X[104X29382939[1X6.9-31 SCHomologyClassic[101X29402941[29X[2XSCHomologyClassic[102X( [3Xcomplex[103X ) [32X function2942[6XReturns:[106X [33X[0;10Ya list of pairs of the form [10X[ integer, list ][110X.[133X29432944[33X[0;0YComputes the integral simplicial homology groups of a simplicial complex2945[3Xcomplex[103X (internally calls the function [10XSimplicialHomology(complex.FacetsEx)[110X2946from the [5Xhomology[105X package, see [DHSW11]).[133X29472948[33X[0;0YIf the [5Xhomology[105X package is not available, this function call falls back to2949[2XSCHomologyInternal[102X ([14X8.1-5[114X). The output is a list of homology groups of the2950form [22X[H_0,....,H_d][122X, where [22Xd[122X is the dimension of [3Xcomplex[103X. The format of the2951homology groups [22XH_i[122X is given in terms of their maximal cyclic subgroups,2952i.e. a homology group [22XH_i≅ Z^f + Z / t_1 Z × dots × Z / t_n Z[122X is returned in2953form of a list [22X[ f, [t_1,...,t_n] ][122X, where [22Xf[122X is the (integer) free part of2954[22XH_i[122X and [22Xt_i[122X denotes the torsion parts of [22XH_i[122X ordered in weakly increasing2955size.[133X29562957[4X[32X Example [32X[104X2958[4X[28X gap> SCLib.SearchByName("K^2");[128X[104X2959[4X[28X [ [ 17, "K^2 (VT)" ], [ 571, "K^2 (VT)" ] ][128X[104X2960[4X[28X gap> kleinBottle:=SCLib.Load(last[1][1]);;[128X[104X2961[4X[28X gap> kleinBottle.Homology; [128X[104X2962[4X[28X [ [ 0, [ ] ], [ 1, [ 2 ] ], [ 0, [ ] ] ][128X[104X2963[4X[28X gap> SCLib.SearchByName("L_"){[1..10]};[128X[104X2964[4X[28X [ [ 139, "L_3_1" ], [ 634, "L_4_1" ], [ 754, "L_5_2" ], [128X[104X2965[4X[28X [ 2416, "(S^2~S^1)#L_3_1" ], [ 2417, "(S^2xS^1)#L_3_1" ], [ 2490, "L_5_1" ],[128X[104X2966[4X[28X [ 2492, "(S^2~S^1)#2#L_3_1" ], [ 2494, "(S^2xS^1)#2#L_3_1" ], [128X[104X2967[4X[28X [ 7467, "L_7_2" ], [ 7468, "L_8_3" ] ][128X[104X2968[4X[28X gap> c:=SCConnectedSum(SCLib.Load(last[9][1]),[128X[104X2969[4X[28X SCConnectedProduct(SCLib.Load(last[10][1]),2));[128X[104X2970[4X[28X > [SimplicialComplex[128X[104X2971[4X[28X [128X[104X2972[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X2973[4X[28X [128X[104X2974[4X[28X Name="L_7_2#+-L_8_3#+-L_8_3"[128X[104X2975[4X[28X Dim=3[128X[104X2976[4X[28X [128X[104X2977[4X[28X /SimplicialComplex][128X[104X2978[4X[28X gap> SCHomology(c);[128X[104X2979[4X[28X [ [ 0, [ ] ], [ 0, [ 8, 56 ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X2980[4X[28X gap> SCFpBettiNumbers(c,2);[128X[104X2981[4X[28X [ 1, 2, 2, 1 ][128X[104X2982[4X[28X gap> SCFpBettiNumbers(c,3);[128X[104X2983[4X[28X [ 1, 0, 0, 1 ][128X[104X2984[4X[28X [128X[104X2985[4X[32X[104X29862987[1X6.9-32 SCIncidences[101X29882989[29X[2XSCIncidences[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method2990[6XReturns:[106X [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X29912992[33X[0;0YReturns a list of all [3Xk[103X-faces of the simplicial complex [3Xcomplex[103X. The list is2993sorted by the valence of the faces in the [3Xk[103X+1-skeleton of the complex, i. e.2994the [22Xi[122X-th entry of the list contains all [3Xk[103X-faces of valence [22Xi[122X. The faces are2995returned in the original labeling.[133X29962997[4X[32X Example [32X[104X2998[4X[28X gap> c:=SC([[1,2,3],[2,3,4],[3,4,5],[4,5,6],[1,5,6],[1,4,6],[2,3,6]]);;[128X[104X2999[4X[28X gap> SCIncidences(c,1);[128X[104X3000[4X[28X [ [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 6 ], [ 3, 5 ], [128X[104X3001[4X[28X [ 3, 6 ] ], [ [ 1, 6 ], [ 3, 4 ], [ 4, 5 ], [ 4, 6 ], [ 5, 6 ] ], [128X[104X3002[4X[28X [ [ 2, 3 ] ] ][128X[104X3003[4X[28X [128X[104X3004[4X[32X[104X30053006[1X6.9-33 SCIncidencesEx[101X30073008[29X[2XSCIncidencesEx[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method3009[6XReturns:[106X [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X30103011[33X[0;0YReturns a list of all [3Xk[103X-faces of the simplicial complex [3Xcomplex[103X. The list is3012sorted by the valence of the faces in the [3Xk[103X+1-skeleton of the complex, i. e.3013the [22Xi[122X-th entry of the list contains all [3Xk[103X-faces of valence [22Xi[122X. The faces are3014returned in the standard labeling.[133X30153016[4X[32X Example [32X[104X3017[4X[28X gap> c:=SC([[1,2,3],[2,3,4],[3,4,5],[4,5,6],[1,5,6],[1,4,6],[2,3,6]]);;[128X[104X3018[4X[28X gap> SCIncidences(c,1);[128X[104X3019[4X[28X [ [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 6 ], [ 3, 5 ], [128X[104X3020[4X[28X [ 3, 6 ] ], [ [ 1, 6 ], [ 3, 4 ], [ 4, 5 ], [ 4, 6 ], [ 5, 6 ] ], [128X[104X3021[4X[28X [ [ 2, 3 ] ] ][128X[104X3022[4X[28X [128X[104X3023[4X[32X[104X30243025[1X6.9-34 SCInterior[101X30263027[29X[2XSCInterior[102X( [3Xcomplex[103X ) [32X method3028[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3029otherwise.[133X30303031[33X[0;0YComputes all [22Xd-1[122X-faces of valence [22X2[122X of a simplicial complex [3Xcomplex[103X that3032fulfills the weak pseudomanifold property, i. e. the function returns the3033part of the [22Xd-1[122X-skeleton of [22XC[122X that is not part of the boundary.[133X30343035[4X[32X Example [32X[104X3036[4X[28X gap> c:=SC([[1,2,3,4],[1,2,3,5],[1,2,4,5],[1,3,4,5]]);;[128X[104X3037[4X[28X gap> SCInterior(c).Facets;[128X[104X3038[4X[28X [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 2, 5 ], [ 1, 3, 4 ], [ 1, 3, 5 ], [128X[104X3039[4X[28X [ 1, 4, 5 ] ][128X[104X3040[4X[28X gap> c:=SC([[1,2,3,4]]);;[128X[104X3041[4X[28X gap> SCInterior(c).Facets;[128X[104X3042[4X[28X [ ][128X[104X3043[4X[28X [128X[104X3044[4X[32X[104X30453046[1X6.9-35 SCIsCentrallySymmetric[101X30473048[29X[2XSCIsCentrallySymmetric[102X( [3Xcomplex[103X ) [32X method3049[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X30503051[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X is centrally symmetric, i. e. if its3052automorphism group contains a fixed point free involution.[133X30533054[4X[32X Example [32X[104X3055[4X[28X gap> c:=SCBdCrossPolytope(4);;[128X[104X3056[4X[28X gap> SCIsCentrallySymmetric(c);[128X[104X3057[4X[28X true[128X[104X3058[4X[28X [128X[104X3059[4X[32X[104X30603061[4X[32X Example [32X[104X3062[4X[28X gap> c:=SCBdSimplex(4);;[128X[104X3063[4X[28X gap> SCIsCentrallySymmetric(c);[128X[104X3064[4X[28X false[128X[104X3065[4X[28X [128X[104X3066[4X[32X[104X30673068[1X6.9-36 SCIsConnected[101X30693070[29X[2XSCIsConnected[102X( [3Xcomplex[103X ) [32X method3071[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X30723073[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X is connected.[133X30743075[4X[32X Example [32X[104X3076[4X[28X gap> c:=SCBdSimplex(1);;[128X[104X3077[4X[28X gap> SCIsConnected(c);[128X[104X3078[4X[28X false[128X[104X3079[4X[28X gap> c:=SCBdSimplex(2);;[128X[104X3080[4X[28X gap> SCIsConnected(c);[128X[104X3081[4X[28X true[128X[104X3082[4X[28X [128X[104X3083[4X[32X[104X30843085[1X6.9-37 SCIsEmpty[101X30863087[29X[2XSCIsEmpty[102X( [3Xcomplex[103X ) [32X method3088[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X30893090[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X is the empty complex, i. e. a3091[10XSCSimplicialComplex[110X object with empty facet list.[133X30923093[4X[32X Example [32X[104X3094[4X[28X gap> c:=SC([[1]]);;[128X[104X3095[4X[28X gap> SCIsEmpty(c);[128X[104X3096[4X[28X false[128X[104X3097[4X[28X gap> c:=SC([]);;[128X[104X3098[4X[28X gap> SCIsEmpty(c);[128X[104X3099[4X[28X true[128X[104X3100[4X[28X gap> c:=SC([[]]);;[128X[104X3101[4X[28X gap> SCIsEmpty(c);[128X[104X3102[4X[28X true[128X[104X3103[4X[28X [128X[104X3104[4X[32X[104X31053106[1X6.9-38 SCIsEulerianManifold[101X31073108[29X[2XSCIsEulerianManifold[102X( [3Xcomplex[103X ) [32X method3109[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X31103111[33X[0;0YChecks whether a given simplicial complex [3Xcomplex[103X is a Eulerian manifold or3112not, i. e. checks if all vertex links of [3Xcomplex[103X have the Euler3113characteristic of a sphere. In particular the function returns [9Xfalse[109X in case3114[3Xcomplex[103X has a non-empty boundary.[133X31153116[4X[32X Example [32X[104X3117[4X[28X gap> c:=SCBdSimplex(4);;[128X[104X3118[4X[28X gap> SCIsEulerianManifold(c);[128X[104X3119[4X[28X true[128X[104X3120[4X[28X gap> SCLib.SearchByName("Moebius");[128X[104X3121[4X[28X [ [ 1, "Moebius Strip" ] ][128X[104X3122[4X[28X gap> moebius:=SCLib.Load(last[1][1]); # a moebius strip[128X[104X3123[4X[28X [SimplicialComplex[128X[104X3124[4X[28X [128X[104X3125[4X[28X Properties known: Dim, EulerCharacteristic, FVector, FacetsEx, [128X[104X3126[4X[28X GVector, HVector, HasBoundary, Homology, [128X[104X3127[4X[28X IsConnected, IsManifold, IsPseudoManifold, [128X[104X3128[4X[28X MinimalNonFacesEx, Name, NumFaces[], SkelExs[], [128X[104X3129[4X[28X Vertices.[128X[104X3130[4X[28X [128X[104X3131[4X[28X Name="Moebius Strip"[128X[104X3132[4X[28X Dim=2[128X[104X3133[4X[28X EulerCharacteristic=0[128X[104X3134[4X[28X FVector=[ 5, 10, 5 ][128X[104X3135[4X[28X GVector=[ 1, 1 ][128X[104X3136[4X[28X HVector=[ 2, 3, -1 ][128X[104X3137[4X[28X HasBoundary=true[128X[104X3138[4X[28X Homology=[ [ 0 ], [ 1 ], [ 0 ] ][128X[104X3139[4X[28X IsConnected=true[128X[104X3140[4X[28X IsPseudoManifold=true[128X[104X3141[4X[28X [128X[104X3142[4X[28X /SimplicialComplex][128X[104X3143[4X[28X gap> SCIsEulerianManifold(moebius);[128X[104X3144[4X[28X false[128X[104X3145[4X[28X [128X[104X3146[4X[32X[104X31473148[1X6.9-39 SCIsFlag[101X31493150[29X[2XSCIsFlag[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method3151[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X31523153[33X[0;0YChecks if [3Xcomplex[103X is flag. A connected simplicial complex of dimension at3154least one is a flag complex if all cliques in its 1-skeleton span a face of3155the complex (cf. [Fro08]).[133X31563157[4X[32X Example [32X[104X3158[4X[28X gap> SCLib.SearchByName("RP^2"); [128X[104X3159[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X3160[4X[28X gap> rp2_6:=SCLib.Load(last[1][1]);;[128X[104X3161[4X[28X gap> SCIsFlag(rp2_6);[128X[104X3162[4X[28X false[128X[104X3163[4X[28X [128X[104X3164[4X[32X[104X31653166[1X6.9-40 SCIsHeegaardSplitting[101X31673168[29X[2XSCIsHeegaardSplitting[102X( [3Xc[103X, [3Xlist[103X ) [32X method3169[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X31703171[33X[0;0YChecks whether [3Xlist[103X defines a Heegaard splitting of [3Xc[103X or not. See also3172[2XSCHeegaardSplitting[102X ([14X6.9-30[114X) and [2XSCHeegaardSplittingSmallGenus[102X ([14X6.9-29[114X) for3173functions to compute Heegaard splittings.[133X31743175[4X[32X Example [32X[104X3176[4X[28X gap> c:=SCSeriesBdHandleBody(3,9);;[128X[104X3177[4X[28X gap> list:=[[1..3],[4..9]];[128X[104X3178[4X[28X [ [ 1 .. 3 ], [ 4 .. 9 ] ][128X[104X3179[4X[28X gap> SCIsHeegaardSplitting(c,list);[128X[104X3180[4X[28X false[128X[104X3181[4X[28X gap> splitting:=SCHeegaardSplitting(c);[128X[104X3182[4X[28X [ 1, [ [ 1, 2, 3, 6 ], [ 4, 5, 7, 8, 9 ] ], "arbitrary" ][128X[104X3183[4X[28X gap> SCIsHeegaardSplitting(c,splitting[2]); [128X[104X3184[4X[28X true[128X[104X3185[4X[28X [128X[104X3186[4X[32X[104X31873188[1X6.9-41 SCIsHomologySphere[101X31893190[29X[2XSCIsHomologySphere[102X( [3Xcomplex[103X ) [32X method3191[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X31923193[33X[0;0YChecks whether a simplicial complex [3Xcomplex[103X is a homology sphere, i. e. has3194the homology of a sphere, or not.[133X31953196[4X[32X Example [32X[104X3197[4X[28X gap> c:=SC([[2,3],[3,4],[4,2]]);;[128X[104X3198[4X[28X gap> SCIsHomologySphere(c);[128X[104X3199[4X[28X true[128X[104X3200[4X[28X [128X[104X3201[4X[32X[104X32023203[1X6.9-42 SCIsInKd[101X32043205[29X[2XSCIsInKd[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method3206[6XReturns:[106X [33X[0;10Y[9Xtrue[109X / [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X32073208[33X[0;0YChecks whether the simplicial complex [3Xcomplex[103X that must be a combinatorial3209[22Xd[122X-manifold is in the class [22XmathcalK^k(d)[122X, [22X1≤ k≤ ⌊fracd+12⌋[122X, of simplicial3210complexes that only have [22Xk[122X-stacked spheres as vertex links, see [Eff11b].3211Note that it is not checked whether [3Xcomplex[103X is a combinatorial manifold --3212if not, the algorithm will not succeed. Returns [9Xtrue[109X / [9Xfalse[109X upon success.3213If [9Xtrue[109X is returned this means that [3Xcomplex[103X is at least [3Xk[103X-stacked and thus3214that the complex is in the class [22XmathcalK^k(d)[122X, i.e. all vertex links are3215[10Xi[110X-stacked spheres. If [9Xfalse[109X is returnd the complex cannot be [3Xk[103X-stacked. In3216some cases the question can not be decided. In this case [9Xfail[109X is returned.[133X32173218[33X[0;0YInternally calls [2XSCIsKStackedSphere[102X ([14X9.2-5[114X) for all links. Please note that3219this is a radomized algorithm that may give an indefinite answer to the3220membership problem.[133X32213222[4X[32X Example [32X[104X3223[4X[28X gap> list:=SCLib.SearchByName("S^2~S^1");;{[1..3]};[128X[104X3224[4X[28X gap> c:=SCLib.Load(list[1][1]);;[128X[104X3225[4X[28X gap> c.AutomorphismGroup;[128X[104X3226[4X[28X Group([ (1,3)(4,9)(5,8)(6,7), (1,9,8,7,6,5,4,3,2) ])[128X[104X3227[4X[28X gap> SCIsInKd(c,1);[128X[104X3228[4X[28X #I SCIsKStackedSphere: checking if complex is a 1-stacked sphere...[128X[104X3229[4X[28X #I SCIsKStackedSphere: try 1/1[128X[104X3230[4X[28X #I SCIsKStackedSphere: complex is a 1-stacked sphere.[128X[104X3231[4X[28X true[128X[104X3232[4X[28X [128X[104X3233[4X[32X[104X32343235[1X6.9-43 SCIsKNeighborly[101X32363237[29X[2XSCIsKNeighborly[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method3238[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X32393240[4X[32X Example [32X[104X3241[4X[28X gap> SCLib.SearchByName("RP^2"); [128X[104X3242[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X3243[4X[28X gap> rp2_6:=SCLib.Load(last[1][1]);;[128X[104X3244[4X[28X gap> SCFVector(rp2_6);[128X[104X3245[4X[28X [ 6, 15, 10 ][128X[104X3246[4X[28X gap> SCIsKNeighborly(rp2_6,2);[128X[104X3247[4X[28X true[128X[104X3248[4X[28X gap> SCIsKNeighborly(rp2_6,3);[128X[104X3249[4X[28X false[128X[104X3250[4X[28X [128X[104X3251[4X[32X[104X32523253[1X6.9-44 SCIsOrientable[101X32543255[29X[2XSCIsOrientable[102X( [3Xcomplex[103X ) [32X method3256[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X32573258[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X, satisfying the weak pseudomanifold3259property, is orientable.[133X32603261[4X[32X Example [32X[104X3262[4X[28X gap> c:=SCBdCrossPolytope(4);;[128X[104X3263[4X[28X gap> SCIsOrientable(c);[128X[104X3264[4X[28X true[128X[104X3265[4X[28X [128X[104X3266[4X[32X[104X32673268[1X6.9-45 SCIsPseudoManifold[101X32693270[29X[2XSCIsPseudoManifold[102X( [3Xcomplex[103X ) [32X method3271[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X32723273[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X fulfills the weak pseudomanifold3274property, i. e. if every [22Xd-1[122X-face of [3Xcomplex[103X is contained in at most [22X2[122X3275facets.[133X32763277[4X[32X Example [32X[104X3278[4X[28X gap> c:=SC([[1,2,3],[1,2,4],[1,3,4],[2,3,4],[1,5,6],[1,5,7],[1,6,7],[5,6,7]]);;[128X[104X3279[4X[28X gap> SCIsPseudoManifold(c);[128X[104X3280[4X[28X true[128X[104X3281[4X[28X gap> c:=SC([[1,2],[2,3],[3,1],[1,4],[4,5],[5,1]]);;[128X[104X3282[4X[28X gap> SCIsPseudoManifold(c);[128X[104X3283[4X[28X false[128X[104X3284[4X[28X [128X[104X3285[4X[32X[104X32863287[1X6.9-46 SCIsPure[101X32883289[29X[2XSCIsPure[102X( [3Xcomplex[103X ) [32X method3290[6XReturns:[106X [33X[0;10Ya boolean upon success, [9Xfail[109X otherwise.[133X32913292[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X is pure.[133X32933294[4X[32X Example [32X[104X3295[4X[28X gap> c:=SC([[1,2], [1,4], [2,4], [2,3,4]]);;[128X[104X3296[4X[28X gap> SCIsPure(c);[128X[104X3297[4X[28X false[128X[104X3298[4X[28X gap> c:=SC([[1,2], [1,4], [2,4]]);;[128X[104X3299[4X[28X gap> SCIsPure(c);[128X[104X3300[4X[28X true[128X[104X3301[4X[28X [128X[104X3302[4X[32X[104X33033304[1X6.9-47 SCIsShellable[101X33053306[29X[2XSCIsShellable[102X( [3Xcomplex[103X ) [32X method3307[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X33083309[33X[0;0YThe simplicial complex [3Xcomplex[103X must be pure, strongly connected and must3310fulfill the weak pseudomanifold property with non-empty boundary (cf.3311[2XSCBoundary[102X ([14X6.9-7[114X)).[133X33123313[33X[0;0YThe function checks whether [3Xcomplex[103X is shellable or not. An ordering [22X(F_1,3314F_2, ... , F_r)[122X on the facet list of a simplicial complex is called a3315shelling if and only if [22XF_i ∩ (F_1 ∪ ... ∪ F_i-1)[122X is a pure simplicial3316complex of dimension [22Xd-1[122X for all [22Xi = 1, ... , r[122X. A simplicial complex is3317called shellable, if at least one shelling exists.[133X33183319[33X[0;0YSee [Zie95], [Pac87] to learn more about shellings.[133X33203321[4X[32X Example [32X[104X3322[4X[28X gap> c:=SCBdCrossPolytope(4);; [128X[104X3323[4X[28X gap> c:=Difference(c,SC([[1,3,5,7]]));; # bounded version[128X[104X3324[4X[28X gap> SCIsShellable(c);[128X[104X3325[4X[28X true[128X[104X3326[4X[28X [128X[104X3327[4X[32X[104X33283329[1X6.9-48 SCIsStronglyConnected[101X33303331[29X[2XSCIsStronglyConnected[102X( [3Xcomplex[103X ) [32X method3332[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X33333334[33X[0;0YChecks if a simplicial complex [3Xcomplex[103X is strongly connected, i. e. if for3335any pair of facets [22X(hat∆,tilde∆)[122X there exists a sequence of facets [22X( ∆_1 ,3336... , ∆_k )[122X with [22X∆_1 = hat∆[122X and [22X∆_k = tilde∆[122X and dim[22X(∆_i , ∆_i+1 ) = d - 1[122X3337for all [22X1 ≤ i ≤ k - 1[122X.[133X33383339[4X[32X Example [32X[104X3340[4X[28X gap> c:=SC([[1,2,3],[1,2,4],[1,3,4],[2,3,4], [1,5,6],[1,5,7],[1,6,7],[5,6,7]]);[128X[104X3341[4X[28X [SimplicialComplex[128X[104X3342[4X[28X [128X[104X3343[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3344[4X[28X [128X[104X3345[4X[28X Name="unnamed complex 24"[128X[104X3346[4X[28X Dim=2[128X[104X3347[4X[28X [128X[104X3348[4X[28X /SimplicialComplex][128X[104X3349[4X[28X gap> SCIsConnected(c); [128X[104X3350[4X[28X true[128X[104X3351[4X[28X gap> SCIsStronglyConnected(c); [128X[104X3352[4X[28X false[128X[104X3353[4X[28X [128X[104X3354[4X[32X[104X33553356[1X6.9-49 SCMinimalNonFaces[101X33573358[29X[2XSCMinimalNonFaces[102X( [3Xcomplex[103X ) [32X method3359[6XReturns:[106X [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X33603361[33X[0;0YComputes all missing proper faces of a simplicial complex [3Xcomplex[103X by calling3362[2XSCMinimalNonFacesEx[102X ([14X6.9-50[114X). The simplices are returned in the original3363labeling of [3Xcomplex[103X.[133X33643365[4X[32X Example [32X[104X3366[4X[28X gap> c:=SCFromFacets(["abc","abd"]);;[128X[104X3367[4X[28X gap> SCMinimalNonFaces(c); [128X[104X3368[4X[28X [ [ ], [ "cd" ] ][128X[104X3369[4X[28X [128X[104X3370[4X[32X[104X33713372[1X6.9-50 SCMinimalNonFacesEx[101X33733374[29X[2XSCMinimalNonFacesEx[102X( [3Xcomplex[103X ) [32X method3375[6XReturns:[106X [33X[0;10Ya list of face lists upon success, [9Xfail[109X otherwise.[133X33763377[33X[0;0YComputes all missing proper faces of a simplicial complex [3Xcomplex[103X, i.e. the3378missing [22X(i+1)[122X-tuples in the [22Xi[122X-dimensional skeleton of a [3Xcomplex[103X. A missing3379[22Xi+1[122X-tuple is not listed if it only consists of missing [22Xi[122X-tuples. Note that3380whenever [3Xcomplex[103X is [22Xk[122X-neighborly the first [22Xk+1[122X entries are empty. The3381simplices are returned in the standard labeling [22X1,dots,n[122X, where [22Xn[122X is the3382number of vertices of [3Xcomplex[103X.[133X33833384[4X[32X Example [32X[104X3385[4X[28X gap> SCLib.SearchByName("T^2"){[1..10]}; [128X[104X3386[4X[28X [ [ 4, "T^2 (VT)" ], [ 5, "T^2 (VT)" ], [ 9, "T^2 (VT)" ], [ 10, "T^2 (VT)" ],[128X[104X3387[4X[28X [ 18, "T^2 (VT)" ], [ 20, "(T^2)#2" ], [ 24, "(T^2)#3" ], [128X[104X3388[4X[28X [ 41, "T^2 (VT)" ], [ 44, "(T^2)#4" ], [ 65, "T^2 (VT)" ] ][128X[104X3389[4X[28X gap> torus:=SCLib.Load(last[1][1]);;[128X[104X3390[4X[28X gap> SCFVector(torus);[128X[104X3391[4X[28X [ 7, 21, 14 ][128X[104X3392[4X[28X gap> SCMinimalNonFacesEx(torus);[128X[104X3393[4X[28X [ [ ], [ ] ][128X[104X3394[4X[28X gap> SCMinimalNonFacesEx(SCBdCrossPolytope(4));[128X[104X3395[4X[28X [ [ ], [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7, 8 ] ], [ ] ][128X[104X3396[4X[28X [128X[104X3397[4X[32X[104X33983399[1X6.9-51 SCNeighborliness[101X34003401[29X[2XSCNeighborliness[102X( [3Xcomplex[103X ) [32X method3402[6XReturns:[106X [33X[0;10Ya positive integer upon success, [9Xfail[109X otherwise.[133X34033404[33X[0;0YReturns [22Xk[122X if a simplicial complex [3Xcomplex[103X is [22Xk[122X-neighborly but not3405[22X(k+1)[122X-neighborly. See also [2XSCIsKNeighborly[102X ([14X6.9-43[114X).[133X34063407[33X[0;0YNote that every complex is at least [22X1[122X-neighborly.[133X34083409[4X[32X Example [32X[104X3410[4X[28X gap> c:=SCBdSimplex(4);;[128X[104X3411[4X[28X gap> SCNeighborliness(c);[128X[104X3412[4X[28X 4[128X[104X3413[4X[28X gap> c:=SCBdCrossPolytope(4);;[128X[104X3414[4X[28X gap> SCNeighborliness(c);[128X[104X3415[4X[28X 1[128X[104X3416[4X[28X gap> SCLib.SearchByAttribute("F[3]=Binomial(F[1],3) and Dim=4");[128X[104X3417[4X[28X [ [ 16, "CP^2 (VT)" ], [ 7648, "K3_16" ] ][128X[104X3418[4X[28X gap> cp2:=SCLib.Load(last[2][1]);;[128X[104X3419[4X[28X gap> SCNeighborliness(cp2);[128X[104X3420[4X[28X 3[128X[104X3421[4X[28X [128X[104X3422[4X[32X[104X34233424[1X6.9-52 SCNumFaces[101X34253426[29X[2XSCNumFaces[102X( [3Xcomplex[103X[, [3Xi[103X] ) [32X method3427[6XReturns:[106X [33X[0;10Yan integer or a list of integers upon success, [9Xfail[109X otherwise.[133X34283429[33X[0;0YIf [3Xi[103X is not specified the function computes the [22Xf[122X-vector of the simplicial3430complex [3Xcomplex[103X (cf. [2XSCFVector[102X ([14X6.9-14[114X)). If the optional integer parameter3431[3Xi[103X is passed, only the [3Xi[103X-th position of the [22Xf[122X-vector of [3Xcomplex[103X is3432calculated. In any case a memory-saving implicit algorithm is used that3433avoids calculating the face lattice of the complex.[133X34343435[4X[32X Example [32X[104X3436[4X[28X gap> complex:=SC([[1,2,3], [1,2,4], [1,3,4], [2,3,4]]);;[128X[104X3437[4X[28X gap> SCNumFaces(complex,1);[128X[104X3438[4X[28X 6[128X[104X3439[4X[28X [128X[104X3440[4X[32X[104X34413442[1X6.9-53 SCOrientation[101X34433444[29X[2XSCOrientation[102X( [3Xcomplex[103X ) [32X method3445[6XReturns:[106X [33X[0;10Ya list of the type [22X{ ± 1 }^f_d[122X or [10X[ ][110X upon success, [9Xfail[109X3446otherwise.[133X34473448[33X[0;0YThis function tries to compute an orientation of a pure simplicial complex3449[3Xcomplex[103X that fulfills the weak pseudomanifold property. If [3Xcomplex[103X is3450orientable, an orientation in form of a list of orientations for the facets3451of [3Xcomplex[103X is returned, otherwise an empty set.[133X34523453[4X[32X Example [32X[104X3454[4X[28X gap> c:=SCBdCrossPolytope(4);;[128X[104X3455[4X[28X gap> SCOrientation(c);[128X[104X3456[4X[28X [ 1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1 ][128X[104X3457[4X[28X [128X[104X3458[4X[32X[104X34593460[1X6.9-54 SCSkel[101X34613462[29X[2XSCSkel[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method3463[6XReturns:[106X [33X[0;10Ya face list or a list of face lists upon success, [9Xfail[109X otherwise.[133X34643465[33X[0;0YIf [3Xk[103X is an integer, the [3Xk[103X-skeleton of a simplicial complex [3Xcomplex[103X, i. e.3466all [3Xk[103X-faces of [3Xcomplex[103X, is computed. If [3Xk[103X is a list, a list of all3467[3Xk[103X[10X[i][110X-faces of [3Xcomplex[103X for each entry [3Xk[103X[10X[i][110X (which has to be an integer) is3468returned. The faces are returned in the original labeling.[133X34693470[4X[32X Example [32X[104X3471[4X[28X gap> SCLib.SearchByName("RP^2"); [128X[104X3472[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X3473[4X[28X gap> rp2_6:=SCLib.Load(last[1][1]);; [128X[104X3474[4X[28X gap> rp2_6:=SC(rp2_6.Facets+10);;[128X[104X3475[4X[28X gap> SCSkelEx(rp2_6,1);[128X[104X3476[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 1, 5 ], [ 1, 6 ], [ 2, 3 ], [ 2, 4 ], [128X[104X3477[4X[28X [ 2, 5 ], [ 2, 6 ], [ 3, 4 ], [ 3, 5 ], [ 3, 6 ], [ 4, 5 ], [ 4, 6 ], [128X[104X3478[4X[28X [ 5, 6 ] ][128X[104X3479[4X[28X gap> SCSkel(rp2_6,1); [128X[104X3480[4X[28X [ [ 11, 12 ], [ 11, 13 ], [ 11, 14 ], [ 11, 15 ], [ 11, 16 ], [ 12, 13 ], [128X[104X3481[4X[28X [ 12, 14 ], [ 12, 15 ], [ 12, 16 ], [ 13, 14 ], [ 13, 15 ], [ 13, 16 ], [128X[104X3482[4X[28X [ 14, 15 ], [ 14, 16 ], [ 15, 16 ] ][128X[104X3483[4X[28X [128X[104X3484[4X[32X[104X34853486[1X6.9-55 SCSkelEx[101X34873488[29X[2XSCSkelEx[102X( [3Xcomplex[103X, [3Xk[103X ) [32X method3489[6XReturns:[106X [33X[0;10Ya face list or a list of face lists upon success, [9Xfail[109X otherwise.[133X34903491[33X[0;0YIf [3Xk[103X is an integer, the [3Xk[103X-skeleton of a simplicial complex [3Xcomplex[103X, i. e.3492all [3Xk[103X-faces of [3Xcomplex[103X, is computed. If [3Xk[103X is a list, a list of all3493[3Xk[103X[10X[i][110X-faces of [3Xcomplex[103X for each entry [3Xk[103X[10X[i][110X (which has to be an integer) is3494returned. The faces are returned in the standard labeling.[133X34953496[4X[32X Example [32X[104X3497[4X[28X gap> SCLib.SearchByName("RP^2"); [128X[104X3498[4X[28X [ [ 3, "RP^2 (VT)" ], [ 635, "RP^2xS^1" ] ][128X[104X3499[4X[28X gap> rp2_6:=SCLib.Load(last[1][1]);; [128X[104X3500[4X[28X gap> rp2_6:=SC(rp2_6.Facets+10);;[128X[104X3501[4X[28X gap> SCSkelEx(rp2_6,1);[128X[104X3502[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 1, 5 ], [ 1, 6 ], [ 2, 3 ], [ 2, 4 ], [128X[104X3503[4X[28X [ 2, 5 ], [ 2, 6 ], [ 3, 4 ], [ 3, 5 ], [ 3, 6 ], [ 4, 5 ], [ 4, 6 ], [128X[104X3504[4X[28X [ 5, 6 ] ][128X[104X3505[4X[28X gap> SCSkel(rp2_6,1); [128X[104X3506[4X[28X [ [ 11, 12 ], [ 11, 13 ], [ 11, 14 ], [ 11, 15 ], [ 11, 16 ], [ 12, 13 ], [128X[104X3507[4X[28X [ 12, 14 ], [ 12, 15 ], [ 12, 16 ], [ 13, 14 ], [ 13, 15 ], [ 13, 16 ], [128X[104X3508[4X[28X [ 14, 15 ], [ 14, 16 ], [ 15, 16 ] ][128X[104X3509[4X[28X [128X[104X3510[4X[32X[104X35113512[1X6.9-56 SCSpanningTree[101X35133514[29X[2XSCSpanningTree[102X( [3Xcomplex[103X ) [32X method3515[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3516otherwise.[133X35173518[33X[0;0YComputes a spanning tree of a connected simplicial complex [3Xcomplex[103X using a3519greedy algorithm.[133X35203521[4X[32X Example [32X[104X3522[4X[28X gap> c:=SC([["a","b","c"],["a","b","d"], ["a","c","d"], ["b","c","d"]]);;[128X[104X3523[4X[28X gap> s:=SCSpanningTree(c);[128X[104X3524[4X[28X [SimplicialComplex[128X[104X3525[4X[28X [128X[104X3526[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3527[4X[28X [128X[104X3528[4X[28X Name="spanning tree of unnamed complex 1"[128X[104X3529[4X[28X Dim=1[128X[104X3530[4X[28X [128X[104X3531[4X[28X /SimplicialComplex][128X[104X3532[4X[28X gap> s.Facets;[128X[104X3533[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ] ][128X[104X3534[4X[28X [128X[104X3535[4X[32X[104X353635373538[1X6.10 [33X[0;0YOperations on simplicial complexes[133X[101X35393540[33X[0;0YThe following functions perform operations on simplicial complexes. Most of3541them return simplicial complexes. Thus, this section is closely related to3542the Sections [14X6.6[114X ''Generate new complexes from old''. However, the data3543generated here is rather seen as an intrinsic attribute of the original3544complex and not as an independent complex.[133X35453546[1X6.10-1 SCAlexanderDual[101X35473548[29X[2XSCAlexanderDual[102X( [3Xcomplex[103X ) [32X method3549[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3550otherwise.[133X35513552[33X[0;0YThe Alexander dual of a simplicial complex [3Xcomplex[103X with set of vertices [22XV[122X is3553the simplicial complex where any subset of [22XV[122X spans a face if and only if its3554complement in [22XV[122X is a non-face of [3Xcomplex[103X.[133X35553556[4X[32X Example [32X[104X3557[4X[28X gap> c:=SC([[1,2],[2,3],[3,4],[4,1]]);;[128X[104X3558[4X[28X gap> dual:=SCAlexanderDual(c);;[128X[104X3559[4X[28X gap> dual.F;[128X[104X3560[4X[28X [ 4, 2 ][128X[104X3561[4X[28X gap> dual.IsConnected;[128X[104X3562[4X[28X false[128X[104X3563[4X[28X gap> dual.Facets;[128X[104X3564[4X[28X [ [ 1, 3 ], [ 2, 4 ] ][128X[104X3565[4X[28X [128X[104X3566[4X[32X[104X35673568[1X6.10-2 SCClose[101X35693570[29X[2XSCClose[102X( [3Xcomplex[103X[, [3Xapex[103X] ) [32X function3571[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3572otherwise.[133X35733574[33X[0;0YCloses a simplicial complex [3Xcomplex[103X by building a cone over its boundary. If3575[3Xapex[103X is specified it is assigned to the apex of the cone and the original3576vertex labeling of [3Xcomplex[103X is preserved, otherwise an arbitrary vertex label3577is chosen and [3Xcomplex[103X is returned in the standard labeling.[133X35783579[4X[32X Example [32X[104X3580[4X[28X gap> s:=SCSimplex(5);; [128X[104X3581[4X[28X gap> b:=SCSimplex(5);;[128X[104X3582[4X[28X gap> s:=SCClose(b,13);;[128X[104X3583[4X[28X gap> SCIsIsomorphic(s,SCBdSimplex(6)); [128X[104X3584[4X[28X true[128X[104X3585[4X[28X [128X[104X3586[4X[32X[104X35873588[1X6.10-3 SCCone[101X35893590[29X[2XSCCone[102X( [3Xcomplex[103X, [3Xapex[103X ) [32X function3591[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3592otherwise.[133X35933594[33X[0;0YIf the second argument is passed every facet of the simplicial complex3595[3Xcomplex[103X is united with [3Xapex[103X. If not, an arbitrary vertex label [22Xv[122X is used3596(which is not a vertex of [3Xcomplex[103X). In the first case the vertex labeling3597remains unchanged. In the second case the function returns the new complex3598in the standard vertex labeling from [22X1[122X to [22Xn+1[122X and the apex of the cone is3599[22Xn+1[122X.[133X36003601[33X[0;0YIf called with a facet list instead of a [10XSCSimplicialComplex[110X object and [3Xapex[103X3602is not specified, internally falls back to the homology package [DHSW11], if3603available.[133X36043605[4X[32X Example [32X[104X3606[4X[28X gap> SCLib.SearchByName("RP^3");[128X[104X3607[4X[28X [ [ 45, "RP^3" ], [ 113, "RP^3=L(2,1) (VT)" ], [ 589, "(S^2~S^1)#RP^3" ], [128X[104X3608[4X[28X [ 590, "(S^2xS^1)#RP^3" ], [ 632, "(S^2~S^1)#2#RP^3" ], [128X[104X3609[4X[28X [ 633, "(S^2xS^1)#2#RP^3" ], [ 2414, "RP^3#RP^3" ], [128X[104X3610[4X[28X [ 2426, "RP^3=L(2,1) (VT)" ], [ 2488, "(S^2~S^1)#3#RP^3" ], [128X[104X3611[4X[28X [ 2489, "(S^2xS^1)#3#RP^3" ], [ 2502, "RP^3=L(2,1) (VT)" ], [128X[104X3612[4X[28X [ 7473, "(S^2~S^1)#4#RP^3" ], [ 7474, "(S^2xS^1)#4#RP^3" ], [128X[104X3613[4X[28X [ 7504, "(S^2~S^1)#5#RP^3" ], [ 7505, "(S^2xS^1)#5#RP^3" ] ][128X[104X3614[4X[28X gap> rp3:=SCLib.Load(last[1][1]);;[128X[104X3615[4X[28X gap> rp3.F;[128X[104X3616[4X[28X [ 11, 51, 80, 40 ][128X[104X3617[4X[28X gap> cone:=SCCone(rp3);;[128X[104X3618[4X[28X gap> cone.F;[128X[104X3619[4X[28X [ 12, 62, 131, 120, 40 ][128X[104X3620[4X[28X [128X[104X3621[4X[32X[104X36223623[4X[32X Example [32X[104X3624[4X[28X gap> s:=SCBdSimplex(4)+12;;[128X[104X3625[4X[28X gap> s.Facets; [128X[104X3626[4X[28X [ [ 13, 14, 15, 16 ], [ 13, 14, 15, 17 ], [ 13, 14, 16, 17 ], [128X[104X3627[4X[28X [ 13, 15, 16, 17 ], [ 14, 15, 16, 17 ] ][128X[104X3628[4X[28X gap> cc:=SCCone(s,13);; [128X[104X3629[4X[28X gap> cc:=SCCone(s,12);;[128X[104X3630[4X[28X gap> cc.Facets;[128X[104X3631[4X[28X [ [ 12, 13, 14, 15, 16 ], [ 12, 13, 14, 15, 17 ], [ 12, 13, 14, 16, 17 ], [128X[104X3632[4X[28X [ 12, 13, 15, 16, 17 ], [ 12, 14, 15, 16, 17 ] ][128X[104X3633[4X[28X [128X[104X3634[4X[32X[104X36353636[1X6.10-4 SCDeletedJoin[101X36373638[29X[2XSCDeletedJoin[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3639[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3640otherwise.[133X36413642[33X[0;0YCalculates the simplicial deleted join of the simplicial complexes [3Xcomplex1[103X3643and [3Xcomplex2[103X. If called with a facet list instead of a [10XSCSimplicialComplex[110X3644object, the function internally falls back to the [5Xhomology[105X package [DHSW11],3645if available.[133X36463647[4X[32X Example [32X[104X3648[4X[28X gap> deljoin:=SCDeletedJoin(SCBdSimplex(3),SCBdSimplex(3));[128X[104X3649[4X[28X [SimplicialComplex[128X[104X3650[4X[28X [128X[104X3651[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3652[4X[28X [128X[104X3653[4X[28X Name="S^2_4 deljoin S^2_4"[128X[104X3654[4X[28X Dim=3[128X[104X3655[4X[28X [128X[104X3656[4X[28X /SimplicialComplex][128X[104X3657[4X[28X gap> bddeljoin:=SCBoundary(deljoin);;[128X[104X3658[4X[28X gap> bddeljoin.Homology;[128X[104X3659[4X[28X [ [ 1, [ ] ], [ 0, [ ] ], [ 2, [ ] ] ][128X[104X3660[4X[28X gap> deljoin.Facets;[128X[104X3661[4X[28X [ [ [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 4, 2 ] ], [128X[104X3662[4X[28X [ [ 1, 1 ], [ 2, 1 ], [ 3, 2 ], [ 4, 1 ] ], [128X[104X3663[4X[28X [ [ 1, 1 ], [ 2, 1 ], [ 3, 2 ], [ 4, 2 ] ], [128X[104X3664[4X[28X [ [ 1, 1 ], [ 2, 2 ], [ 3, 1 ], [ 4, 1 ] ], [128X[104X3665[4X[28X [ [ 1, 1 ], [ 2, 2 ], [ 3, 1 ], [ 4, 2 ] ], [128X[104X3666[4X[28X [ [ 1, 1 ], [ 2, 2 ], [ 3, 2 ], [ 4, 1 ] ], [128X[104X3667[4X[28X [ [ 1, 1 ], [ 2, 2 ], [ 3, 2 ], [ 4, 2 ] ], [128X[104X3668[4X[28X [ [ 1, 2 ], [ 2, 1 ], [ 3, 1 ], [ 4, 1 ] ], [128X[104X3669[4X[28X [ [ 1, 2 ], [ 2, 1 ], [ 3, 1 ], [ 4, 2 ] ], [128X[104X3670[4X[28X [ [ 1, 2 ], [ 2, 1 ], [ 3, 2 ], [ 4, 1 ] ], [128X[104X3671[4X[28X [ [ 1, 2 ], [ 2, 1 ], [ 3, 2 ], [ 4, 2 ] ], [128X[104X3672[4X[28X [ [ 1, 2 ], [ 2, 2 ], [ 3, 1 ], [ 4, 1 ] ], [128X[104X3673[4X[28X [ [ 1, 2 ], [ 2, 2 ], [ 3, 1 ], [ 4, 2 ] ], [128X[104X3674[4X[28X [ [ 1, 2 ], [ 2, 2 ], [ 3, 2 ], [ 4, 1 ] ] ][128X[104X3675[4X[28X [128X[104X3676[4X[32X[104X36773678[1X6.10-5 SCDifference[101X36793680[29X[2XSCDifference[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3681[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3682otherwise.[133X36833684[33X[0;0YForms the ``difference'' of two simplicial complexes [3Xcomplex1[103X and [3Xcomplex2[103X3685as the simplicial complex formed by the difference of the face lattices of3686[3Xcomplex1[103X minus [3Xcomplex2[103X. The two arguments are not altered. Note: for the3687difference process the vertex labelings of the complexes are taken into3688account, see also [2XOperation Difference (SCSimplicialComplex,3689SCSimplicialComplex)[102X ([14X5.3-2[114X).[133X36903691[4X[32X Example [32X[104X3692[4X[28X gap> c:=SCBdSimplex(3);;[128X[104X3693[4X[28X gap> d:=SC([[1,2,3]]);;[128X[104X3694[4X[28X gap> disc:=SCDifference(c,d);;[128X[104X3695[4X[28X gap> disc.Facets;[128X[104X3696[4X[28X [ [ 1, 2, 4 ], [ 1, 3, 4 ], [ 2, 3, 4 ] ][128X[104X3697[4X[28X gap> empty:=SCDifference(d,c);;[128X[104X3698[4X[28X gap> empty.Dim;[128X[104X3699[4X[28X -1[128X[104X3700[4X[28X [128X[104X3701[4X[32X[104X37023703[1X6.10-6 SCFillSphere[101X37043705[29X[2XSCFillSphere[102X( [3Xcomplex[103X[, [3Xvertex[103X] ) [32X function3706[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3707otherwise .[133X37083709[33X[0;0YFills the given simplicial sphere [3Xcomplex[103X by forming the suspension of the3710anti star of [3Xvertex[103X over [3Xvertex[103X. This is a triangulated [22X(d+1)[122X-ball with the3711boundary [3Xcomplex[103X, see [BD08]. If the optional argument [3Xvertex[103X is not3712supplied, the first vertex of [3Xcomplex[103X is chosen.[133X37133714[33X[0;0YNote that it is not checked whether [3Xcomplex[103X really is a simplicial sphere --3715this has to be done by the user![133X37163717[4X[32X Example [32X[104X3718[4X[28X gap> SCLib.SearchByName("S^4");[128X[104X3719[4X[28X [ [ 36, "S^4 (VT)" ], [ 37, "S^4 (VT)" ], [ 38, "S^4 (VT)" ], [128X[104X3720[4X[28X [ 130, "S^4 (VT)" ], [ 463, "S^4~S^1 (VT)" ], [ 713, "S^4xS^1 (VT)" ], [128X[104X3721[4X[28X [ 1472, "S^4xS^1 (VT)" ], [ 1473, "S^4~S^1 (VT)" ], [128X[104X3722[4X[28X [ 1474, "S^4~S^1 (VT)" ], [ 1475, "S^4xS^1 (VT)" ], [128X[104X3723[4X[28X [ 2477, "S^4~S^1 (VT)" ], [ 2478, "S^4 (VT)" ], [ 3435, "S^4 (VT)" ], [128X[104X3724[4X[28X [ 4395, "S^4~S^1 (VT)" ], [ 4396, "S^4~S^1 (VT)" ], [128X[104X3725[4X[28X [ 4397, "S^4~S^1 (VT)" ], [ 4398, "S^4~S^1 (VT)" ], [128X[104X3726[4X[28X [ 4399, "S^4~S^1 (VT)" ], [ 4402, "S^4~S^1 (VT)" ], [128X[104X3727[4X[28X [ 4403, "S^4~S^1 (VT)" ], [ 4404, "S^4~S^1 (VT)" ], [ 7479, "S^4xS^2" ], [128X[104X3728[4X[28X [ 7539, "S^4xS^3" ], [ 7573, "S^4xS^4" ] ][128X[104X3729[4X[28X gap> s:=SCLib.Load(last[1][1]);;[128X[104X3730[4X[28X gap> filled:=SCFillSphere(s);[128X[104X3731[4X[28X [SimplicialComplex[128X[104X3732[4X[28X [128X[104X3733[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3734[4X[28X [128X[104X3735[4X[28X Name="FilledSphere(S^4 (VT)) at vertex [ 1 ]"[128X[104X3736[4X[28X Dim=5[128X[104X3737[4X[28X [128X[104X3738[4X[28X /SimplicialComplex][128X[104X3739[4X[28X gap> SCHomology(filled);[128X[104X3740[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [128X[104X3741[4X[28X [ 0, [ ] ] ][128X[104X3742[4X[28X gap> SCCollapseGreedy(filled);[128X[104X3743[4X[28X [SimplicialComplex[128X[104X3744[4X[28X [128X[104X3745[4X[28X Properties known: Dim, FVector, FacetsEx, IsPure, Name, NumFaces[], [128X[104X3746[4X[28X SkelExs[], Vertices.[128X[104X3747[4X[28X [128X[104X3748[4X[28X Name="collapsed version of FilledSphere(S^4 (VT)) at vertex [ 1 ]"[128X[104X3749[4X[28X Dim=0[128X[104X3750[4X[28X FVector=[ 1 ][128X[104X3751[4X[28X IsPure=true[128X[104X3752[4X[28X [128X[104X3753[4X[28X /SimplicialComplex][128X[104X3754[4X[28X gap> bd:=SCBoundary(filled);;[128X[104X3755[4X[28X gap> bd=s;[128X[104X3756[4X[28X true[128X[104X3757[4X[28X [128X[104X3758[4X[32X[104X37593760[1X6.10-7 SCHandleAddition[101X37613762[29X[2XSCHandleAddition[102X( [3Xcomplex[103X, [3Xf1[103X, [3Xf2[103X ) [32X method3763[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X, [9Xfail[109X otherwise.[133X37643765[33X[0;0YReturns a simplicial complex obtained by identifying the vertices of facet3766[3Xf1[103X with the ones from facet [3Xf2[103X in [3Xcomplex[103X. A combinatorial handle addition3767is possible, whenever we have d[22X(v,w) ≥ 3[122X for any two vertices [22Xv ∈[122X[3Xf1[103X and [22Xw3768∈[122X[3Xf2[103X, where d[22X(⋅,⋅)[122X is the length of the shortest path from [22Xv[122X to [22Xw[122X. This3769condition is not checked by this algorithm. See [BD11] for further3770information.[133X37713772[4X[32X Example [32X[104X3773[4X[28X gap> c:=SC([[1,2,4],[2,4,5],[2,3,5],[3,5,6],[1,3,6],[1,4,6]]);;[128X[104X3774[4X[28X gap> c:=SCUnion(c,SCUnion(SCCopy(c)+3,SCCopy(c)+6));;[128X[104X3775[4X[28X gap> c:=SCUnion(c,SC([[1,2,3],[10,11,12]]));;[128X[104X3776[4X[28X gap> c.Facets;[128X[104X3777[4X[28X [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 3, 6 ], [ 1, 4, 6 ], [ 2, 3, 5 ], [128X[104X3778[4X[28X [ 2, 4, 5 ], [ 3, 5, 6 ], [ 4, 5, 7 ], [ 4, 6, 9 ], [ 4, 7, 9 ], [128X[104X3779[4X[28X [ 5, 6, 8 ], [ 5, 7, 8 ], [ 6, 8, 9 ], [ 7, 8, 10 ], [ 7, 9, 12 ], [128X[104X3780[4X[28X [ 7, 10, 12 ], [ 8, 9, 11 ], [ 8, 10, 11 ], [ 9, 11, 12 ], [ 10, 11, 12 ] ][128X[104X3781[4X[28X gap> c.Homology;[128X[104X3782[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X3783[4X[28X gap> torus:=SCHandleAddition(c,[1,2,3],[10,11,12]);;[128X[104X3784[4X[28X gap> torus.Homology;[128X[104X3785[4X[28X [ [ 0, [ ] ], [ 2, [ ] ], [ 1, [ ] ] ][128X[104X3786[4X[28X gap> ism:=SCIsManifold(torus);;[128X[104X3787[4X[28X gap> ism;[128X[104X3788[4X[28X true[128X[104X3789[4X[28X [128X[104X3790[4X[32X[104X37913792[1X6.10-8 SCIntersection[101X37933794[29X[2XSCIntersection[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3795[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3796otherwise.[133X37973798[33X[0;0YForms the ``intersection'' of two simplicial complexes [3Xcomplex1[103X and [3Xcomplex2[103X3799as the simplicial complex formed by the intersection of the face lattices of3800[3Xcomplex1[103X and [3Xcomplex2[103X. The two arguments are not altered. Note: for the3801intersection process the vertex labelings of the complexes are taken into3802account. See also [2XOperation Intersection (SCSimplicialComplex,3803SCSimplicialComplex)[102X ([14X5.3-3[114X).[133X38043805[4X[32X Example [32X[104X3806[4X[28X gap> c:=SCBdSimplex(3);; [128X[104X3807[4X[28X gap> d:=SCBdSimplex(3)+1;; [128X[104X3808[4X[28X gap> d.Facets;[128X[104X3809[4X[28X [ [ 2, 3, 4 ], [ 2, 3, 5 ], [ 2, 4, 5 ], [ 3, 4, 5 ] ][128X[104X3810[4X[28X gap> c:=SCBdSimplex(3);; [128X[104X3811[4X[28X gap> d:=SCBdSimplex(3);; [128X[104X3812[4X[28X gap> d:=SCMove(d,[[1,2,3],[]])+1;;[128X[104X3813[4X[28X gap> s1:=SCIntersection(c,d);;[128X[104X3814[4X[28X gap> s1.Facets; [128X[104X3815[4X[28X [ [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ][128X[104X3816[4X[28X [128X[104X3817[4X[32X[104X38183819[1X6.10-9 SCIsIsomorphic[101X38203821[29X[2XSCIsIsomorphic[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3822[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X38233824[33X[0;0YThe function returns [9Xtrue[109X, if the simplicial complexes [3Xcomplex1[103X and [3Xcomplex2[103X3825are combinatorially isomorphic, [9Xfalse[109X if not.[133X38263827[4X[32X Example [32X[104X3828[4X[28X gap> c1:=SC([[11,12,13],[11,12,14],[11,13,14],[12,13,14]]);;[128X[104X3829[4X[28X gap> c2:=SCBdSimplex(3);;[128X[104X3830[4X[28X gap> SCIsIsomorphic(c1,c2);[128X[104X3831[4X[28X true[128X[104X3832[4X[28X gap> c3:=SCBdCrossPolytope(3);;[128X[104X3833[4X[28X gap> SCIsIsomorphic(c1,c3);[128X[104X3834[4X[28X false[128X[104X3835[4X[28X [128X[104X3836[4X[32X[104X38373838[1X6.10-10 SCIsSubcomplex[101X38393840[29X[2XSCIsSubcomplex[102X( [3Xsc1[103X, [3Xsc2[103X ) [32X method3841[6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X38423843[33X[0;0YReturns [9Xtrue[109X if the simplicial complex [3Xsc2[103X is a sub-complex of simplicial3844complex [3Xsc1[103X, [9Xfalse[109X otherwise. If dim([3Xsc2[103X) [22X≤[122X dim([3Xsc1[103X) the facets of [3Xsc2[103X are3845compared with the dim([3Xsc2[103X)-skeleton of [3Xsc1[103X. Only works for pure simplicial3846complexes. Note: for the intersection process the vertex labelings of the3847complexes are taken into account.[133X38483849[4X[32X Example [32X[104X3850[4X[28X gap> SCLib.SearchByAttribute("F[1]=10"){[1..10]};[128X[104X3851[4X[28X [ [ 17, "K^2 (VT)" ], [ 18, "T^2 (VT)" ], [ 19, "S^3 (VT)" ], [128X[104X3852[4X[28X [ 20, "(T^2)#2" ], [ 21, "S^3 (VT)" ], [ 22, "S^2xS^1 (VT)" ], [128X[104X3853[4X[28X [ 23, "S^3 (VT)" ], [ 24, "(T^2)#3" ], [ 25, "(P^2)#7 (VT)" ], [128X[104X3854[4X[28X [ 26, "S^3 (VT)" ] ][128X[104X3855[4X[28X gap> k:=SCLib.Load(last[1][1]);;[128X[104X3856[4X[28X gap> c:=SCBdSimplex(9);;[128X[104X3857[4X[28X gap> k.F;[128X[104X3858[4X[28X [ 10, 30, 20 ][128X[104X3859[4X[28X gap> c.F;[128X[104X3860[4X[28X [ 10, 45, 120, 210, 252, 210, 120, 45, 10 ][128X[104X3861[4X[28X gap> SCIsSubcomplex(c,k);[128X[104X3862[4X[28X true[128X[104X3863[4X[28X gap> SCIsSubcomplex(k,c);[128X[104X3864[4X[28X false[128X[104X3865[4X[28X [128X[104X3866[4X[32X[104X38673868[1X6.10-11 SCIsomorphism[101X38693870[29X[2XSCIsomorphism[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3871[6XReturns:[106X [33X[0;10Ya list of pairs of vertex labels or [9Xfalse[109X upon success, [9Xfail[109X3872otherwise.[133X38733874[33X[0;0YReturns an isomorphism of simplicial complex [3Xcomplex1[103X to simplicial complex3875[3Xcomplex2[103X in the standard labeling if they are combinatorially isomorphic,3876[9Xfalse[109X otherwise. Internally calls [2XSCIsomorphismEx[102X ([14X6.10-12[114X).[133X38773878[4X[32X Example [32X[104X3879[4X[28X gap> c1:=SC([[11,12,13],[11,12,14],[11,13,14],[12,13,14]]);;[128X[104X3880[4X[28X gap> c2:=SCBdSimplex(3);;[128X[104X3881[4X[28X gap> SCIsomorphism(c1,c2);[128X[104X3882[4X[28X [ [ 11, 1 ], [ 12, 2 ], [ 13, 3 ], [ 14, 4 ] ][128X[104X3883[4X[28X gap> SCIsomorphismEx(c1,c2);[128X[104X3884[4X[28X [ [ [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ] ] ][128X[104X3885[4X[28X [128X[104X3886[4X[32X[104X38873888[1X6.10-12 SCIsomorphismEx[101X38893890[29X[2XSCIsomorphismEx[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3891[6XReturns:[106X [33X[0;10Ya list of pairs of vertex labels or [9Xfalse[109X upon success, [9Xfail[109X3892otherwise.[133X38933894[33X[0;0YReturns an isomorphism of simplicial complex [3Xcomplex1[103X to simplicial complex3895[3Xcomplex2[103X in the standard labeling if they are combinatorially isomorphic,3896[9Xfalse[109X otherwise. If the [22Xf[122X-vector and the Altshuler-Steinberg determinant of3897[3Xcomplex1[103X and [3Xcomplex2[103X are equal, the internal function3898[10XSCIntFunc.SCComputeIsomorphismsEx(complex1,complex2,true)[110X is called.[133X38993900[4X[32X Example [32X[104X3901[4X[28X gap> c1:=SC([[11,12,13],[11,12,14],[11,13,14],[12,13,14]]);;[128X[104X3902[4X[28X gap> c2:=SCBdSimplex(3);;[128X[104X3903[4X[28X gap> SCIsomorphism(c1,c2);[128X[104X3904[4X[28X [ [ 11, 1 ], [ 12, 2 ], [ 13, 3 ], [ 14, 4 ] ][128X[104X3905[4X[28X gap> SCIsomorphismEx(c1,c2);[128X[104X3906[4X[28X [ [ [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ] ] ][128X[104X3907[4X[28X [128X[104X3908[4X[32X[104X39093910[1X6.10-13 SCJoin[101X39113912[29X[2XSCJoin[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method3913[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X3914otherwise.[133X39153916[33X[0;0YCalculates the simplicial join of the simplicial complexes [3Xcomplex1[103X and3917[3Xcomplex2[103X. If facet lists instead of [10XSCSimplicialComplex[110X objects are passed3918as arguments, the function internally falls back to the homology package3919[DHSW11], if available. Note that the vertex labelings of the complexes3920passed as arguments are not propagated to the new complex.[133X39213922[4X[32X Example [32X[104X3923[4X[28X gap> sphere:=SCJoin(SCBdSimplex(2),SCBdSimplex(2));[128X[104X3924[4X[28X [SimplicialComplex[128X[104X3925[4X[28X [128X[104X3926[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3927[4X[28X [128X[104X3928[4X[28X Name="S^1_3 join S^1_3"[128X[104X3929[4X[28X Dim=3[128X[104X3930[4X[28X [128X[104X3931[4X[28X /SimplicialComplex][128X[104X3932[4X[28X gap> SCHasBoundary(sphere);[128X[104X3933[4X[28X false[128X[104X3934[4X[28X gap> sphere.Facets;[128X[104X3935[4X[28X [ [ [ 1, 1 ], [ 1, 2 ], [ 2, 1 ], [ 2, 2 ] ], [128X[104X3936[4X[28X [ [ 1, 1 ], [ 1, 2 ], [ 2, 1 ], [ 2, 3 ] ], [128X[104X3937[4X[28X [ [ 1, 1 ], [ 1, 2 ], [ 2, 2 ], [ 2, 3 ] ], [128X[104X3938[4X[28X [ [ 1, 1 ], [ 1, 3 ], [ 2, 1 ], [ 2, 2 ] ], [128X[104X3939[4X[28X [ [ 1, 1 ], [ 1, 3 ], [ 2, 1 ], [ 2, 3 ] ], [128X[104X3940[4X[28X [ [ 1, 1 ], [ 1, 3 ], [ 2, 2 ], [ 2, 3 ] ], [128X[104X3941[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 2 ] ], [128X[104X3942[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 3 ] ], [128X[104X3943[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 2, 2 ], [ 2, 3 ] ] ][128X[104X3944[4X[28X gap> sphere.Homology;[128X[104X3945[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X3946[4X[28X [128X[104X3947[4X[32X[104X39483949[4X[32X Example [32X[104X3950[4X[28X gap> ball:=SCJoin(SC([[1]]),SCBdSimplex(2));[128X[104X3951[4X[28X [SimplicialComplex[128X[104X3952[4X[28X [128X[104X3953[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3954[4X[28X [128X[104X3955[4X[28X Name="unnamed complex 4 join S^1_3"[128X[104X3956[4X[28X Dim=2[128X[104X3957[4X[28X [128X[104X3958[4X[28X /SimplicialComplex][128X[104X3959[4X[28X gap> ball.Homology;[128X[104X3960[4X[28X [ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ] ][128X[104X3961[4X[28X gap> ball.Facets;[128X[104X3962[4X[28X [ [ [ 1, 1 ], [ 2, 1 ], [ 2, 2 ] ], [ [ 1, 1 ], [ 2, 1 ], [ 2, 3 ] ], [128X[104X3963[4X[28X [ [ 1, 1 ], [ 2, 2 ], [ 2, 3 ] ] ][128X[104X3964[4X[28X [128X[104X3965[4X[32X[104X39663967[1X6.10-14 SCNeighbors[101X39683969[29X[2XSCNeighbors[102X( [3Xcomplex[103X, [3Xface[103X ) [32X method3970[6XReturns:[106X [33X[0;10Ya list of faces upon success, [9Xfail[109X otherwise.[133X39713972[33X[0;0YIn a simplicial complex [3Xcomplex[103X all neighbors of the [10Xk[110X-face [3Xface[103X, i. e. all3973[10Xk[110X-faces distinct from [3Xface[103X intersecting with [3Xface[103X in a common [22X(k-1)[122X-face,3974are returned in the original labeling.[133X39753976[4X[32X Example [32X[104X3977[4X[28X gap> c:=SCFromFacets(Combinations(["a","b","c"],2));[128X[104X3978[4X[28X [SimplicialComplex[128X[104X3979[4X[28X [128X[104X3980[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X3981[4X[28X [128X[104X3982[4X[28X Name="unnamed complex 22"[128X[104X3983[4X[28X Dim=1[128X[104X3984[4X[28X [128X[104X3985[4X[28X /SimplicialComplex][128X[104X3986[4X[28X gap> SCNeighbors(c,["a","d"]);[128X[104X3987[4X[28X [ [ "a", "b" ], [ "a", "c" ] ][128X[104X3988[4X[28X [128X[104X3989[4X[32X[104X39903991[1X6.10-15 SCNeighborsEx[101X39923993[29X[2XSCNeighborsEx[102X( [3Xcomplex[103X, [3Xface[103X ) [32X method3994[6XReturns:[106X [33X[0;10Ya list of faces upon success, [9Xfail[109X otherwise.[133X39953996[33X[0;0YIn a simplicial complex [3Xcomplex[103X all neighbors of the [10Xk[110X-face [3Xface[103X, i. e. all3997[10Xk[110X-faces distinct from [3Xface[103X intersecting with [3Xface[103X in a common [22X(k-1)[122X-face,3998are returned in the standard labeling.[133X39994000[4X[32X Example [32X[104X4001[4X[28X gap> c:=SCFromFacets(Combinations(["a","b","c"],2));[128X[104X4002[4X[28X [SimplicialComplex[128X[104X4003[4X[28X [128X[104X4004[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X4005[4X[28X [128X[104X4006[4X[28X Name="unnamed complex 21"[128X[104X4007[4X[28X Dim=1[128X[104X4008[4X[28X [128X[104X4009[4X[28X /SimplicialComplex][128X[104X4010[4X[28X gap> SCLabels(c);[128X[104X4011[4X[28X [ "a", "b", "c" ][128X[104X4012[4X[28X gap> SCNeighborsEx(c,[1,2]);[128X[104X4013[4X[28X [ [ 1, 3 ], [ 2, 3 ] ][128X[104X4014[4X[28X [128X[104X4015[4X[32X[104X40164017[1X6.10-16 SCShelling[101X40184019[29X[2XSCShelling[102X( [3Xcomplex[103X ) [32X method4020[6XReturns:[106X [33X[0;10Ya facet list or [9Xfalse[109X upon success, [9Xfail[109X otherwise.[133X40214022[33X[0;0YThe simplicial complex [3Xcomplex[103X must be pure, strongly connected and must4023fulfill the weak pseudomanifold property with non-empty boundary (cf.4024[2XSCBoundary[102X ([14X6.9-7[114X)).[133X40254026[33X[0;0YAn ordering [22X(F_1, F_2, ... , F_r)[122X on the facet list of a simplicial complex4027is a shelling if and only if [22XF_i ∩ (F_1 ∪ ... ∪ F_i-1)[122X is a pure simplicial4028complex of dimension [22Xd-1[122X for all [22Xi = 1, ... , r[122X.[133X40294030[33X[0;0YThe function checks whether [3Xcomplex[103X is shellable or not. In the first case a4031permuted version of the facet list of [3Xcomplex[103X is returned encoding a4032shelling of [3Xcomplex[103X, otherwise [9Xfalse[109X is returned.[133X40334034[33X[0;0YInternally calls [2XSCShellingExt[102X ([14X6.10-17[114X)[10X(complex,false,[]);[110X. To learn more4035about shellings see [Zie95], [Pac87].[133X40364037[4X[32X Example [32X[104X4038[4X[28X gap> c:=SC([[1,2,3],[1,2,4],[1,3,4]]);;[128X[104X4039[4X[28X gap> SCShelling(c);[128X[104X4040[4X[28X [ [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 3, 4 ] ] ][128X[104X4041[4X[28X [128X[104X4042[4X[32X[104X40434044[1X6.10-17 SCShellingExt[101X40454046[29X[2XSCShellingExt[102X( [3Xcomplex[103X, [3Xall[103X, [3Xcheckvector[103X ) [32X method4047[6XReturns:[106X [33X[0;10Ya list of facet lists (if [3Xcheckvector = [][103X) or [9Xtrue[109X or [9Xfalse[109X (if4048[3Xcheckvector[103X is not empty), [9Xfail[109X otherwise.[133X40494050[33X[0;0YThe simplicial complex [3Xcomplex[103X must be pure of dimension [22Xd[122X, strongly4051connected and must fulfill the weak pseudomanifold property with non-empty4052boundary (cf. [2XSCBoundary[102X ([14X6.9-7[114X)).[133X40534054[33X[0;0YAn ordering [22X(F_1, F_2, ... , F_r)[122X on the facet list of a simplicial complex4055is a shelling if and only if [22XF_i ∩ (F_1 ∪ ... ∪ F_i-1)[122X is a pure simplicial4056complex of dimension [22Xd-1[122X for all [22Xi = 1, ... , r[122X.[133X40574058[33X[0;0YIf [3Xall[103X is set to [9Xtrue[109X all possible shellings of [3Xcomplex[103X are computed. If [3Xall[103X4059is set to [9Xfalse[109X, at most one shelling is computed.[133X40604061[33X[0;0YEvery shelling is represented as a permuted version of the facet list of4062[3Xcomplex[103X. The list [3Xcheckvector[103X encodes a shelling in a shorter form. It only4063contains the indices of the facets. If an order of indices is assigned to4064[3Xcheckvector[103X the function tests whether it is a valid shelling or not.[133X40654066[33X[0;0YSee [Zie95], [Pac87] to learn more about shellings.[133X40674068[4X[32X Example [32X[104X4069[4X[28X gap> c:=SCBdSimplex(4);;[128X[104X4070[4X[28X gap> c:=SCDifference(c,SC([c.Facets[1]]));; # bounded version[128X[104X4071[4X[28X gap> all:=SCShellingExt(c,true,[]);;[128X[104X4072[4X[28X gap> Size(all); [128X[104X4073[4X[28X 24[128X[104X4074[4X[28X gap> all[1];[128X[104X4075[4X[28X [ [ 1, 2, 3, 5 ], [ 1, 2, 4, 5 ], [ 1, 3, 4, 5 ], [ 2, 3, 4, 5 ] ][128X[104X4076[4X[28X gap> all:=SCShellingExt(c,false,[]);[128X[104X4077[4X[28X [ [ [ 1, 2, 3, 5 ], [ 1, 2, 4, 5 ], [ 1, 3, 4, 5 ], [ 2, 3, 4, 5 ] ] ][128X[104X4078[4X[28X gap> all:=SCShellingExt(c,true,[1..4]);[128X[104X4079[4X[28X true[128X[104X4080[4X[28X [128X[104X4081[4X[32X[104X40824083[1X6.10-18 SCShellings[101X40844085[29X[2XSCShellings[102X( [3Xcomplex[103X ) [32X method4086[6XReturns:[106X [33X[0;10Ya list of facet lists upon success, [9Xfail[109X otherwise.[133X40874088[33X[0;0YThe simplicial complex [3Xcomplex[103X must be pure, strongly connected and must4089fulfill the weak pseudomanifold property with non-empty boundary (cf.4090[2XSCBoundary[102X ([14X6.9-7[114X)).[133X40914092[33X[0;0YAn ordering [22X(F_1, F_2, ... , F_r)[122X on the facet list of a simplicial complex4093is a shelling if and only if [22XF_i ∩ (F_1 ∪ ... ∪ F_i-1)[122X is a pure simplicial4094complex of dimension [22Xd-1[122X for all [22Xi = 1, ... , r[122X.[133X40954096[33X[0;0YThe function checks whether [3Xcomplex[103X is shellable or not. In the first case a4097list of permuted facet lists of [3Xcomplex[103X is returned containing all possible4098shellings of [3Xcomplex[103X, otherwise [9Xfalse[109X is returned.[133X40994100[33X[0;0YInternally calls [2XSCShellingExt[102X ([14X6.10-17[114X)[10X(complex,true,[]);[110X. To learn more4101about shellings see [Zie95], [Pac87].[133X41024103[4X[32X Example [32X[104X4104[4X[28X gap> c:=SC([[1,2,3],[1,2,4],[1,3,4]]);;[128X[104X4105[4X[28X gap> SCShellings(c);[128X[104X4106[4X[28X [ [ [ 1, 2, 3 ], [ 1, 2, 4 ], [ 1, 3, 4 ] ], [128X[104X4107[4X[28X [ [ 1, 2, 3 ], [ 1, 3, 4 ], [ 1, 2, 4 ] ], [128X[104X4108[4X[28X [ [ 1, 2, 4 ], [ 1, 2, 3 ], [ 1, 3, 4 ] ], [128X[104X4109[4X[28X [ [ 1, 3, 4 ], [ 1, 2, 3 ], [ 1, 2, 4 ] ], [128X[104X4110[4X[28X [ [ 1, 2, 4 ], [ 1, 3, 4 ], [ 1, 2, 3 ] ], [128X[104X4111[4X[28X [ [ 1, 3, 4 ], [ 1, 2, 4 ], [ 1, 2, 3 ] ] ][128X[104X4112[4X[28X [128X[104X4113[4X[32X[104X41144115[1X6.10-19 SCSpan[101X41164117[29X[2XSCSpan[102X( [3Xcomplex[103X, [3Xsubset[103X ) [32X method4118[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X4119otherwise.[133X41204121[33X[0;0YComputes the reduced face lattice of all faces of a simplicial complex4122[3Xcomplex[103X that are spanned by [3Xsubset[103X, a subset of the set of vertices of4123[3Xcomplex[103X.[133X41244125[4X[32X Example [32X[104X4126[4X[28X gap> c:=SCBdCrossPolytope(4);;[128X[104X4127[4X[28X gap> SCVertices(c);[128X[104X4128[4X[28X [ 1, 2, 3, 4, 5, 6, 7, 8 ][128X[104X4129[4X[28X gap> span:=SCSpan(c,[1,2,3,4]);[128X[104X4130[4X[28X [SimplicialComplex[128X[104X4131[4X[28X [128X[104X4132[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X4133[4X[28X [128X[104X4134[4X[28X Name="span([ 1, 2, 3, 4 ]) in Bd(\beta^4)"[128X[104X4135[4X[28X Dim=1[128X[104X4136[4X[28X [128X[104X4137[4X[28X /SimplicialComplex][128X[104X4138[4X[28X gap> span.Facets;[128X[104X4139[4X[28X [ [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ] ][128X[104X4140[4X[28X [128X[104X4141[4X[32X[104X41424143[4X[32X Example [32X[104X4144[4X[28X gap> c:=SC([[1,2],[1,4,5],[2,3,4]]);;[128X[104X4145[4X[28X gap> span:=SCSpan(c,[2,3,5]);[128X[104X4146[4X[28X [SimplicialComplex[128X[104X4147[4X[28X [128X[104X4148[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X4149[4X[28X [128X[104X4150[4X[28X Name="span([ 2, 3, 5 ]) in unnamed complex 121"[128X[104X4151[4X[28X Dim=1[128X[104X4152[4X[28X [128X[104X4153[4X[28X /SimplicialComplex][128X[104X4154[4X[28X gap> SCFacets(span);[128X[104X4155[4X[28X [ [ 2, 3 ], [ 5 ] ][128X[104X4156[4X[28X [128X[104X4157[4X[32X[104X41584159[1X6.10-20 SCSuspension[101X41604161[29X[2XSCSuspension[102X( [3Xcomplex[103X ) [32X method4162[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X4163otherwise.[133X41644165[33X[0;0YCalculates the simplicial suspension of the simplicial complex [3Xcomplex[103X.4166Internally falls back to the homology package [DHSW11] (if available) if a4167facet list is passed as argument. Note that the vertex labelings of the4168complexes passed as arguments are not propagated to the new complex.[133X41694170[4X[32X Example [32X[104X4171[4X[28X gap> SCLib.SearchByName("Poincare");[128X[104X4172[4X[28X [ [ 7469, "Poincare_sphere" ] ][128X[104X4173[4X[28X gap> phs:=SCLib.Load(last[1][1]);[128X[104X4174[4X[28X [SimplicialComplex[128X[104X4175[4X[28X [128X[104X4176[4X[28X Properties known: AltshulerSteinberg, AutomorphismGroup, [128X[104X4177[4X[28X AutomorphismGroupSize, AutomorphismGroupStructure, [128X[104X4178[4X[28X AutomorphismGroupTransitivity, ConnectedComponents, [128X[104X4179[4X[28X Dim, DualGraph, EulerCharacteristic, FVector, [128X[104X4180[4X[28X FacetsEx, GVector, GeneratorsEx, HVector, [128X[104X4181[4X[28X HasBoundary, HasInterior, Homology, Interior, [128X[104X4182[4X[28X IsCentrallySymmetric, IsConnected, [128X[104X4183[4X[28X IsEulerianManifold, IsManifold, IsOrientable, [128X[104X4184[4X[28X IsPseudoManifold, IsPure, IsStronglyConnected, [128X[104X4185[4X[28X MinimalNonFacesEx, Name, Neighborliness, [128X[104X4186[4X[28X NumFaces[], Orientation, SkelExs[], Vertices.[128X[104X4187[4X[28X [128X[104X4188[4X[28X Name="Poincare_sphere"[128X[104X4189[4X[28X Dim=3[128X[104X4190[4X[28X AltshulerSteinberg=115400413872363901952[128X[104X4191[4X[28X AutomorphismGroupSize=1[128X[104X4192[4X[28X AutomorphismGroupStructure="1"[128X[104X4193[4X[28X AutomorphismGroupTransitivity=0[128X[104X4194[4X[28X EulerCharacteristic=0[128X[104X4195[4X[28X FVector=[ 16, 106, 180, 90 ][128X[104X4196[4X[28X GVector=[ 11, 52 ][128X[104X4197[4X[28X HVector=[ 12, 64, 12, 1 ][128X[104X4198[4X[28X HasBoundary=false[128X[104X4199[4X[28X HasInterior=true[128X[104X4200[4X[28X Homology=[ [ 0, [ ] ], [ 0, [ ] ], [ 0, [ ] ], [ 1, [ ] ] ][128X[104X4201[4X[28X IsCentrallySymmetric=false[128X[104X4202[4X[28X IsConnected=true[128X[104X4203[4X[28X IsEulerianManifold=true[128X[104X4204[4X[28X IsOrientable=true[128X[104X4205[4X[28X IsPseudoManifold=true[128X[104X4206[4X[28X IsPure=true[128X[104X4207[4X[28X IsStronglyConnected=true[128X[104X4208[4X[28X Neighborliness=1[128X[104X4209[4X[28X [128X[104X4210[4X[28X /SimplicialComplex][128X[104X4211[4X[28X gap> susp:=SCSuspension(phs);;[128X[104X4212[4X[28X gap> edwardsSphere:=SCSuspension(susp);[128X[104X4213[4X[28X [SimplicialComplex[128X[104X4214[4X[28X [128X[104X4215[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X4216[4X[28X [128X[104X4217[4X[28X Name="susp of susp of Poincare_sphere"[128X[104X4218[4X[28X Dim=5[128X[104X4219[4X[28X [128X[104X4220[4X[28X /SimplicialComplex][128X[104X4221[4X[28X [128X[104X4222[4X[32X[104X42234224[1X6.10-21 SCUnion[101X42254226[29X[2XSCUnion[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method4227[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X4228otherwise.[133X42294230[33X[0;0YForms the union of two simplicial complexes [3Xcomplex1[103X and [3Xcomplex2[103X as the4231simplicial complex formed by the union of their facets sets. The two4232arguments are not altered. Note: for the union process the vertex labelings4233of the complexes are taken into account, see also [2XOperation Union4234(SCSimplicialComplex, SCSimplicialComplex)[102X ([14X5.3-1[114X). Facets occurring in both4235arguments are treated as one facet in the new complex.[133X42364237[4X[32X Example [32X[104X4238[4X[28X gap> c:=SCUnion(SCBdSimplex(3),SCBdSimplex(3)+3); #a wedge of two 2-spheres[128X[104X4239[4X[28X [SimplicialComplex[128X[104X4240[4X[28X [128X[104X4241[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X4242[4X[28X [128X[104X4243[4X[28X Name="S^2_4 cup S^2_4"[128X[104X4244[4X[28X Dim=2[128X[104X4245[4X[28X [128X[104X4246[4X[28X /SimplicialComplex][128X[104X4247[4X[28X [128X[104X4248[4X[32X[104X42494250[1X6.10-22 SCVertexIdentification[101X42514252[29X[2XSCVertexIdentification[102X( [3Xcomplex[103X, [3Xv1[103X, [3Xv2[103X ) [32X method4253[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X4254otherwise.[133X42554256[33X[0;0YIdentifies vertex [3Xv1[103X with vertex [3Xv2[103X in a simplicial complex [3Xcomplex[103X and4257returns the result as a new object. A vertex identification of [3Xv1[103X and [3Xv2[103X is4258possible whenever d([3Xv1[103X,[3Xv2[103X) [22X≥ 3[122X. This is not checked by this algorithm.[133X42594260[4X[32X Example [32X[104X4261[4X[28X gap> c:=SC([[1,2],[2,3],[3,4]]);;[128X[104X4262[4X[28X gap> circle:=SCVertexIdentification(c,[1],[4]);;[128X[104X4263[4X[28X gap> circle.Facets;[128X[104X4264[4X[28X [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ][128X[104X4265[4X[28X gap> circle.Homology;[128X[104X4266[4X[28X [ [ 0, [ ] ], [ 1, [ ] ] ][128X[104X4267[4X[28X [128X[104X4268[4X[32X[104X42694270[1X6.10-23 SCWedge[101X42714272[29X[2XSCWedge[102X( [3Xcomplex1[103X, [3Xcomplex2[103X ) [32X method4273[6XReturns:[106X [33X[0;10Ysimplicial complex of type [10XSCSimplicialComplex[110X upon success, [9Xfail[109X4274otherwise.[133X42754276[33X[0;0YCalculates the wedge product of the complexes supplied as arguments. Note4277that the vertex labelings of the complexes passed as arguments are not4278propagated to the new complex.[133X42794280[4X[32X Example [32X[104X4281[4X[28X gap> wedge:=SCWedge(SCBdSimplex(2),SCBdSimplex(2));[128X[104X4282[4X[28X [SimplicialComplex[128X[104X4283[4X[28X [128X[104X4284[4X[28X Properties known: Dim, FacetsEx, Name, Vertices.[128X[104X4285[4X[28X [128X[104X4286[4X[28X Name="unnamed complex 17"[128X[104X4287[4X[28X Dim=1[128X[104X4288[4X[28X [128X[104X4289[4X[28X /SimplicialComplex][128X[104X4290[4X[28X gap> wedge.Facets;[128X[104X4291[4X[28X [ [ 1, [ 1, 2 ] ], [ 1, [ 1, 3 ] ], [ 1, [ 2, 2 ] ], [ 1, [ 2, 3 ] ], [128X[104X4292[4X[28X [ [ 1, 2 ], [ 1, 3 ] ], [ [ 2, 2 ], [ 2, 3 ] ] ][128X[104X4293[4X[28X [128X[104X4294[4X[32X[104X4295429642974298