# GAP:IsCharacteristicSubgroup

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.

## 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
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