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
    Commented 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
    Commented May 16, 2022 at 9:10
  • $\begingroup$ Not sure I understand but I'll accept your point $\endgroup$
    – ubpdqn
    Commented May 16, 2022 at 9:12
  • 1
    $\begingroup$ @ubpdqn I've just updated the very efficient algorithm. $\endgroup$
    – yode
    Commented 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 you have read our privacy policy.

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