Eu estou tentando construir todas as matrizes (ou se desejar) com elementos 0 ou 1. A operação que fornece matrizes equivalentes é a troca simultânea da linha iej e da coluna iej . por exemplo. paran × n 1 ↔ 2 ( 0 0 0 0 1 1 1 0 0 ) ∼ ( 1 0 1 0 0 0 0 0 1 0 )
Eventualmente, também precisarei contar quantas matrizes equivalentes existem em cada classe, mas acho que o teorema da contagem de Polya pode fazer isso. Por enquanto, só preciso de uma maneira algorítmica de construir uma matriz em cada classe de desigualdade. Alguma ideia?
algorithms
combinatorics
Heterótico
fonte
fonte
Respostas:
Fiz alguns progressos no sentido de responder a esta pergunta. Estou postando aqui caso alguém esteja interessado e também porque essa construção pode ter alguma utilidade para gráficos (direcionados).
Conte o número de 1s em cada linha. Deixe é o número de linhas com zero 1s, um 1 o número de linhas com um 1 e assim por diante até a 8 que é o número de linhas que têm oito 1s. Obviamente Σ um i = 8 . A parametrização proposta a que cheguei após tentativa e erro é: ( a 1 , ⋯ , a 8 ; T , S ) em que T é o traço da matriz e S é 1 se a matriz é simétrica e 0 em caso contrário. T vai de 0 auma0 0 uma1 1 uma8 ∑ aEu= 8
Pelas minhas tentativas e erros, parece que, se duas matrizes são diferentes nessa parametrização, elas pertencem a diferentes classes de equivalência; portanto, para construir um representante em cada classe, apenas examinamos o espaço de parâmetros conforme descrito acima.
(Atualização) Acontece que essa parametrização funciona bem para n = 2, mas não para n = 3, como pode ser visto por um cálculo de força bruta. Ainda acho que ele fornece algumas dicas sobre a estrutura da resposta e convido as pessoas a tentar modificá-las / estendê-las para cobrir o caso mais geral.
fonte