Încerc să înțeleg algoritmul Quadratic Sieve.
Momentan sunt blocat la partea de cernere.
Să presupunem că numărul care trebuie factorizat este 9788111. Mă hotărăsc să caut factori 50-smooth.
Baza mea inițială a factorilor (FB) = $p_i$ = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47}.
Trec prin fiecare număr din FB și puterile lor.
Pentru fiecare număr din FB, verific mai întâi dacă N este un reziduu patratic mod numărul (adică N este un QR $\pmod {p_i}$. Dacă este, atunci găsesc rădăcinile.
Pentru 2, este trivial să verifici dacă N este un QR $\pmod 2$. Puteți extinde acest lucru și pentru puteri de 2. Pentru alte numere prime, puteți utiliza criteriile lui Euler pentru reziduuri cuadratice pentru a verifica dacă N este un QR $\pmod {p_i}$. Dacă este un QR, atunci puteți folosi Tonelli-Shanks pentru a găsi rădăcinile și apoi sită cu acel prim.
Ce fac eu pentru puterile prime? Pentru e.q. $5^2$, cum verific dacă $t^2 \equiv N \pmod {5^2}$ are o solutie? Există vreun test sau o regulă pentru a verifica acest lucru înainte de a încerca să găsesc rădăcina?
Pentru puterile prime mici precum $5^2$, este posibil să găsiți manual verificarea dacă N este un QR $\pmod {{p_i}^n}$, dar cum o faci pentru puteri primare mai mari?