Teorema de Jordan-Hölder

Origem: Wikipédia, a enciclopédia livre.

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 | editar código-fonte]

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 | editar código-fonte]

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 | editar código-fonte]

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

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