This chapter is for advanced users and those interested in a brief introduction to the mathematical background of **LINS**.

**(NOTE: The internal options below might change during further development!)**

The method `LowIndexNormalSubgroupsSearch`

allows an optional argument `opts` which must be a record and modifies the search for the execution of only this single command.

The following components of `opts` are supported.

`DoSetParent`

`true`

to set parent of every subgroup to the group`G`that is contained in the root of the search graph. It also sets the property`IsNormalInParent`

to`true`

for every subgroup.This should be only disabled for debugging or testing purposes.

`InitGraph`

a function that takes as an argument a

`LinsGraph`

`gr`. It can popullate the record object`gr`via calls like`gr!.NAME = VALUE`

in order to initialize certain components that might be needed by other functions later on (see option`DoTerminate`

).`DoCut`

a function that takes as arguments a

`LinsGraph`

`gr`and a`LinsNode`

`rH`.Returns

`true`

if subgroups under`rH`should not be computed, i.e. the branch will be cut under the node`rH`.`DoTerminate`

a function that takes as arguments a

`LinsGraph`

`gr`and two`LinsNodes`

`rH`and`rK`. We are currently computing the subgroups under`rH`and found the normal subgroup`rK`.This function may write data to

`gr!.ComputedNormalSubgroups``

. Make sure to initalize this via the option`InitGraph`

(for example to an empty list), since it is not bound by default.Returns

`true`

if the search can be terminated.`UseLIS`

`false`

to use the new procedure with`GQuotient`

calls in`LINS_FindTQuotients`

.`true`

to use the old procedure with a`LowIndexSubgroupsFpGroup`

call in`LINS_FindTQuotients`

.`FilterTQuotients`

a function that takes as an argument a

`LinsGraph`

`gr`and a list of`targets`following the specifications of`LINS_FindTQuotients`

.The value of

`targets`

in a call via`LowIndexNormalSubgroupsSearch`

depends on the value of the option`UseLIS`

.If

`UseLIS`

is false, we have`targets = LINS_TargetsQuotient`

.If

`UseLIS`

is true, we have`targets = LINS_TargetsQuotientUseLIS`

.Returns a sublist from

`targets`, that will be used by`LINS_FindTQuotients`

.`DoIntersection`

a function that takes as an argument a

`LinsGraph`

`gr`, two`LinsNodes`

`rH`and`rK`, and a positive integer`i`. Let G be the group that is contained in the root of the search graph.Returns

`true`

if the intersection U of the groups in`rH`and`rK`with index [G : U] = i should be computed.`DoPQuotient`

a function that takes as an argument a

`LinsGraph`

`gr`, a`LinsNode`

`rH`and a prime`p`.Returns

`true`

if`p`-quotients under`rH`should be computed for the prime`p`.`DoPModule`

a function that takes as an argument a

`LinsGraph`

`gr`, a`LinsNode`

`rH`, a prime`p`and a positive integer`i`. Let G be the group that is contained in the root of the search graph.Returns

`true`

if the normal subgroup K of index [G : K] = i with elementary abelian`p`-quotient in`rH`should be computed.

generated by GAPDoc2HTML