Grup etkisi, bir grubun elemanlarının bir küme üzerinde nasıl "hareket ettiğini" tanımlayan temel bir kavramdır. Simetri, sayma problemleri ve grup yapısını anlamak için kritiktir.
Grup Etkisi Tanımı
G grubu X kümesi üzerinde etki yapar:
φ: G × X → X fonksiyonu (g, x) ↦ g·x için:
- Birim: e·x = x (∀x ∈ X)
- Uyumluluk: (g₁g₂)·x = g₁·(g₂·x)
Etkinin Türleri
Geçişli (Transitive): ∀x,y ∈ X, ∃g ∈ G: g·x = y
Sadık (Faithful): Sadece birim eleman tüm elemanları sabit bırakır
Serbest (Free): Hiçbir g ≠ e için g·x = x yok
Düzenli (Regular): Hem geçişli hem serbest
class GroupAction:
def __init__(self, group, set_X):
self.group = group
self.X = set_X
def act(self, g, x):
"""g ∈ G, x ∈ X için g·x hesapla"""
pass
def is_transitive(self):
"""Etki geçişli mi?"""
if len(self.X) == 0: return True
x0 = list(self.X)[0]
orbit = self.orbit(x0)
return orbit == self.X
def orbit(self, x):
"""x'in yörüngesi"""
orbit = set()
for g in self.group:
orbit.add(self.act(g, x))
return orbit
def stabilizer(self, x):
"""x'in izotropi alt grubu"""
stab = []
for g in self.group:
if self.act(g, x) == x:
stab.append(g)
return stab
class S3Action(GroupAction):
def act(self, perm, x):
return perm[x-1]
S3 = [
[1,2,3], [1,3,2], [2,1,3],
[2,3,1], [3,1,2], [3,2,1]
]
action = S3Action(S3, {1,2,3})
print(f"Geçişli mi? {action.is_transitive()}")