GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1X2 Accessing and Manipulating Resolutions[0X234[1X2.1 Representation-Independent Access Methods[0X56All methods listed below take a [10XHapResolution[0m in any representation. If the7other arguments are compatible with the representation of the resolution,8the returned value will be in the form defined by this representation. If9the other arguments are in a different representation, [5XGAP[0ms method selection10is used via [10XTryNextMethod()[0m to find an applicable method (a suitable11representation).1213The idea behind this is that the results of computations have the same form14as the input. And as all representations are sub-representations of the15[10XHapResolutionRep[0m representation, input which is compatible with the16[10XHapResolutionRep[0m representation is always valid.1718Every new representation must support the functions of this section.1920[1X2.1-1 StrongestValidRepresentationForLetter[0m2122[2X> StrongestValidRepresentationForLetter( [0X[3Xresolution, term, letter[0X[2X ) __[0Xmethod23[6XReturns:[0X filter2425Finds the sub-representation of [10XHapResolutionRep[0m for which [3Xletter[0m is a valid26letter of the [3Xterm[0mth module of [3Xresolution[0m. Note that [3Xresolution[0m27automatically is in some sub-representation of [10XHapResolutionRep[0m.This is28mainly meant for debugging.2930[1X2.1-2 StrongestValidRepresentationForWord[0m3132[2X> StrongestValidRepresentationForWord( [0X[3Xresolution, term, word[0X[2X ) ______[0Xmethod33[6XReturns:[0X filter3435Finds the sub-representation of [10XHapResolutionRep[0m for which [3Xword[0m is a valid36word of the [3Xterm[0mth module of [3Xresolution[0m. Note that [3Xresolution[0m automatically37is in some sub-representation of [10XHapResolutionRep[0m. This is mainly meant for38debugging.3940[1X2.1-3 PositionInGroupOfResolution[0m4142[2X> PositionInGroupOfResolution( [0X[3Xresolution, g[0X[2X ) _______________________[0Xmethod43[2X> PositionInGroupOfResolutionNC( [0X[3Xresolution, g[0X[2X ) _____________________[0Xmethod44[6XReturns:[0X positive integer4546This returns the position of the group element [3Xg[0m in the enumeration of the47group of [3Xresolution[0m. The NC version does not check if [3Xg[0m really is an element48of the group of [3Xresolution[0m.4950[1X2.1-4 IsValidGroupInt[0m5152[2X> IsValidGroupInt( [0X[3Xresolution, n[0X[2X ) ___________________________________[0Xmethod53[6XReturns:[0X boolean5455Returns true if the [3Xn[0mth element of the group of [3Xresolution[0m is known.5657[1X2.1-5 GroupElementFromPosition[0m5859[2X> GroupElementFromPosition( [0X[3Xresolution, n[0X[2X ) __________________________[0Xmethod60[6XReturns:[0X group element or [9Xfail[0m6162Returns [3Xn[0mth element of the group of [3Xresolution[0m. If the [3Xn[0mth element is not63known, [9Xfail[0m is returned.6465[1X2.1-6 MultiplyGroupElts[0m6667[2X> MultiplyGroupElts( [0X[3Xresolution, x, y[0X[2X ) ______________________________[0Xmethod68[6XReturns:[0X positive integer or group element, depending on the type of [3Xx[0m and69[3Xy[0m7071If [10Xx[0m and [10Xy[0m are given in standard representation (i.e. as integers), this72returns the position of the product of the group elements represented by the73positive integers [3Xx[0m and [3Xx[0m.7475If [10Xx[0m and [10Xy[0m are given in any other representation, the returned group element76will also be represented in this way.7778[1X2.1-7 MultiplyFreeZGLetterWithGroupElt[0m7980[2X> MultiplyFreeZGLetterWithGroupElt( [0X[3Xresolution, letter, g[0X[2X ) __________[0Xmethod81[6XReturns:[0X A letter8283Multiplies the letter [3Xletter[0m with the group element [3Xg[0m and returns the84result. If [3Xresolution[0m is in standard representation, [3Xg[0m has to be an integer85and [3Xletter[0m has to be a pair of integer. If [3Xresolution[0m is in any other86representation, [3Xletter[0m and [3Xg[0m can be in a form compatible with that87representation or in the standard form (in the latter case, the returned88value will also have standard form).8990[1X2.1-8 MultiplyFreeZGWordWithGroupElt[0m9192[2X> MultiplyFreeZGWordWithGroupElt( [0X[3Xresolution, word, g[0X[2X ) ______________[0Xmethod93[6XReturns:[0X A word9495Multiplies the word [3Xword[0m with the group element [3Xg[0m and returns the result. If96[3Xresolution[0m is in standard representation, [3Xg[0m has to be an integer and [3Xword[0m97has to be a list of pairs of integers. If [3Xresolution[0m is in any other98representation, [3Xword[0m and [3Xg[0m can be in a form compatible with that99representation or in the standard form (in the latter case, the returned100value will also have standard form).101102[1X2.1-9 BoundaryOfFreeZGLetter[0m103104[2X> BoundaryOfFreeZGLetter( [0X[3Xresolution, term, letter[0X[2X ) _________________[0Xmethod105[6XReturns:[0X free ZG word (in the same representation as [3Xletter[0m)106107Calculates the boundary of the letter (word of length 1) [3Xletter[0m of the108[3Xterm[0mth module of [3Xresolution[0m.109110The returned value is a word of the [3Xterm[0m-1st module and comes in the same111representation as [3Xletter[0m.112113[1X2.1-10 BoundaryOfFreeZGWord[0m114115[2X> BoundaryOfFreeZGWord( [0X[3Xresolution, term, word[0X[2X ) _____________________[0Xmethod116[6XReturns:[0X free ZG word (in the same representation as [3Xletter[0m)117118Calculates the boundary of the word [3Xword[0m of the [3Xterm[0mth module of [3Xresolution[0m.119120The returned value is a word of the [3Xterm[0m-1st module and comes in the same121representation as [3Xword[0m.122123124[1X2.2 Converting Between Representations[0X125126Four methods are provided to convert letters and words from standard127representation to any other representation and back again.128129[1X2.2-1 ConvertStandardLetter[0m130131[2X> ConvertStandardLetter( [0X[3Xresolution, term, letter[0X[2X ) __________________[0Xmethod132[2X> ConvertStandardLetterNC( [0X[3Xresolution, term, letter[0X[2X ) ________________[0Xmethod133[6XReturns:[0X letter in the representation of [3Xresolution[0m134135Converts the letter [3Xletter[0m in standard representation to the representation136of [3Xresolution[0m. The NC version does not check whether [3Xletter[0m really is a137letter in standard representation.138139[1X2.2-2 ConvertStandardWord[0m140141[2X> ConvertStandardWord( [0X[3Xresolution, term, word[0X[2X ) ______________________[0Xmethod142[2X> ConvertStandardWordNC( [0X[3Xresolution, term, word[0X[2X ) ____________________[0Xmethod143[6XReturns:[0X word in the representation of [3Xresolution[0m144145Converts the word [3Xword[0m in standard representation to the representation of146[3Xresolution[0m. The NC version does not check whether [3Xword[0m is a valid word in147standard representation.148149[1X2.2-3 ConvertLetterToStandardRep[0m150151[2X> ConvertLetterToStandardRep( [0X[3Xresolution, term, letter[0X[2X ) _____________[0Xmethod152[2X> ConvertLetterToStandardRepNC( [0X[3Xresolution, term, letter[0X[2X ) ___________[0Xmethod153[6XReturns:[0X letter in standard representation154155Converts the letter [3Xletter[0m in the representation of [3Xresolution[0m to the156standard representation. The NC version does not check whether [3Xletter[0m is a157valid letter of [3Xresolution[0m.158159[1X2.2-4 ConvertWordToStandardRep[0m160161[2X> ConvertWordToStandardRep( [0X[3Xresolution, term, word[0X[2X ) _________________[0Xmethod162[2X> ConvertWordToStandardRepNC( [0X[3Xresolution, term, word[0X[2X ) _______________[0Xmethod163[6XReturns:[0X word in standard representation164165Converts the word [3Xword[0m in the representation of [3Xresolution[0m to the standard166representation. The NC version does not check whether [3Xword[0m is a valid word167of [3Xresolution[0m.168169170[1X2.3 Special Methods for [9XHapResolutionRep[1X[0X171172Some methods explicitely require the input to be in the standard173representation ([3XHapResolutionRep[0m). Two of these test if a word/letter is174really in standard representation, the other ones are non-check versions of175the universal methods.176177[1X2.3-1 IsFreeZGLetter[0m178179[2X> IsFreeZGLetter( [0X[3Xresolution, term, letter[0X[2X ) _________________________[0Xmethod180[6XReturns:[0X boolean181182Checks if [3Xletter[0m is an valid letter (word of length 1) in standard183representation of the [3Xterm[0mth module of [3Xresolution[0m.184185[1X2.3-2 IsFreeZGWord[0m186187[2X> IsFreeZGWord( [0X[3Xresolution, term, word[0X[2X ) _____________________________[0Xmethod188[6XReturns:[0X boolean189190Check if [3Xword[0m is a valid word in large standard representation of the [3Xterm[0mth191module in [3Xresolution[0m.192193[1X2.3-3 MultiplyGroupEltsNC[0m194195[2X> MultiplyGroupEltsNC( [0X[3Xresolution, x, y[0X[2X ) ____________________________[0Xmethod196[6XReturns:[0X positive integer197198Given positive integers [10Xx[0m and [10Xy[0m, this returns the position of the product of199the group elements represented by the positive integers [3Xx[0m and [3Xx[0m. This200assumes that all input is in standard representation and does not check the201input.202203[1X2.3-4 MultiplyFreeZGLetterWithGroupEltNC[0m204205[2X> MultiplyFreeZGLetterWithGroupEltNC( [0X[3Xresolution, letter, g[0X[2X ) ________[0Xmethod206[6XReturns:[0X A letter in standard representation207208Multiplies the letter [3Xletter[0m with the group element represented by the209positive integer [3Xg[0m and returns the result. The input is assumed to be in210[3XHapResolutionRep[0m and is not checked.211212[1X2.3-5 MultiplyFreeZGWordWithGroupEltNC[0m213214[2X> MultiplyFreeZGWordWithGroupEltNC( [0X[3Xresolution, word, g[0X[2X ) ____________[0Xmethod215[6XReturns:[0X A letter in standard representation216217Multiplies the word [3Xword[0m with the group element represented by the positive218integer [3Xg[0m and returns the result. The input is assumed to be in219[3XHapResolutionRep[0m and is not checked.220221[1X2.3-6 BoundaryOfFreeZGLetterNC[0m222223[2X> BoundaryOfFreeZGLetterNC( [0X[3Xresolution, term, letter[0X[2X ) _______________[0Xmethod224[6XReturns:[0X free ZG word in standard representation225226Calculates the boundary of the letter (word of length 1) [3Xletter[0m of the227[3Xterm[0mth module of [3Xresolution[0m. The input is assumed to be in standard228representation and not checked.229230[1X2.3-7 BoundaryOfFreeZGWordNC[0m231232[2X> BoundaryOfFreeZGWordNC( [0X[3Xresolution, term, word[0X[2X ) ___________________[0Xmethod233[6XReturns:[0X free ZG word in standard representation234235Calculates the boundary of the word [3Xword[0m of the [3Xterm[0mth module of [3Xresolution[0m.236The input is assumed to be in standard representation and not checked.237238239[1X2.4 The [9XHapLargeGroupResolutionRep[1X Representation[0X240241The large group representation has one additional component called242[10Xgroupring[0m. Elements of the modules in a resolution are represented by lists243of group ring elements. The length of the list corresponds to the dimension244of the free module.245246All methods for the generic representation do also work for the large group247representation. Some of them are wrappers for special methods which do only248work for this representation. The following list only contains the methods249which are not already present in the generic representation.250251Note that the input or the output of these functions does not comply with252the standard representation.253254[1X2.4-1 GroupRingOfResolution[0m255256[2X> GroupRingOfResolution( [0X[3Xresolution[0X[2X ) ________________________________[0Xmethod257[6XReturns:[0X group ring258259This returns the group ring of [3Xresolution[0m. Note that by the way that group260rings are handled in [5XGAP[0m, this is not equal to261[10XGroupRing(R,GroupOfResolution([3Xresolution[0m[10X))[0m where [10XR[0m is the ring of the262resolution.263264[1X2.4-2 MultiplyGroupElts_LargeGroupRep[0m265266[2X> MultiplyGroupElts_LargeGroupRep( [0X[3Xresolution, x, y[0X[2X ) ________________[0Xmethod267[2X> MultiplyGroupEltsNC_LargeGroupRep( [0X[3Xresolution, x, y[0X[2X ) ______________[0Xmethod268[6XReturns:[0X group element269270Returns the product of [3Xx[0m and [3Xy[0m. The NC version does not check whether [3Xx[0m and271[3Xy[0m are actually elements of the group of [3Xresolution[0m.272273[1X2.4-3 IsFreeZGLetterNoTermCheck_LargeGroupRep[0m274275[2X> IsFreeZGLetterNoTermCheck_LargeGroupRep( [0X[3Xresolution, letter[0X[2X ) ______[0Xmethod276[6XReturns:[0X boolean277278Returns [9Xtrue[0m if [3Xletter[0m has the form of a letter (a module element with279exactly one non-zero entry which has exactly one non-zero coefficient) a280module of [3Xresolution[0m in the [9XHapLargeGroupResolution[0m representation. Note281that it is not tested if [3Xletter[0m actually is a letter in any term of282[3Xresolution[0m283284[1X2.4-4 IsFreeZGWordNoTermCheck_LargeGroupRep[0m285286[2X> IsFreeZGWordNoTermCheck_LargeGroupRep( [0X[3Xresolution, word[0X[2X ) __________[0Xmethod287[6XReturns:[0X boolean288289Returns [9Xtrue[0m if [3Xword[0m has the form of a word of a module of [3Xresolution[0m in the290[9XHapLargeGroupResolution[0m representation. Note that it is not tested if [3Xword[0m291actually is a word in any term of [3Xresolution[0m.292293[1X2.4-5 IsFreeZGLetter_LargeGroupRep[0m294295[2X> IsFreeZGLetter_LargeGroupRep( [0X[3Xresolution, term, letter[0X[2X ) ___________[0Xmethod296[6XReturns:[0X boolean297298Returns [9Xtrue[0m if and only if [3Xletter[0m is a letter (a word of length 1) of the299[3Xterm[0mth module of [3Xresolution[0m in the [9XhapLargeGroupResolution[0m representation.300I.e. it tests if [3Xletter[0m is a module element with exactly one non-zero entry301which has exactly one non-zero coefficient.302303[1X2.4-6 IsFreeZGWord_LargeGroupRep[0m304305[2X> IsFreeZGWord_LargeGroupRep( [0X[3Xresolution, term, word[0X[2X ) _______________[0Xmethod306[6XReturns:[0X boolean307308Tests if [3Xword[0m is an element of the [3Xterm[0mth module of [3Xresoultion[0m.309310[1X2.4-7 MultiplyFreeZGLetterWithGroupElt_LargeGroupRep[0m311312[2X> MultiplyFreeZGLetterWithGroupElt_LargeGroupRep( [0X[3Xresolution, letter, g[0X[2X ) [0Xmethod313[2X> MultiplyFreeZGLetterWithGroupEltNC_LargeGroupRep( [0X[3Xresolution, letter, g[0X[2X ) [0Xmethod314[6XReturns:[0X free ZG letter in large group representation315316Multiplies the letter [3Xletter[0m with the group element [3Xg[0m and returns the317result. The NC version does not check whether [3Xg[0m is an element of the group318of [3Xresolution[0m and [3Xletter[0m can be a letter.319320[1X2.4-8 MultiplyFreeZGWordWithGroupElt_LargeGroupRep[0m321322[2X> MultiplyFreeZGWordWithGroupElt_LargeGroupRep( [0X[3Xresolution, word, g[0X[2X ) [0Xmethod323[2X> MultiplyFreeZGWordWithGroupEltNC_LargeGroupRep( [0X[3Xresolution, word, g[0X[2X ) [0Xmethod324[6XReturns:[0X free ZG word in large group representation325326Multiplies the word [3Xword[0m with the group element [3Xg[0m and returns the result.327The NC version does not check whether [3Xg[0m is an element of the group of328[3Xresolution[0m and [3Xword[0m can be a word.329330[1X2.4-9 GeneratorsOfModuleOfResolution_LargeGroupRep[0m331332[2X> GeneratorsOfModuleOfResolution_LargeGroupRep( [0X[3Xresolution, term[0X[2X ) ___[0Xmethod333[6XReturns:[0X list of letters/words in large group representation334335Returns a set of generators for the [3Xterm[0mth module of [3Xresolution[0m. The336returned value is a list of vectors of group ring elements.337338[1X2.4-10 BoundaryOfGenerator_LargeGroupRep[0m339340[2X> BoundaryOfGenerator_LargeGroupRep( [0X[3Xresolution, term, n[0X[2X ) ___________[0Xmethod341[2X> BoundaryOfGeneratorNC_LargeGroupRep( [0X[3Xresolution, term, n[0X[2X ) _________[0Xmethod342[6XReturns:[0X free ZG word in the large group representation343344Returns the boundary of the [3Xn[0mth generator of the [3Xterm[0mth module of [3Xresolution[0m345as a word in the [3Xn-1[0mst module (in large group representation). The NC346version does not check whether there is a [3Xterm[0mth module and if it has at347least [3Xn[0m generators.348349[1X2.4-11 BoundaryOfFreeZGLetterNC_LargeGroupRep[0m350351[2X> BoundaryOfFreeZGLetterNC_LargeGroupRep( [0X[3Xresolution, term, letter[0X[2X ) _[0Xmethod352[2X> BoundaryOfFreeZGLetter_LargeGroupRep( [0X[3Xresolution, term, letter[0X[2X ) ___[0Xmethod353[6XReturns:[0X free ZG word in large group representation354355Calculates the boundary of the letter [3Xletter[0m of the [3Xterm[0mth module of356[3Xresolution[0m in large group representation. The NC version does not check357whether [3Xletter[0m actually is a letter in the [3Xterm[0mth module.358359[1X2.4-12 BoundaryOfFreeZGWord_LargeGroupRep[0m360361[2X> BoundaryOfFreeZGWord_LargeGroupRep( [0X[3Xresolution, term, word[0X[2X ) _______[0Xmethod362[6XReturns:[0X free ZG word in large group representation363364Calculates the boundary of the element [3Xword[0m of the [3Xterm[0mth module of365[3Xresolution[0m in large group representation. The NC version does not check366whether [3Xword[0m actually is a word in the [3Xterm[0mth module.367368369370