• Nenhum resultado encontrado

Pesquisa de Números Suaves no “Crivo Quadrático”

3.2 Método do “Crivo Quadrático” (“QS”)

3.2.2 Pesquisa de Números Suaves no “Crivo Quadrático”

7 ≡ 6 (mod 7),

que verificamos facilmente ser s1 = 1. Consequentemente, a solução r2 de x2 ≡ 2 (mod 72)

correspondente ar1 = 3 ér2= 3 + 1 · 7 = 10, verificando-se com efeito que 102≡ 2 (mod 72).

Aplicando novamente este raciocínio por forma a determinarr3, concluímos que

s2· 2 · 10 ≡ −

102− 2

72 ≡ 5 (mod 7),

sendo portantor3 = 10 + 2 · 72 = 108 uma das duas soluções dex2 ≡ 2 (mod 73) pretendidas.

Para determinar a outra destas soluções podemos aplicar o mesmo processo, começando desta vez com a solução r0

1 = 4 de x2 ≡ 2 (mod 7). No entanto, notando que quaisquer

duas soluções de congruências do tipox2 ≡ a (mod pk) são opostas uma da outra módulopk,

conclui-se facilmente que 39 e 235 são as restantes soluções das congruências consideradas, uma vez que

(72− 10)2 = 392 ≡ 2 (mod 72) e (73− 108)2 = 2352≡ 2 (mod 73).

Deste modo, e se bem que pudéssemos, naturalmente, aplicar o mesmo processo a r10 = 4, neste caso conseguimos determinar a solução correspondente de forma mais fácil.

3.1. CONCEITOS FUNDAMENTAIS

Debruçamo-nos agora então sobre o caso ligeiramente mais complicado em que p é igual a

2. Neste caso não podemos aplicar a técnica anterior, uma vez que f0(x) ≡ 0 (mod 2) para

qualquer inteiro x, correspondendo portanto este caso aos pontos (b) e (c) do Teorema 3.7.

Para além disso, e assumindo quea 6≡ 0 (mod 2), a congruência x2 ≡ a (mod 2)

admite como única soluçãor1 = 1, pelo que temos apenas uma solução com a qual trabalhar.

Consideremos então a congruência

x2≡ a (mod 4), (3.10)

para a qual existem duas situações possíveis: ou a ≡ 1 (mod 4), e portanto, tendo em conta

o caso (b) do Teorema 3.7, existem duas soluções r2 e r20, ou a ≡ 3 (mod 4), não tendo

a referida congruência quaisquer soluções neste caso. Deste modo, apenas nos interessa o primeiro caso, para o qual, de acordo com o referido teorema, se obtêm as soluções

r2 = 1 + 0 · 2 = 1 e r02 = 1 + 1 · 2 = 3.

Consideremos agora o caso da congruência

x2≡ a (mod 8),

no qual podemos considerar a ≡ 1 (mod 4). Nestas condições, temos novamente duas situ-

ações possíveis para analisar: ou a ≡ 1 (mod 8), verificando-se novamente o caso (b) do

Teorema 3.7, ou a ≡ 5 (mod 8), e portanto a referida congruência não admite quaisquer

soluções. Assim, no primeiro destes casos a cada uma das soluções r2 = 1 e r02 = 3 da con-

gruência x2 ≡ a (mod 4) correspondem outras duas soluções de x2 ≡ a (mod 8), obtendo-se

assim

r3= 1 + 0 · 4 = 1 e r30 = 1 + 1 · 4 = 5,

r003 = 3 + 0 · 4 = 3 e r3(3)= 3 + 1 · 4 = 7.

Tomando um pouco de atenção ao raciocínio até agora efectuado, concluímos que o número de soluções tem vindo a duplicar constantemente, ou seja, tem-se até agora verificado sempre o caso (b) do Teorema 3.7. No entanto, a partir deste ponto o número de soluções estabiliza, obtendo-se quatro soluções para cada k ≥ 3 sempre que a ≡ 1 (mod 8). Esta situação

deve-se ao facto de que, a partir de 8 = 23, se começa a verificar o caso (c) para algumas soluções. De facto, das soluções de x2 ≡ a (mod 8) apenas r

3 er(3)3 continuam a ser soluções

de x2 ≡ a (mod 16) quando a ≡ 1 (mod 16), enquanto que r0

3 e r003 passam a ser soluções

3. CRIVO QUADRÁTICO

desta congruência apenas nos casos em quea ≡ 9 (mod 16). Demonstra-se por indução que

esta situação se verifica de modo semelhante para as restantes potências de dois, pelo que podemos concluir quex2≡ a (mod 2k) admite

                     1 solução sek = 1, 2 soluções sek = 2 e a ≡ 1 (mod 4), 4 soluções sek ≥ 3 e a ≡ 1 (mod 8),

