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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So durchlaufen Sie eine Permutationsgruppe in SymPy einschließlich der Identität

by Guest » 12 Jan 2025, 05:46

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?

Top