Ich versuche, mit den Elementen 0 oder 1 alle inequivalenten Matrizen (oder wenn Sie es wünschen) zu konstruieren. Die Operation, die äquivalente Matrizen ergibt, ist der gleichzeitige Austausch der i- und j-Reihe UND der i- und j-Spalte . z.B. für
Irgendwann muss ich auch zählen, wie viele äquivalente Matrizen es in jeder Klasse gibt, aber ich denke, dass Polyas Zählsatz das kann. Im Moment brauche ich nur eine mathematische Methode, um eine Matrix in jeder Ungleichwertigkeitsklasse zu konstruieren. Irgendwelche Ideen?
algorithms
combinatorics
Heterotisch
quelle
quelle
Antworten:
Ich habe einige Fortschritte bei der Beantwortung dieser Frage gemacht. Ich poste hier, falls jemand anderes interessiert ist und auch, weil diese Konstruktion für (gerichtete) Graphen von Nutzen sein könnte.
Zählen Sie die Anzahl der Einsen in jeder Zeile. Sei die Anzahl der Zeilen mit null Einsen, a 1 die Anzahl der Zeilen mit einer Eins usw. bis zu einer 8, die die Anzahl der Zeilen mit acht Einsen ist. Offensichtlich ist ∑ a i = 8 . Die vorgeschlagene Parametrisierung, zu der ich nach Versuch und Irrtum gekommen bin, ist: ( a 1 , ⋯ , a 8 ; T , S ) wobei T die Spur der Matrix ist und S 1 ist, wenn die Matrix symmetrisch ist und 0 andernfalls. T läuft von 0 bisein0 ein1 ein8 ∑ aich= 8
Aus meinen Versuchen und Fehlern geht hervor, dass zwei Matrizen, die sich in dieser Parametrisierung unterscheiden, zu verschiedenen Äquivalenzklassen gehören. Um in jeder Klasse einen Repräsentanten zu erstellen, scannen wir einfach den oben beschriebenen Parameterraum durch.
(Update) Es stellt sich heraus, dass diese Parametrisierung für n = 2, jedoch nicht für n = 3, gut funktioniert, wie eine Brute-Force-Berechnung zeigt. Ich denke immer noch, dass es einen Einblick in die Struktur der Antwort gibt, und ich fordere die Leute auf, zu versuchen, sie zu ändern / zu erweitern, um den allgemeinsten Fall abzudecken.
quelle