Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346<Chapter><Heading> Commutative diagrams and abstract categories</Heading>12<Br/><B>COMMUTATIVE DIAGRAMS</B>3<Br/><Br/>45<Table Align="|l|" >6789<Row>10<Item>11<Index> HomomorphismChainToCommutativeDiagram </Index>12<C>HomomorphismChainToCommutativeDiagram(H) </C>13<P/>1415Inputs a list <M>H=[h_1,h_2,...,h_n]</M> of mappings such that the composite <M>h_1h_2...h_n</M> is defined.16It returns the list of composable homomorphism as a commutative diagram.17</Item>18</Row>1920<Row>21<Item>22<Index> NormalSeriesToQuotientDiagram </Index>23<C>NormalSeriesToQuotientDiagram(L) </C>24<C>NormalSeriesToQuotientDiagram(L,M)</C>25<P/>2627Inputs an increasing (or decreasing)28list <M>L=[L_1,L_2,...,L_n]</M> of normal subgroups of a group <M>G</M> with <M>G=L_n</M>. It returns the chain of quotient homomorphisms <M>G/L_i \rightarrow G/L_{i+1}</M> as a commutative diagram.2930<P/>31Optionally a subseries <M>M</M> of <M>L</M> can be entered as a second variable. Then the resulting diagram of quotient groups32has two rows of horizontal arrows and one row of vertical arrows.33</Item>34</Row>3536<Row>37<Item>38<Index> NerveOfCommutativeDiagram </Index>39<C>NerveOfCommutativeDiagram(D) </C>40<P/>4142Inputs a commutative diagram <M>D</M> and returns the commutative diagram <M>ND</M> consisting of all possible composites of the arrows in <M>D</M>.43</Item>44</Row>4546<Row>47<Item>48<Index> GroupHomologyOfCommutativeDiagram </Index>49<C>GroupHomologyOfCommutativeDiagram(D,n) </C>50<C>GroupHomologyOfCommutativeDiagram(D,n,prime) </C>51<C>GroupHomologyOfCommutativeDiagram(D,n,prime,Resolution_Algorithm) </C>52<P/>5354Inputs a commutative diagram <M>D</M> of <M>p</M>-groups and positive integer <M>n</M>. It returns the commutative diagram of vector spaces obtained by applying mod p homology.5556<P/>57Non-prime power groups can also be handled if a prime <M>p</M>58is entered as the third argument. Integral homology can be obtained by setting <M>p=0</M>. For <M>p=0</M> the result is a diagram of groups.5960<P/> A particular resolution algorithm, such as ResolutionNilpotentGroup, can be entered as a fourth argument. For positive <M>p</M> the default is ResolutionPrimePowerGroup. For <M>p=0</M> the default is ResolutionFiniteGroup.61</Item>62</Row>6364<Row>65<Item>66<Index> PersistentHomologyOfCommutativeDiagramOfPGroups </Index>67<C>PersistentHomologyOfCommutativeDiagramOfPGroups(D,n) </C>68<P/>6970Inputs a commutative diagram <M>D</M> of finite <M>p</M>-groups and a positive integer <M>n</M>. It71returns a list containing, for each homomorphism in the nerve of <M>D</M>,72a triple <M>[k,l,m]</M> where <M>k</M> is73the dimension of the source of the induced mod <M>p</M> homology map in degree <M>n</M>, <M>l</M> is the dimension of the image, and <M>m</M> is74the dimension of the cokernel.75</Item>76</Row>7778</Table>798081<B>ABSTRACT CATEGORIES</B>82<Br/><Br/>8384<Table Align="|l|" >85<Row>86<Item>87<Index> CategoricalEnrichment </Index>88<C>CategoricalEnrichment(X,Name) </C>89<P/>90Inputs a structure <M>X</M> such as a group or group homomorphism, together with the name of some existing category such as Name:=Category_of_Groups or Category_of_Abelian_Groups. It returns, as appropriate, an object or arrow in the named category.91</Item>92</Row>9394<Row>95<Item>96<Index> IdentityArrow </Index>97<C>IdentityArrow(X) </C>98<P/>99Inputs an object <M>X</M> in some category, and returns the identity arrow on the object <M>X</M>.100</Item>101</Row>102103<Row>104<Item>105<Index> InitialArrow </Index>106<C>InitialArrow(X) </C>107<P/>108Inputs an object <M>X</M> in some category, and returns the arrow from the initial object in the category to <M>X</M>.109</Item>110</Row>111112<Row>113<Item>114<Index> TerminalArrow </Index>115<C>TerminalArrow(X) </C>116<P/>117Inputs an object <M>X</M> in some category, and returns the arrow from <M>X</M> to the terminal object in the category.118</Item>119</Row>120121<Row>122<Item>123<Index> HasInitialObject </Index>124<C>HasInitialObject(Name) </C>125<P/>126Inputs the name of a category and returns true or false depending on whether the category has an initial object.127</Item>128</Row>129130<Row>131<Item>132<Index> HasTerminalObject </Index>133<C>HasTerminalObject(Name) </C>134<P/>135Inputs the name of a category and returns true or false depending on whether the category has a terminal object.136</Item>137</Row>138139140<Row>141<Item>142<Index> Source </Index>143<C>Source(f) </C>144<P/>145Inputs an arrow <M>f</M> in some category, and returns its source.146</Item>147</Row>148149<Row>150<Item>151<Index> Target </Index>152<C>Target(f) </C>153<P/>154Inputs an arrow <M>f</M> in some category, and returns its target. </Item>155</Row>156157<Row>158<Item>159<Index> CategoryName </Index>160<C>CategoryName(X) </C>161<P/>162Inputs an object or arrow <M>X</M> in some category, and returns the name of the category. </Item>163</Row>164165166<Row>167<Item>168<C>"*", "=", "+", "-" </C>169<P/>170Composition of suitable arrows <M>f,g</M> is given by171<M>f*g</M> when the source of <M>f</M> equals the target of <M>g</M>. (Warning: this differes to the standard GAP convention.)172173<P/>174Equality is tested using <M>f=g</M>.175176<P/>In an additive category the sum and difference of suitable177arrows is given by <M>f+g</M> and <M>f-g</M>.178</Item>179</Row>180181182<Row>183<Item>184<Index> Object </Index>185<C>Object(X) </C>186<P/>187Inputs an object <M>X</M> in some category, and returns the GAP structure <M>Y</M> such that <M>X=CategoricalEnrichment(Y,CategoryName(X))</M>.188</Item>189</Row>190191<Row>192<Item>193<Index> Mapping </Index>194<C>Mapping(X) </C>195<P/>196Inputs an arrow <M>f</M> in some category, and returns the GAP structure <M>Y</M> such that <M>f=CategoricalEnrichment(Y,CategoryName(X))</M>.197</Item>198</Row>199200201<Row>202<Item>203<Index> IsCategoryObject </Index>204<C>IsCategoryObject(X) </C>205<P/>206Inputs <M>X</M> and returns true if <M>X</M> is an object in some category.207</Item>208</Row>209210<Row>211<Item>212<Index> IsCategoryArrow </Index>213<C>IsCategoryArrow(X) </C>214<P/>215Inputs <M>X</M> and returns true if <M>X</M> is an arrow in some category.216</Item>217</Row>218219220221222223224</Table>225</Chapter>226227228229