Esse pós-processamento clássico explora várias propriedades teóricas de grupos não triviais de grupos abelianos. Eu escrevi uma explicação didática de como esse algoritmo clássico funciona aqui [1] ; outras boas fontes para se ler são [ 2 , 3 , 4 ].
Portanto, medir no final do algoritmo na base padrão fornecerá elementos de uniformemente aleatoriamente. Não é difícil verificar se o conjunto é um subgrupo (abeliano finito) do grupo de caracteres ; devido a, após a medição de , um conjunto gerador de é obtido com probabilidade exponencialmente próxima a um.H∗H∗G∗O(log|G|)H∗
A parte mais técnica é como reconstruir dado um conjunto gerador de . Vamos nos concentrar neste problema a partir de agora. Para isso, precisaremos de alguns rudimentos da teoria do caráter.HH∗
Teoria do Personagem
Antes de tudo, lembre-se de que, quando é um abeliano finito, os caracteres formam um grupo isomórfico para e que podem ser escritos como
A etiqueta do carácter é um elemento de . O mapa define um isomorfismo entre e , para que possamos identificar os dois grupos.GG
χg(h)=exp(2πi∑i=1mg(i)h(i)di).
gχgGg→χgG∗G
Agora, dado , o conjunto você descreve é calle o subgrupo ortogonal de ou, dependendo da fonte, o aniquilador de . Este subgrupo possui algumas propriedades matemáticas importantes:HH∗HH
Primeiro de tudo, também é subgrupo de ;H∗G
É duplo para , no sentido de que, se considerarmos o subgrupo de aniquilador duplo , esse subgrupo é isomórfico para
: ou seja, . Isso garante que as soluções para o sistema de equações
são precisamente os elementos do subgrupo que você deseja.H * * H H ≅ H * * χ g ( h ) = 1 ,HH∗∗HH≅H∗∗ H
χg(h)=1, for every g∈H∗
H
Equações lineares sobre grupos
Agora, uma observação chave que podemos usar é a seguinte (seguirei [1] para esta parte): os antigos sistemas de equações podem ser reescritos como um '' sistema de equações lineares sobre grupos abelianos finitos ''. Com isso, quero dizer um problema em que as entradas são para os grupos abelianos finitos , ; um elemento ; um homomorfismo de grupo e a tarefa é encontrar as soluções da equação Você pode mostrar que qualquer homomorfismo pode ser escrito como uma matriz , de maneira que o problema acima pode ser reexpresso como
Y b ∈ Y α : X → Y α ( x ) = b AXYb∈Yα:X→Y
α(x)=b
AAx=⎛⎝⎜⎜⎜⎜a1(1)a1(2)⋮a1(m)a2(1)a2(2)⋮a2(m)⋯⋯⋯⋯an(1)an(2)⋮an(m)⎞⎠⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜x(1)x(2)⋮x(n)⎞⎠⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜b(1)b(2)⋮b(m)⎞⎠⎟⎟⎟⎟modd1modd2⋮moddm=b
em que assumimos .
Y=Zd1×⋯×Zdm
A observação final chave é que existem algoritmos clássicos eficientes para decidir se esses sistemas admitem soluções, as contam e as encontram (pesquisamos algumas em [1] ). O conjunto de soluções sempre tem a forma , onde é uma solução específica e é o kernel de (um subgrupo de ). Esses algoritmos clássicos podem encontrar uma solução específica do sistema e calcular um conjunto gerador de . Esses algoritmos clássicos fazem uso crucial das Formas Normais de Smithx0+kerαx0kerααXkerα reescrever o sistema em uma forma quase diagonal (são necessárias outras etapas intermediárias, mas isso deve fornecer uma imagem intuitiva).
O sistema de equações que você obtenha em seu caso codifica o subgrupo escondido . Em particular, é da forma , para algum homomorfismo de grupo . O kernel do é precisamente o subgrupo oculto. Uma solução específica nesse caso é 0, a trivial.HΩx=0ΩΩ