nenhuma solução nos restantes casos.

Deste modo, e estudados todos os conceitos de que necessitamos acerca de raízes quadradas modulares, descrevemos agora dois processos muito eficientes para reconhecer números pri- mos, bem como números suaves relativamente a uma dada base de factores.

3.1.3

Reconhecimento de Primos (Crivo de Eratóstenes)

De uma forma geral, designa-se por processo de crivagem, crivo numérico ou simplesmente por

crivo, qualquer processo através do qual se assinalam determinados números de acordo com

uma série de regras e propriedades por eles satisfeitas. O “crivo quadrático” baseia parte do seu funcionamento num processo deste tipo, sendo por isso importante estudar alguns destes processos. O crivo numérico mais conhecido, o chamado “crivo de Eratóstenes”, identifica da seguinte forma todos os números primos até um dado limiten:

(a) Começa-se por marcar o número 2 e riscar todos os seus múltiplos, 4, 6, 8, · · · , natu-

ralmente números compostos.

(b) Obviamente, na primeira passagem o número 3 não é eliminado, uma vez que não é múltiplo de 2. Assim sendo, 3 é um número primo, sendo por isso marcado e consequentemente riscados todos os seus múltiplos, 6, 9, 12, · · · .

(c) No fim do ponto anterior, o menor número ainda não marcado é o número 5, que se conclui ser também um número primo. O processo repete-se então de modo seme- lhante, sendo marcados sucessivamente os números 2, 3, 5, 7, 11, · · · , e riscados todos os múltiplos menores ou iguais a n de cada um destes primos.

Tendo em conta o Teorema 1.8, procedendo deste modo até atingir o maior primo menor ou igual a √n todos os números que não tiverem sido riscados no final do processo são

3.1. CONCEITOS FUNDAMENTAIS

3.1.4

Reconhecimento de Números Suaves

O processo descrito em §3.1.3 pode ser facilmente adaptado para o reconhecimento de todos os números até um dado limiten que são suaves relativamente a uma dada base de factores.

Para o fazer, procedemos da seguinte forma:

(a) Começamos por associar a cada inteirom ≥ 2 um determinado valor Πm, inicialmente

igual a 1. De forma semelhante ao crivo anteriormente descrito, para iniciar a crivagem seleccionamos o primeiro primo da base de factores, p0. No entanto, em vez de sim-

plesmente “riscar” todos os múltiplosm = 2p0, 3p0, · · · deste primo multiplicam-se por

p0 os respectivos valores Π2p0, Π3p0, · · · , assinalando deste modo o facto de todos estes

múltiplos serem divisíveis por p0. Além disso, uma vez que alguns destes números

podem ser divisíveis por alguma potência de p0, deve-se repetir este processo para

todos os múltiplos de cada uma das potências p2

0, p30, p40, · · · ≤ n, multiplicando cada

um dos produtos correntes associados a estes múltiplos por p0.

(b) Continuando de forma similar o processo descrito no ponto anterior para os restantes primos da base de factores e respectivas potências, no final deste crivo obtém-se em cada um dos valores Πm um produto que iguala a parte da factorização em primos de

m que utiliza apenas primos da base de factores. Deste modo, facilmente se conclui que

um determinado inteiro positivom ≤ n é suave relativamente à base de factores esco-

lhida se e só se no final deste processo o produto Πmque lhe está associado é igual am.

O seguinte exemplo demonstra o modo de funcionamento em termos práticos deste processo de crivagem, e dá-nos uma ideia do quão menor é o número de operações necessárias à iden- tificação de números suaves por este método relativamente ao método da divisão exaustiva. Exemplo 3.9. Suponhamos que pretendíamos reconhecer todos os inteiros positivos menores ou iguais a 30 que são suaves relativamente à base de factores B = {2, 5, 7}, utilizando para o

efeito o processo acima descrito. Para o fazer, notamos que a maior potência de 2 menor que 30 é 24 = 16, e portanto que as potências de 2 a utilizar são 2, 22, 23 e 24. De igual modo, as potências de 5 a utilizar são 5 e 52, e a única potência de 7 a utilizar é o próprio número 7. Os resultados da aplicação deste processo figuram na Tabela 3.1, representando os números inteiros no interior da tabela os vários produtos Πm associados a cada inteiro 2 ≤ m ≤ 30

em cada passo do referido processo(4), verificando-se no final deste processo que apenas os

números 2, 4, 5, 7, 8, 10, 14, 16, 20, 25 e 28 são suaves relativamente a B.

(4)

