2
$\begingroup$

A subgroup $H$ of the group $G$ is normal group in $G$ if and only if $\displaystyle ghg^{-1}\in H$ for all $\displaystyle g\in G$ and $\displaystyle h\in H$. How to use MMA to know the group $H$ is a normal group of group $G$? Such as:

G = SymmetricGroup[6];
H = AlternatingGroup[6];
$\endgroup$
4
  • $\begingroup$ g = GroupElements[SymmetricGroup[6]]; h = GroupElements[AlternatingGroup[6]]; conj[x_] := PermutationProduct[#, x, InversePermutation[#]] & /@ g Brute fprcing: Union[Flatten[conj /@ h]] == Sort[h] yields True $\endgroup$
    – ubpdqn
    May 16, 2022 at 8:43
  • $\begingroup$ @ubpdqn Yes, I note your solution here. But RandomSample[Sort[GroupElements[AlternatingGroup[6]]]]===GroupElements[AlternatingGroup[6]] will return False. You need a parameter Less like my answer in following. And I use the PermutationReplace to get the conjugate is more concise than yours. :) $\endgroup$
    – yode
    May 16, 2022 at 9:10
  • $\begingroup$ Not sure I understand but I'll accept your point $\endgroup$
    – ubpdqn
    May 16, 2022 at 9:12
  • 1
    $\begingroup$ @ubpdqn I've just updated the very efficient algorithm. $\endgroup$
    – yode
    May 27, 2022 at 7:49

1 Answer 1

5
$\begingroup$
IsNormalQ[H_, G_] := Sort[DeleteDuplicates[Catenate[
     Outer[PermutationReplace, GroupElements[H], 
      Complement[GroupElements[G], GroupElements[H]]]]], Less] === GroupElements[H]

Or little concise, but sometimes it will be slower:

IsNormalQ[H_, G_] := ContainsExactly[
  Catenate[Outer[PermutationReplace, GroupElements[H], 
    Complement[GroupElements[G], GroupElements[H]]]],GroupElements[H]]

Update(Simplicity and efficiency)

IsNormalQ[H_,G_]:=AllTrue[GroupElements[G],PermutationReplace[H,#]==H&]
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.