This repository has been archived on 2026-05-22. You can view files and clone it, but cannot push or open issues or pull requests.
Files
toddcox-visualize-v0/groups.py
2019-12-11 23:16:18 -05:00

70 lines
1.1 KiB
Python

from solver import Group
def A(n):
""""""
assert 0 <= n
if n == 0:
return Group(0)
return Group.schlafli(*[3] * (n - 1))
def B(n):
"""Hypercube Irreducible Coxeter Group"""
assert 2 <= n
return Group.schlafli(4, *[3] * (n - 2))
def D(n):
"""Demicube Irreducible Coxeter Groups"""
assert 4 <= n
g = Group.schlafli(*[3] * (n - 2), 2)
g[1, n - 1] = 3
return g
def E(n):
"""E_6, E_7, and E_8 Irreducible Coxeter Groups"""
assert 6 <= n <= 8
g = Group.schlafli(*[3] * (n - 2), 2)
g[2, n - 1] = 3
return g
def F4():
"""24-cell Irreducible Coxeter Group"""
return Group.schlafli(3, 4, 3)
def G2():
"""G2 Irreducible Coxeter Group"""
return Group.schlafli(6)
def H(n):
"""Icosahedral Irreducible Coxeter Group"""
assert 2 <= n <= 4
return Group.schlafli(5, *[3] * (n - 2))
def I2(n):
"""Polygon Irreducible Coxeter Groups"""
assert 2 <= n
return Group.schlafli(n)
def T(n):
"""Toroidal Coxeter Group: I_2(n) x I_2(n)"""
assert 2 <= n
return I2(n) ** 2