Note-se que cada passo deste processo corresponde a fixar um primo ou uma potência de um primo que figure no topo da tabela e percorrê-la no sentido descendente, procedendo conforme descrito anteriormente.

3. CRIVO QUADRÁTICO m Πm 2 22 23 24 5 52 7 Πm Final Suave? 2 1 2 2 X 3 1 1 4 1 2 4 4 X 5 1 5 5 X 6 1 2 2 7 1 7 7 X 8 1 2 4 8 8 X 9 1 1 10 1 2 10 10 X 11 1 1 12 1 2 4 4 13 1 1 14 1 2 14 14 X 15 1 5 5 16 1 2 4 8 16 16 X 17 1 1 18 1 2 2 19 1 1 20 1 2 4 20 20 X 21 1 7 7 22 1 2 2 23 1 1 24 1 2 4 8 8 25 1 5 25 25 X 26 1 2 2 27 1 1 28 1 2 4 28 28 X 29 1 1 30 1 2 10 10

3.2. MÉTODO DO “CRIVO QUADRÁTICO” (“QS”)

3.2

Método do “Crivo Quadrático” (“QS”)

Descritos os conceitos auxiliares de que necessitamos, iniciamos agora o estudo do método do “crivo quadrático”. Este método de factorização deve a sua designação ao facto de utilizar um crivo semelhante ao descrito anteriormente para reconhecer números suaves entre valores consecutivos de um determinado polinómio quadrático.

3.2.1

Ideia Fundamental do “Crivo Quadrático”

O “crivo quadrático” partilha com o “CFRAC” as suas ideias fundamentais, diferindo deste apenas na maneira de determinar inteiros cujos quadrados tenham resíduos suaves quando tomados módulo n. Supondo então que pretendemos factorizar um determinado inteiro n, que assumimos ímpar e composto, no “crivo quadrático” desejamos encontrar inteiros a1, a2, · · · , am tais que

a2i ≡ bi (mod n), (3.11)

onde bi é, para cada 1 ≤ i ≤ m, um inteiro suave relativamente a uma dada base de fac-

tores. Tal como no “CFRAC”, assim que consigamos encontrar mais relações deste tipo que elementos da base de factores o Lema 2.16 garante que conseguimos obter um quadrado mul- tiplicando entre si alguns dos inteiros b1, b2, · · · , bm, garantindo portanto que conseguimos

obter uma congruência do tipoa2 ≡ b2 (mod n) que pode permitir factorizar n.

O aspecto fundamental do “crivo quadrático” é o facto de que, substituindo todos os cálculos auxiliares necessários ao “CFRAC” pela simples determinação de certos valores inteiros do polinómio

f (x) = x2− n, (3.12)

torna-se possível utilizar um processo de identificação de valores suaves muito mais eficiente que o método da divisão exaustiva utilizado anteriormente. A escolha deste polinómio, de entre cujos valores se espera que alguns sejam suaves relativamente à referida base de factores, deve-se, por um lado, ao facto de f assumir valores relativamente pequenos quando x está

próximo de ln12 m

, e, por outro lado, ao facto de que, tendo em conta a equação (3.12), f

verifica a congruência

f (x) ≡ x2 (modn). (3.13) Deste modo, se conseguirmos encontrar um número m suficientemente grande de valores ai

para os quaisf (ai) seja suave relativamente à base de factores escolhida, e consequentemente

garantir que existe um subconjunto indexado por I de elementos de {f (a1), f (a2), · · · , f (am)}

3. CRIVO QUADRÁTICO

cujo produto é um quadrado, os inteirosa e b utilizados para formar a congruência desejada

são dados pelas fórmulas simples

a = Y i∈I ai e b = Y i∈I f (ai) !12 . (3.14)

Deste modo, a questão central do “crivo quadrático” é a de como determinar valores suaves do polinómiof de uma forma eficiente, tema sobre o qual nos debruçamos na próxima secção.

3.2.2

Pesquisa de Números Suaves no “Crivo Quadrático”

À primeira vista, nada garante que o facto de substituirmos o cálculo de uma fracção contínua pela determinação de alguns valores de um polinómio se possa traduzir numa melhoria tão significativa do desempenho de um método de factorização como a que foi referida no início deste capítulo. No entanto, a rapidez e eficiência do “crivo quadrático” devem-se exactamente ao facto de que qualquer polinómio pode ser crivado de forma muito eficiente por um crivo semelhante ao descrito em §3.1.4, com o objectivo de reconhecer quais dos seus valores são suaves relativamente a uma dada base de factores.

Por forma a descrever correctamente o processo empregue pelo “crivo quadrático” para reconhecer valores suaves do polinómiof (x) = x2 − n, precisamos de assumir em primeiro

