12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from sympy.combinatorics.named_groups import SymmetricGroup, AlternatingGroup,\
- CyclicGroup
- from sympy.combinatorics.testutil import _verify_bsgs, _cmp_perm_lists,\
- _naive_list_centralizer, _verify_centralizer,\
- _verify_normal_closure
- from sympy.combinatorics.permutations import Permutation
- from sympy.combinatorics.perm_groups import PermutationGroup
- from sympy.core.random import shuffle
- def test_cmp_perm_lists():
- S = SymmetricGroup(4)
- els = list(S.generate_dimino())
- other = els[:]
- shuffle(other)
- assert _cmp_perm_lists(els, other) is True
- def test_naive_list_centralizer():
- # verified by GAP
- S = SymmetricGroup(3)
- A = AlternatingGroup(3)
- assert _naive_list_centralizer(S, S) == [Permutation([0, 1, 2])]
- assert PermutationGroup(_naive_list_centralizer(S, A)).is_subgroup(A)
- def test_verify_bsgs():
- S = SymmetricGroup(5)
- S.schreier_sims()
- base = S.base
- strong_gens = S.strong_gens
- assert _verify_bsgs(S, base, strong_gens) is True
- assert _verify_bsgs(S, base[:-1], strong_gens) is False
- assert _verify_bsgs(S, base, S.generators) is False
- def test_verify_centralizer():
- # verified by GAP
- S = SymmetricGroup(3)
- A = AlternatingGroup(3)
- triv = PermutationGroup([Permutation([0, 1, 2])])
- assert _verify_centralizer(S, S, centr=triv)
- assert _verify_centralizer(S, A, centr=A)
- def test_verify_normal_closure():
- # verified by GAP
- S = SymmetricGroup(3)
- A = AlternatingGroup(3)
- assert _verify_normal_closure(S, A, closure=A)
- S = SymmetricGroup(5)
- A = AlternatingGroup(5)
- C = CyclicGroup(5)
- assert _verify_normal_closure(S, A, closure=A)
- assert _verify_normal_closure(S, C, closure=A)
|