J'essaie de construire toutes les matrices inéquivalentes (ou n × n si vous le souhaitez) avec les éléments 0 ou 1. L'opération qui donne des matrices équivalentes est l'échange simultané de la ligne i et j ET de la colonne i et j. par exemple. pour 1 ↔ 2 ( 0 0 0 0 1 1 1 0 0 ) ∼ ( 1 0 1 0 0 0 0 1 0
Finalement, je devrai également compter le nombre de matrices équivalentes dans chaque classe, mais je pense que le théorème de comptage de Polya peut le faire. Pour l'instant, j'ai juste besoin d'une manière algoritmique de construire une matrice dans chaque classe d'inégivalence. Des idées?
algorithms
combinatorics
Hétérotique
la source
la source
Réponses:
J'ai fait quelques progrès pour répondre à cette question. Je poste ici au cas où quelqu'un d'autre serait intéressé et aussi parce que cette construction pourrait avoir une certaine utilité pour les graphiques (dirigés).
D'après mes essais et erreurs, il semble que si deux matrices sont différentes dans cette paramétrisation, alors elles appartiennent à des classes d'équivalence différentes, donc pour construire un représentant dans chaque classe, nous parcourons simplement l'espace des paramètres comme décrit ci-dessus.
(Mise à jour) Il s'avère que cette paramétrisation fonctionne bien pour n = 2 mais pas pour n = 3 comme on peut le voir par un calcul de force brute. Je pense toujours que cela donne un aperçu de la structure de la réponse et j'invite les gens à essayer de la modifier / l'étendre pour couvrir le cas le plus général.
la source