Permanente in Numpy-Matrizen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Permanente in Numpy-Matrizen?

Beitragvon Leonidas » Samstag 2. Mai 2009, 23:35

Hi,

ich habe mir heute NumPys Matrizen angeschaut (nett, das per Hand zu rechnen ist schrecklich lästig und zum experimentieren mit zahlen geht es wesentlich schneller als in Maple, Matlab, Octave und Co), aber ich frage mich ob es da auch irgeneine eingebaute Funktion gibt um die Permanente zu bestimmen. Klar, das kann man auch selbst programmieren, nur wozu :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Beitragvon Darii » Sonntag 3. Mai 2009, 10:07

Nicht dass ich wüsste. Ansonsten ist das ja ein Einzeiler ;)


Code: Alles auswählen

sum(reduce(mul, (m[i,perm[i]] for i in range(m.shape[0]))) for perm in permutations(range(m.shape[0])))
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Beitragvon CM » Montag 4. Mai 2009, 09:24

Selber schreiben muß wohl leider sein - wäre vielleicht ein feature request wert?

Mein Vorschlag:

Code: Alles auswählen

prod(m.diagonal()) + prod(m[::-1].diagonal())

wenn m eine 2x2 matrix ist - sonst entsprechend länger. Entsprechende imports von numpy natürlich vorausgesetzt. Ich weiß nicht welche Lösung schneller ist, aber ich finde meine lesbarer, weil IMHO eine direkte Übersetzung der Definition :oops:

HTH
Christian

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot]