GAP:IsCharacteristicSubgroup
From Groupprops
This article is about a GAP function.
This GAP function takes as input a pair of a group and a subgroup thereof. See other GAP functions like this.
This GAP function outputs a Boolean variable, i.e., it returns either true or false. View other GAP functions with Boolean output
Definition
Function type
IsCharacteristicSubgroup is a GAP function that takes in two arguments, both of which represent groups, and outputs a Boolean answer (true/false).
Behavior
The behavior is as follows:
Nature of input | Output | Example input |
---|---|---|
Two inputs, both groups, and the second input is a characteristic subgroup of the first input | true | IsCharacteristicSubgroup(SymmetricGroup(2),SymmetricGroup(1)) |
Two inputs, both groups, the second input is a subgroup of the first input, but is not characteristic in it | false | IsCharacteristicSubgroup(SymmetricGroup(3),SymmetricGroup(2)) |
Two inputs that live inside a common big group, but where the second is not a subgroup of the first | Usage error | IsCharacteristicSubgroup(SymmetricGroup(2),SymmetricGroup(3)) |
Two inputs where either one of them is not a group or they both do not live inside a common big group | NoMethodFound error | IsCharacteristicSubgroup(CyclicGroup(3),SymmetricGroup(3)) |
Typical use
The function is typically used in the following form: IsCharacteristicSubgroup(group, subgroup);
Related functions
Testing functions
- GAP:IsCharacteristicInParent: Checks whether a given subgroup is characteristic in its parent group, or the ambient group within which it is defined.
- GAP:IsNormal: Checks whether the first input group normalizes the second input group. When the second input group is a subgroup of the first, this is equivalent to checking whether the second input group is a normal subgroup of the first input group.
- GAP:IsFullinvariant: Checks whether the second input group is a fully invariant subgroup of the first input group.
Listing functions
- GAP:CharacteristicSubgroups: This takes as input a group and outputs the list of all characteristic subgroups of the group.
- GAP:NormalSubgroups: This takes as input a group and outputs the list of all normal subgroups of the group.
Examples of usage
Some examples involving prespecified groups
gap> IsCharacteristicSubgroup(SymmetricGroup(2),SymmetricGroup(1)); true gap> IsCharacteristicSubgroup(SymmetricGroup(3),SymmetricGroup(2)); false gap> IsCharacteristicSubgroup(CyclicGroup(3),SymmetricGroup(3)); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IsCharacteristicSubgroup' on 2 arguments called from <function>( <arguments> ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> return; no method returned gap> IsCharacteristicSubgroup(SymmetricGroup(2),SymmetricGroup(3)); Error, usage: Image(<map>), Image(<map>,<elm>), Image(<map>,<coll>) called from Image( i, H ) called from func( elm ) called from ForAny( GeneratorsOfGroup( a ), function ( i ) return Image( i, H ) <> H; end ) called from <function>( <arguments> ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue
Method
- Since computation of the automorphism group is hard in general, this function first works by checking if the subgroup is normal in the whole group. If the subgroup is not normal, an answer of false is returned.
- If the subgroup is normal, the automorphism group is computed, using the same method as that used for the command AutomorphismGroup. Then, the subgroup is checked for invariance under the generating set for this automorphism group.