Para maior clareza, generalizarei sua pergunta como sendo acima da característica (com o campo base F q ) em vez do caso específico de p = q = 2 . Vou levar p e q como uma constantes fixas; Vou deixar para o leitor descobrir qual é a dependência exata desses parâmetros, pois existem algumas trocas que podem ser feitas. O resultado final aqui é que seu problema é aproximadamente equivalente ao problema de log discreto para campos finitos da característica p .p>0Fqp=q=2pqp
Para ser mais específico, deixe o problema de log discreto comum sobre extensões de , dado um campo de extensão F de F q , e a , b ∈ F , encontre qualquer número inteiro t para que a = b t , ou relate que não existe . Seja o forte problema de log discreto sobre extensões de F q , dado que F , a , b como antes, encontre inteiros z , m de modo que
aFqFFqa,b∈Fta=btFqF,a,bz,m para um número inteiro t iffou relate que nãoexiste. Existem as seguintes reduções:a=btttt=z(modm)t
Há uma redução determinística no mapeamento das extensões de log discretas de para o seu problema.Fq
Existe um algoritmo determinístico eficiente que resolve seu problema quando recebe acesso a um oracle que computa o forte problema de log discreto sobre extensões de .Fq
Assim, consideraria improvável que alguém publique uma prova de
dureza ou uma prova de que seu problema está em em um futuro próximo.PNPP
Observação: o forte problema de log discreto sobre as extensões de
pode ser reduzido a Turing para a seguinte forma ostensivamente mais fraca (embora ainda pareça mais forte que o problema comum de log discreto): Dado um campo de extensão de e , encontre o menor número inteiro não negativo para que . Isso decorre do fato de que a ordem de é uma mais o menor não negativo, de modo que .F F q a,b∈ F ta= b t bt b - 1 = b tFqFFqa,b∈Fta=btbtb−1=bt
Primeira redução:
a alegação é que o problema de log discreto comum nas extensões do mapeamento reduz a esse problema. Isto segue o fato de que a multiplicação em é uma transformação linear quando vemos como um espaço vetorial dimensional sobre . Portanto, uma pergunta do formato acima de
se torna sobre , em que são vetores dimensionais e éF q n F q n n F q a= b t F q n → a = B t → e F q → a , → e nBn×n F q → a aBb → e 1∈ F q n p=q=2nFqFqnFqnnFqa=btFqna⃗ =Bte⃗ Fqa⃗ ,e⃗ nBn×nmatriz, em todo . O vector pode ser facilmente calculado a partir de , a partir de , e
é apenas a representação de , que pode ser escrita de forma eficiente . Parece ainda ser um caso difícil do problema geral de log discreto, mesmo com (mas crescendo , é claro). Em particular, as pessoas ainda estão competindo para ver até onde podem calcular isso.Fqa⃗ aBbe⃗ 1∈Fqnp=q=2n
Segunda redução:
a alegação é que seu problema se reduz ao forte problema de log discreto sobre extensões de . Essa redução tem alguns pedaços, então perdoe o comprimento. Deixe a entrada ser o -dimensional vectores e matriz , todo ; o objetivo é encontrar modo que . nx,yn×nA F q ty= A t xFqnx,yn×nAFqty=Atx
A idéia básica é escrever na forma canônica da Jordânia (JCF), a partir da qual podemos reduzir o teste ao forte problema de log discreto com alguma álgebra direta.y = A t xAy=Atx
Uma razão para usar uma forma canônica sob similaridade de matrizes é que, se , então . Por isso podemos transformar para , onde agora está em um formato mais agradável do que a muito arbitrária . O JCF é uma forma particularmente simples, que permite o restante do algoritmo. Então, de agora em diante, vamos supor que já está em JCF, mas também permitir que e pode ter entradas em um campo de extensão de
.A t = P - 1 J t P y = A t x ( P y ) = J t ( P x ) J A A x , y , A F qA=P−1JPAt=P−1JtPy=Atx(Py)=Jt(Px)JAAx,y,AFq
Observação: existem algumas sutilezas que surgem do trabalho com o JCF. Especificamente, assumirei que podemos realizar operações de campo em qualquer extensão de (não importa o tamanho) em uma única etapa e que possamos calcular o JCF com eficiência.
a priori , isso não é realista, porque trabalhar com o JCF pode exigir o trabalho em um campo de extensão (o campo de divisão do polinômio característico) de grau exponencial. No entanto, com algum cuidado, e usando o fato de estarmos trabalhando em um campo finito, podemos contornar esses problemas. Em particular, associaremos a cada bloco da Jordânia um campo de grau no máximo acima deF ′ n F q xy F ′ F ′ F ′FqF′nFq
para que todas as entradas no bloco Jordan e os elementos correspondentes de ,
vivam dentro de . O campo pode diferir de bloco para bloco, mas o uso dessa `` representação mista' 'permite uma descrição eficiente do JCF, que além disso pode ser encontrada com eficiência. O algoritmo descrito no restante desta seção precisa trabalhar apenas com um bloco de cada vez, desde que faça suas operações de campo no campo associado , o algoritmo será eficiente.
[observação final]xyF′F′F′
O uso de JCF nos fornece equações da seguinte forma, com cada equação correspondente a um bloco de Jordan:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
O algoritmo manipulará cada bloco separadamente. No caso geral, para cada bloco, teremos uma consulta para o nosso forte oráculo de log discreto, a partir do qual o oráculo nos dirá uma condição de modularidade, . Também obteremos um conjunto para que
deva manter . Depois de processar todos os blocos, precisamos verificar se existe uma opção de que satisfaça as conjunções de todas essas condições. Isso pode ser feito, certificando-se há um elemento comum em todos os conjuntos
de modo que as equações eS ⊆ { 0 , 1 , ⋯ , p - 1 } ⋁ s ∈ S [ t = st=z(modm)S⊆{0,1,⋯,p−1} t s S t = s⋁s∈S[t=s(modp)]tsSt = z jt=s(modp)jt=zj(modmj)são todos satisfeitos simultaneamente, onde varia sobre os blocos.j
Também existem alguns casos especiais que surgem ao longo do procedimento. Nesses casos, obteremos condições do formato para algum valor de ou do formato para algum número inteiro específico , de certos blocos, ou talvez até descobrimos que nenhum pode existir . Eles podem ser incorporados à lógica do caso geral sem problemas.l t = s s tt>ℓℓt=sst
Agora descrevemos o subprocedimento para lidar com cada bloco da Jordânia. Corrija esse bloco.
Comece concentrando-se apenas na última coordenada do bloco. A condição requer que . Em outras palavras, é uma instância do problema de log discreto em alguma extensão de campo de . Em seguida, usamos um oráculo para resolvê-lo, o que resulta em nenhuma solução ou fornece uma condição de modularidade em . Se "nenhuma solução" for retornada, retornaremos indicando tal. Caso contrário, obteremos uma condição , que é equivalente a .y k = λ t x k F q t t = zy=Atxyk=λtxkFqty k = λ t x kt=z(modm)yk=λtxk
Para lidar com as outras coordenadas, começamos com a seguinte fórmula (veja, por exemplo, aqui ):
xk=0yk=λtxkyk=0k-1xy(k-1)×(k-1)xk≠0
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λt(t1)λt−1λt(t2)λt−2(t1)λt−1⋱⋯⋯⋱⋱⋯⋯⋮⋱λt(tk−1)λt−k+1(tk−2)λt−k+2⋮⋮(t1)λt−1λt⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
\ ddots & \ ddots & \ vdots \\ & & & \ lambda ^ t & \ binom {t} {1} \ lambda ^ {t-1} \\ & & & & & lambda ^ t \ end {bmatrix }
Primeiro, vamos cuidar do caso em que
xk=0 . Como já temos a condição de modularidade que implica , podemos assumir que também. Mas então podemos apenas reduzir a focando os primeiros entradas de e , e na parte superior esquerda submatrix do bloco de Jordan. Então, a partir de agora, assuma que .
yk=λtxkyk=0k−1xy(k−1)×(k−1)xk≠0
Segundo, trataremos do caso em que . Nesse caso, os poderes do bloco da Jordânia têm uma forma especial e forçam para alguns , ou , sem outras condições. Não vou elaborar os casos, mas basta dizer que cada um pode ser verificado com eficiência. (Como alternativa, poderíamos reduzir para o caso em que é invertível; veja meu comentário sobre a questão.)t = z z ≤ k t > k Aλ=0t=zz≤kt>kA
Finalmente, chegamos ao caso geral. Como já temos a condição de modularidade que implica que , podemos assumir que a condição é válida e usar como de . De maneira mais geral, podemos usar para representar . Portanto, precisamos verificar se o seguinte sistema vale para alguma opção de :
y k x - 1 k λ t y k x - 1 k λ - z λ t - z t [ Y 1 Y 2 Y 3 ⋮ y k - 1 y k ] = [ y k x - 1 k ( tyk=λtxkykx−1kλtykx−1kλ−zλt−ztt
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ykx−1k(t1)ykx−1kλ−1ykx−1k(t2)ykx−1kλ−2(t1)ykx−1kλ−1⋱⋯⋯⋱⋱⋯⋯⋮⋱ykx−1k(tk−1)ykx−1kλ−(k−1)(tk−2)ykx−1kλ−(k−2)⋮⋮(t1)ykx−1kλ−1ykx−1k⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
y_kx_k ^ {- 1} \ end {bmatrix} \ begin {bmatrix} x_1 \\ x_2 \\ x_3 \\ \ vdots \\ x_ {k-1} \\ x_ {k} \\ \ end {bmatrix} Observe que se a equação vale depende apenas de ; isso ocorre porque a dependência de é apenas polinomial,
t(modp)tt deve ser um número inteiro e as equações acima estão sobre um campo da característica . Portanto, podemos apenas tentar cada valor de separadamente. O conjunto que retornaremos são apenas as opções de para as quais o sistema está satisfeito.
pt∈{0,1,…,p−1}St
Portanto, agora, exceto em alguns casos especiais, o subprocedimento por bloco encontrou uma condição de modularidade e um conjunto para que um de deva manter por alguns . Essas condições são equivalentes a dentro desse bloco específico da Jordânia. Então, devolvemos isso do subprocedimento. Os casos especiais concluem que não existe (nesse caso o subprocedimento retorna imediatamente uma indicação disso), ou então temos uma condição de modularidade e alguma condição especial como para um número inteiro. , ou para algum número inteirot=a(modm)St=s(modp)s∈Sy=Atxtt=a(modm)t=sst>ℓℓ . De qualquer forma, todas as condições envolvidas são equivalentes a dentro desse bloco da Jordânia. Portanto, como mencionado acima, o subprocedimento apenas retorna essas condições.y=Atx
Isso conclui a especificação do subprocedimento por bloco e do algoritmo como um todo. Sua correção e eficiência seguem a discussão anterior.
Sutilezas com o uso do JCF na segunda redução:
Conforme mencionado na segunda redução, existem algumas sutilezas que surgem do trabalho com o JCF. Existem algumas observações para mitigar esses problemas:
Extensões de campos finitos são normais . Isto significa que, se é um um irredutível polinomial sobre , então qualquer extensão de contendo uma raiz de
contém todas as raízes de . Em outras palavras, o campo de divisão de um polinômio irredutível
de grau tem grau apenas acima de .PFqFqPPPddFq
Existe uma generalização da forma canônica da Jordânia, chamada de forma canônica racional primária (PRCF), que não exige que as extensões de campo sejam anotadas. Em particular, se é uma matriz com entradas em , então podemos escrever para algumas matrizes com entradas em , onde, além disso, está no PRCF. Além disso, se fingirmos que as entradas moram em um campo
estendendo que contém todos os autovalores de , entãoAFqA=P−1QPP,QFqQAF′FqAQestará de fato no JCF. Assim, podemos ver a computação do JCF de como um caso especial de computação do PRCF.A
Usando a forma do PRCF, podemos calcular o JCF de comoA
calculando o PRCF de overAFq
computando o PRCF de cada bloco (emprestando a notação do artigo da Wikipedia) no PRCF de , sobre um campo de extensão , em que é escolhido para conter todos os autovalores deCAF′F′C
A principal vantagem dessa fatoração é que os polinômios característicos dos blocos serão irredutíveis e, portanto, pela nossa primeira observação, podemos escolher para ter o tamanho de (que é no máximo ) sobre . A desvantagem é que agora precisamos usar campos de extensão diferentes para representar cada bloco do JCF, para que a representação seja atípica e complicada.CF′CnFq
Assim, dada a capacidade de calcular o PRCF com eficiência, podemos calcular com eficiência uma codificação adequada do JCF, e essa codificação é para que trabalhar com qualquer bloco específico do JCF possa ser feito dentro de um campo de extensão de grau no máximo acima .nFn
Quanto ao cálculo eficiente do PRCF, o artigo " A Rational Canonical Form Algorithm " (KR Matthews, Math. Bohemica 117 (1992) 315-324) fornece um algoritmo eficiente para calcular o PRCF quando a fatoração do polinômio característico de é conhecida . Para características fixas (como a nossa), fatorar polinômios univariados sobre campos finitos pode ser feito em tempo polinomial determinístico (consulte, por exemplo, " Em um novo algoritmo de fatoração para polinômios sobre campos finitos " (H. Niederreitter e R. Gottfert, Math. Computation 64 (1995) 347-353).), Para que o PRCF possa ser computado com eficiência.A