Teorema de Jordan-Hölder

Fonte: testwiki
Revisão em 05h22min de 8 de abril de 2023 por imported>Gustavodias2 (Foi adicionado um exemplo simples em código java do teorema)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

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

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

1=H0H1H2Hk1Hk=G

1=K0K1K2Kl1Kl=G

Então k=l e a lista de fatores de composição é única até a permutação, ou seja, as listas {Hi+1/Hi}{Kj+1/Kj} são os mesmos, depois de reorganizar uma das listas adequadamente.

Demonstração

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

Para G=1 é trivial. Agora suponha que o teorema foi provado para todos os grupos estritamente menores que GPegue duas séries de composição (H1,H2.,Hk) e (K1,K2.,Kl) para G. O teorema é verdadeiro para H=Hk1 e para K=Kl1.

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

Se HK, seja L=HK.

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

1L1L2Lt1LtH

(note que L=HK é um subgrupo máximo de H, pois H/(HK)G/K pelo segundo teorema do isomorfismo)

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

(H1/H0,H2/H1,H/Hk2)(L1/L0,L2/L1,L/Lt1,H/L) *

significa "é o mesmo até a permutação". Note que os comprimentos sendo os mesmos implica que t+1=k

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

(K1/K0,K2/K1,K/Kl2)(L1/L0,L2/L1,L/Lt1,K/L)**

então t+1=l e isso prova que k=l

Agora, usando G/H em * e G/K em **, temos:

(H1/H0,H2/H1,,H/Hk2,G/H)(L1/L0,L2/L1,,L/Lt1,H/L,G/H)

(L1/L0,L2/L1,,L/Lt1,K/L,G/K)(H1/H0,H2/H1,,H/Hk2,G/K)

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 (H/L,G/H) e (K/L,G/K) são iguais a (G/K,G/H) e (G/H,G/K), 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

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;
}

Predefinição:Referênciashttp://www.math.lsa.umich.edu/~speyer/594_2013/JordanHolder.pdf

Predefinição:Equação polinomial Predefinição:Portal3

Predefinição:Esboço-matemática