lugar que estamos a utilizar uma base de factores B, escolhida inicialmente, e que apenas pretendemos procurar estes valores num conjunto da forma

S =nx ∈ Z : x − l n12 m < M o

para algum inteiro M,

conjunto este que designamos por intervalo de crivagem. Por serem de somenos importância para a descrição do referido processo, os aspectos práticos referentes à escolha destes dois con- juntos são por enquanto deixados de lado, sendo descritos em detalhe nas próximas secções. A abordagem mais intuitiva ao problema de determinar valores suaves def consiste em

fixar em cada passo um certo valorf (xi), e verificar sef (xi) é divisível por cada um dos primos

da base de factores. Embora mais simples, este processo é em tudo semelhante ao utilizado no “CFRAC” para determinar valores suaves da sequência (2.14), concluindo-se facilmente que o mesmo não é nada eficiente. Com efeito, é possível encontrar um processo significativamente melhor notando que o facto def ser um polinómio nos permite determinar, à partida e de

forma fácil, quais dos seus valores são efectivamente divisíveis por um determinado primop.

Esta abordagem baseia-se no facto de que, uma vez fixado um qualquer primo da base de factores, todos os valores de x para os quais p divide f (x) são precisamente as soluções da

congruência

3.2. MÉTODO DO “CRIVO QUADRÁTICO” (“QS”)

ou seja, as soluções de x2 ≡ n (mod p). Naturalmente, e embora simples, esta observa-

ção permite-nos ignorar automaticamente quaisquer valores f (x) para os quais se verifique x26≡ n (mod p), evitando assim divisões ou multiplicações desnecessárias ao tentar verificar a

suavidade de cada um destes valores pelo método anteriormente empregue. Para além disso, supondo quexp é uma solução de (3.15) facilmente se conclui quep divide não só f (xp) mas

também qualquer outro valor da forma f (xp+kp) com k inteiro, de acordo com a Propo-

sição 1.12. Deste modo, podemos imediatamente concluir que, dado um qualquer primo p

da base de factores, todas as soluções da congruência (3.15) pertencem, no caso dep ser um

primo ímpar, às progressões aritméticas

{xp+kp}k∈Z e {x0p+kp}k∈Z,

onde xp e x0p denotam as duas soluções de x2 ≡ n (mod p), ou à progressão aritmética

{1 + 2k}k∈Z no caso de p ser igual a 2. Tendo todos estes factos em consideração, facilmente

concluímos que uma maneira mais eficiente de determinar valores suaves do polinómio f

consiste em fixar em cada passo um determinado primo p da base de factores, e percorrer

todos os valores de x no intervalo de crivagem S que pertençam também a alguma das

referidas progressões. Deste modo, podemos efectivamente reduzir o número de operações desnecessárias tendo de igual modo a garantia de que nenhum valor suave é ignorado.

Para tornar o processo acima descrito completamente rigoroso, é necessário no entanto notar que alguns valores de f podem ser divisíveis não só por um determinado primo p mas

também por alguma das suas potências p2, p3, · · · . Deste modo, é necessário determinar

também as soluções da congruência

f (x) ≡ 0 (mod pm) (m ≥ 2), (3.16)

e utilizar um raciocínio semelhante ao anteriormente descrito para procurar valores divisíveis por cada potência de cada primo da base de factores. Naturalmente, com esta abordagem coloca-se também a questão quão longe devemos ir com o expoentem na procura de soluções

de (3.16). Ora, notando que se se verificapm | f (x) verifica-se obrigatoriamente pm−1 | f (x),

e uma vez que estamos apenas interessados em soluções de (3.16) congruentes módulop com

algum valor de S, concluímos facilmente que só é necessário resolver esta congruência para cada m a partir de 1 até ao maior valor inteiro para o qual esta admite alguma solução

congruente módulo p com algum inteiro deste intervalo.

Para concluir este raciocínio, resta encontrar uma forma de tirar partido de toda a informação recolhida até agora em aplicações práticas do “crivo quadrático”. A maneira como o podemos fazer é já nossa conhecida, uma vez que podemos, tal como em §3.1.4, associar a

3. CRIVO QUADRÁTICO

cada valorf (xi) um “produto corrente” Πi, inicialmente igual a

Πi=    1 xi ≥ d √ ne −1 caso contrário ,

que deve ser multiplicado porp sempre que crivamos os valores de f no intervalo de crivagem

com os vários primosp da base de factores e respectivas potências. No final deste processo, e

de modo semelhante ao processo descrito em §3.1.4, todos os valores def (xi) para os quais

f (xi) = Πi são efectivamente suaves, e todos os restantes valores para os quais esta equação

não se verifique são divisíveis por algum primo não pertencente à base de factores, podendo por isso ser ignorados.