What C# can do for studying Finite Groups, quotient groups, semi-direct products, homomorphisms, automorphisms group, characters table, minimalistic rings and fields manipulations, polynomials factoring, fields extensions and many more...
The name of this struct must be changed to KAutGroup
An element KAut must be created with strong equality comparer related to a KAutGroup by checking linear dependency with previous elements. It may be costly but it doesn't matter for small groups.
https://github.com/aidevnn/FastGoat/blob/c312d8b87dccc100cc37fe8d096a817f52abb1f2/FastGoat/Structures/VecSpace/KAut.cs#L6
The name of this struct must be changed to KAutGroup An element KAut must be created with strong equality comparer related to a KAutGroup by checking linear dependency with previous elements. It may be costly but it doesn't matter for small groups.