Page 1 of 1

So durchlaufen Sie eine Permutationsgruppe in SymPy einschließlich der Identität

Posted: 12 Jan 2025, 16:17
by Guest
Unten ist ein kleiner Teil dessen, was ich ausführen möchte, er bleibt in der letzten Zeile hängen

Code: Select all

k=2
elements = [i for i in np.arange(k)]
Sk = PermutationGroup([Permutation(list(perm)) for perm in itertools.permutations(elements)])
factorial = int(sp.special.factorial(k))
for i in np.arange(factorial):
trace_list = np.zeros(Sk[i].cycles)
...
Das Problem besteht darin, dass der Listenindex außerhalb des gültigen Bereichs liegt, da Sk das Identitätselement anscheinend nicht enthält, wenn Sie alle Elemente auflisten:

Code: Select all

k=2
elements = [i for i in np.arange(k)]
Sk = PermutationGroup([Permutation(list(perm)) for perm in itertools.permutations(elements)])
print(Sk)

Code: Select all

PermutationGroup([(0 1)])
Ich weiß, dass die Identität als Sk.identity existiert, aber ich möchte einfach in der Lage sein, Sk einfach zu durchlaufen, ohne sie eingeben zu müssen Sonderfälle für jedes Mal, wenn die Identität benötigt wird. Gibt es eine Möglichkeit, dies zu tun?