Teorema de Jordan-Hölder

O Teorema de Jordan-Hölder é um teorema criado pelos matemáticos Otto Hölder e Camille Jordan. O teorema Jordan-Hölder afirma que dadas duas series indefinidas de composição de um determinado grupo então estas são equivalentes. Assim, eles têm o mesmo comprimento de composição e os mesmos fatores de composição, até a permutação e o isomorfismo. Camille Jordan conceituou a composição e séries principais (cf. séries principais ) para esses grupos e demonstrou que os índices de duas séries do mesmo tipo (ou seja, os índices dos subgrupos GEu no Gi + 1) são os mesmos, excetuando-se pela ordem de aparência. Já Otto Hölder provou que os fatores correspondentes são isomórficos.[1]

Escrita Formal do Teorema

editar

Seja G um Grupo finito. Considere duas séries de decomposição.

 

 

Então   e a lista de fatores de composição é única até a permutação, ou seja, as listas    são os mesmos, depois de reorganizar uma das listas adequadamente.

Demonstração

editar

Tal como acontece com o teorema fundamental da aritimética, a prova procede por indução, em  .

Para   é trivial. Agora suponha que o teorema foi provado para todos os grupos estritamente menores que  Pegue duas séries de composição   e   para  . O teorema é verdadeiro para   e para  .

Se   então nada temos a fazer, pois as séries de composição devem ser rearranjos uma da outra.

Se  , seja  .

então   tem uma série de composição composta pelos grupos  , pela hipótese indutiva. Então existem duas séries de composição para  , aquele que envolve   e a seguinte:

 

(note que   é um subgrupo máximo de  , pois   pelo segundo teorema do isomorfismo)

Por indução, esta série de composição deve ser um rearranjo da outra:

   

  significa "é o mesmo até a permutação". Note que os comprimentos sendo os mesmos implica que  

Analogamente, obtemos duas séries de composição para   usando o mesmo   para o segundo, isto é:

 

então   e isso prova que  

Agora, usando   em   e   em  , temos:

 

 

Queremos que as duas listas externas sejam as mesmas até a permutação. As duas listas internas são as mesmas, exceto pelas duas últimas entradas. Mas   e   são iguais a   e  , também pelo segundo teorema do isomorfismo.

Portanto, as duas listas internas são as mesmas até a permutação (uma transposição dos dois últimos fatores)  

Exemplo de código fonte

editar

Suponha que temos um grupo finito G = {1, 2, 3, 4, 5, 6} e queremos encontrar a sua decomposição em termos de grupos simples. Para isso, podemos usar o teorema de Jordan-Hölder.

Primeiro, criamos a lista de subgrupos de G:

List<Set<Integer>> subgroups = new ArrayList<>();
for (int i = 0; i < G.size(); i++) {
  for (int j = i+1; j <= G.size(); j++) {
    subgroups.add(new HashSet<>(G.subList(i, j)));
  }
}

Em seguida, calculamos a série normal de subgrupos de G:

public static List<Group> getNormalSeries(Group G, List<Group> subgroups) {
    List<Group> normalSeries = new ArrayList<Group>();

    // Inclui o grupo G como o primeiro termo da série normal
    normalSeries.add(G);

    // Se o grupo G é trivial, a série normal consiste apenas do grupo trivial
    if (G.isTrivial()) {
        return normalSeries;
    }

    // Para cada subgrupo H em subgroups, encontra o maior subgrupo normal K de G que contém H
    for (Group H : subgroups) {
        Group K = G.getLargestNormalSubgroupContaining(H);
        if (K.isTrivial()) {
            continue;
        }
        // Recursivamente chama getNormalSeries com o grupo K e subgroups - H para obter a série normal de K
        List<Group> normalSeriesOfK = getNormalSeries(K, subtractSubgroup(subgroups, H));
        // Adiciona os grupos da série normal de K à série normal de G
        for (Group N : normalSeriesOfK) {
            if (!normalSeries.contains(N)) {
                normalSeries.add(N);
            }
        }
    }

    return normalSeries;
}

Por fim, usamos a série normal para encontrar a decomposição de G em termos de grupos simples:

public static List<Group> getSimpleFactors(List<Group> normalSeries) {
    List<Group> simpleFactors = new ArrayList<>();
    for (Group group : normalSeries) {
        if (group.isSimple()) {
            simpleFactors.add(group);
        }
    }
    return simpleFactors;
}

Referências

http://www.math.lsa.umich.edu/~speyer/594_2013/JordanHolder.pdf

  Este artigo sobre matemática é um esboço. Você pode ajudar a Wikipédia expandindo-o.