1################################################################################
2##
3##  simpcomp / generate.gd
4##
5##  Generate simplicial complexes or construct them using existing
6##  complexes.
7##
8##  $Id$
9##
10################################################################################
11
12## GAPDoc include
13## <#GAPDoc Label="generate">
14## <Section Label="sec:FromScratch">
15## <Heading>Creating an <C>SCSimplicialComplex</C> object from a facet list</Heading>
16##
17##  This section contains functions to generate or to construct new simplicial  complexes. Some of them obtain new complexes from existing ones, some generate  new complexes from scratch.
18##
19## <#Include Label="SCFromFacets"/>
20## <#Include Label="SC"/>
21## <#Include Label="SCFromDifferenceCycles"/>
22## <#Include Label="SCFromGenerators"/>
23##
24## </Section>
25##
26## <#Include Label="isosig"/>
27##
28## <Section Label="sec:Standard">
29## <Heading>Generating some standard triangulations</Heading>
30##
31## <#Include Label="SCBdCyclicPolytope"/>
32## <#Include Label="SCBdSimplex"/>
33## <#Include Label="SCEmpty"/>
34## <#Include Label="SCSimplex"/>
35## <#Include Label="SCSeriesTorus"/>
36## <#Include Label="SCSurface"/>
37## <#Include Label="SCFVectorBdCrossPolytope"/>
38## <#Include Label="SCFVectorBdCyclicPolytope"/>
39## <#Include Label="SCFVectorBdSimplex"/>
40## </Section>
41##
42## <Section Label="sec:Series">
43## <Heading>Generating infinite series of transitive triangulations</Heading>
44##
45## <#Include Label="SCSeriesAGL"/>
46## <#Include Label="SCSeriesBrehmKuehnelTorus"/>
47## <#Include Label="SCSeriesBdHandleBody"/>
48## <#Include Label="SCSeriesBid"/>
49## <#Include Label="SCSeriesC2n"/>
50## <#Include Label="SCSeriesConnectedSum"/>
51## <#Include Label="SCSeriesCSTSurface"/>
52## <#Include Label="SCSeriesD2n"/>
53## <#Include Label="SCSeriesHandleBody"/>
54## <#Include Label="SCSeriesHomologySphere"/>
55## <#Include Label="SCSeriesK"/>
56## <#Include Label="SCSeriesKu"/>
57## <#Include Label="SCSeriesL"/>
58## <#Include Label="SCSeriesLe"/>
59## <#Include Label="SCSeriesLensSpace"/>
60## <#Include Label="SCSeriesPrimeTorus"/>
61## <#Include Label="SCSeriesSeifertFibredSpace"/>
62## <#Include Label="SCSeriesS2xS2"/>
63##
64## </Section >
65## <Section Label="sec:RegularAndChiralMaps">
66## <Heading>A census of regular and chiral maps</Heading>
67##
68## <#Include Label="highlysymmetricsurfaces"/>
69##
70## See also <Ref Func="SCSurface" /> for example triangulations of all compact closed surfaces
71## with transitive cyclic automorphism group.
72##
73## </Section >
74## <Section Label="sec:generateFromOld">
75## <Heading>Generating new complexes from old</Heading>
76##
77## <#Include Label="SCCartesianPower"/>
78## <#Include Label="SCCartesianProduct"/>
79## <#Include Label="SCConnectedComponents"/>
80## <#Include Label="SCConnectedProduct"/>
81## <#Include Label="SCConnectedSum"/>
82## <#Include Label="SCConnectedSumMinus"/>
83## <#Include Label="SCDifferenceCycleCompress"/>
84## <#Include Label="SCDifferenceCycleExpand"/>
85## <#Include Label="SCStronglyConnectedComponents"/>
86##
87## </Section>
88##
89## <#Include Label="fromgroup"/>
90##
91## <#Include Label="class3mflds"/>
92##
93## <#/GAPDoc>
94
95DeclareAttribute("SCConnectedComponents",SCIsPolyhedralComplex);
96DeclareAttribute("SCStronglyConnectedComponents",SCIsSimplicialComplex);
97
98DeclareOperation("SCCartesianPower",[SCIsSimplicialComplex,IsInt]);
99DeclareOperation("SCCartesianProduct",[SCIsSimplicialComplex,SCIsSimplicialComplex]);
100DeclareOperation("SCConnectedProduct",[SCIsSimplicialComplex,IsInt]);
101DeclareOperation("SCConnectedSum",[SCIsSimplicialComplex,SCIsSimplicialComplex]);
102DeclareOperation("SCConnectedSumMinus",[SCIsSimplicialComplex,SCIsSimplicialComplex]);
103DeclareOperation("SCFromDifferenceCycles",[IsList]);
104DeclareOperation("SCFromGenerators",[IsPermGroup,IsList]);
105
106DeclareGlobalFunction("SCBdCrossPolytope");
107DeclareGlobalFunction("SCBdCyclicPolytope");
108DeclareGlobalFunction("SCBdSimplex");
109DeclareGlobalFunction("SCDifferenceCycleCompress");
110DeclareGlobalFunction("SCDifferenceCycleExpand");
111DeclareGlobalFunction("SCEmpty");
112DeclareGlobalFunction("SCFVectorBdCrossPolytope");
113DeclareGlobalFunction("SCFVectorBdCyclicPolytope");
114DeclareGlobalFunction("SCFVectorBdSimplex");
115DeclareGlobalFunction("SCSeriesAGL");
116DeclareGlobalFunction("SCSeriesBdHandleBody");
117DeclareGlobalFunction("SCSeriesBid");
118DeclareGlobalFunction("SCSeriesBrehmKuehnelTorus");
119DeclareGlobalFunction("SCSeriesC2n");
120DeclareGlobalFunction("SCSeriesConnectedSum");
121DeclareGlobalFunction("SCSeriesCSTSurface");
122DeclareGlobalFunction("SCSeriesD2n");
123DeclareGlobalFunction("SCSeriesHandleBody");
124DeclareGlobalFunction("SCSeriesHomologySphere");
125DeclareGlobalFunction("SCSeriesK");
126DeclareGlobalFunction("SCSeriesKu");
127DeclareGlobalFunction("SCSeriesL");
128DeclareGlobalFunction("SCSeriesLe");
129DeclareGlobalFunction("SCSeriesLensSpace");
130DeclareGlobalFunction("SCSeriesNSB1");
131DeclareGlobalFunction("SCSeriesNSB2");
132DeclareGlobalFunction("SCSeriesNSB3");
133DeclareGlobalFunction("SCSeriesPrimeTorus");
134DeclareGlobalFunction("SCSeriesSeifertFibredSpace");
135DeclareGlobalFunction("SCSimplex");
136DeclareGlobalFunction("SCSeriesTorus");
137DeclareGlobalFunction("SCSurface");
138DeclareGlobalFunction("SCSeriesS2xS2");
139