test_weyl_group.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from sympy.liealgebras.weyl_group import WeylGroup
  2. from sympy.matrices import Matrix
  3. def test_weyl_group():
  4. c = WeylGroup("A3")
  5. assert c.matrix_form('r1*r2') == Matrix([[0, 0, 1, 0], [1, 0, 0, 0],
  6. [0, 1, 0, 0], [0, 0, 0, 1]])
  7. assert c.generators() == ['r1', 'r2', 'r3']
  8. assert c.group_order() == 24.0
  9. assert c.group_name() == "S4: the symmetric group acting on 4 elements."
  10. assert c.coxeter_diagram() == "0---0---0\n1 2 3"
  11. assert c.element_order('r1*r2*r3') == 4
  12. assert c.element_order('r1*r3*r2*r3') == 3
  13. d = WeylGroup("B5")
  14. assert d.group_order() == 3840
  15. assert d.element_order('r1*r2*r4*r5') == 12
  16. assert d.matrix_form('r2*r3') == Matrix([[0, 0, 1, 0, 0], [1, 0, 0, 0, 0],
  17. [0, 1, 0, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]])
  18. assert d.element_order('r1*r2*r1*r3*r5') == 6
  19. e = WeylGroup("D5")
  20. assert e.element_order('r2*r3*r5') == 4
  21. assert e.matrix_form('r2*r3*r5') == Matrix([[1, 0, 0, 0, 0], [0, 0, 0, 0, -1],
  22. [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, -1, 0]])
  23. f = WeylGroup("G2")
  24. assert f.element_order('r1*r2*r1*r2') == 3
  25. assert f.element_order('r2*r1*r1*r2') == 1
  26. assert f.matrix_form('r1*r2*r1*r2') == Matrix([[0, 1, 0], [0, 0, 1], [1, 0, 0]])
  27. g = WeylGroup("F4")
  28. assert g.matrix_form('r2*r3') == Matrix([[1, 0, 0, 0], [0, 1, 0, 0],
  29. [0, 0, 0, -1], [0, 0, 1, 0]])
  30. assert g.element_order('r2*r3') == 4
  31. h = WeylGroup("E6")
  32. assert h.group_order() == 51840