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

Python-Programme
Guest
 So durchlaufen Sie eine Permutationsgruppe in SymPy einschließlich der Identität

Post 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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post