40.10 Low Level Routines to Modify and Create Stabilizer Chains

These operations modify a stabilizer chain or obtain new chains with specific properties. They are rather technical and should only be used if such low-level routines are deliberately required. (For all functions in this section the parameter S is a stabilizer chain.)

  • CopyStabChain( S ) F

    This function returns a copy of the stabilizer chain S that has no mutable object (list or record) in common with S. The labels components of the result are possibly shared by several levels, but superfluous labels are removed. (An entry in labels is superfluous if it does not occur among the genlabels or translabels on any of the levels which share that labels component.)

    This is useful for stabiliser sub-chains that have been obtained as the (iterated) stabilizer component of a bigger chain.

  • CopyOptionsDefaults( G, options ) F

    sets components in a stabilizer chain options record options according to what is known about the group G. This can be used to obtain a new stabilizer chain for G quickly.

  • ChangeStabChain( S, base[, reduced] ) F

    changes or reduces a stabilizer chain S to be adapted to the base base. The optional argument reduced is interpreted as follows.

    reduced = false :
    change the stabilizer chain, do not reduce it,

    reduced = true :
    change the stabilizer chain, reduce it.

  • ExtendStabChain( S, base ) F

    extends the stabilizer chain S so that it corresponds to base base. The original base of S must be a subset of base.

  • ReduceStabChain( S ) F

    changes the stabilizer chain S to a reduced stabilizer chain by eliminating trivial steps.

  • RemoveStabChain( S ) F

    S must be a stabilizer record in a stabilizer chain. This chain then is cut off at S by changing the entries in S. This can be used to remove trailing trivial steps.

  • EmptyStabChain( labels, id[, pnt] ) F

    constructs a stabilizer chain for the trivial group with identity=id and labels= {id}Èlabels (but of course with genlabels=[ ] and generators=[ ]). If the optional third argument pnt is present, the only stabilizer of the chain is initialized with the one-point basic orbit [ pnt ] and with translabels and transversal components.

  • InsertTrivialStabilizer( S, pnt ) F

    InsertTrivialStabilizer initializes the current stabilizer with pnt as EmptyStabChain did, but assigns the original S to the new S.stabilizer component, such that a new level with trivial basic orbit (but identical labels and ShallowCopyed genlabels and generators) is inserted. This function should be used only if pnt really is fixed by the generators of S, because then new generators can be added and the orbit and transversal at the same time extended with AddGeneratorsExtendSchreierTree.

  • IsFixedStabilizer( S, pnt ) F

    returns true if pnt is fixed by all generators of S and false otherwise.

  • AddGeneratorsExtendSchreierTree( S, new ) F

    adds the elements in new to the list of generators of S and at the same time extends the orbit and transversal. This is the only legal way to extend a Schreier tree (because this involves careful handling of the tree components).

    [Top] [Previous] [Up] [Next] [Index]

    GAP 4 manual
    February 2000