Algoritmul lui Berlekamp

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În matematică, algoritmul Berlekamp este un algoritm pentru factorizarea polinoamelor pe un câmp finit inventat de Elwyn Berlekamp în 1967 . Algoritmul constă în principal în construcția unei matrice adecvate care conține coeficienți obținuți pornind de la cei ai polinomului care trebuie luat în calcul și în calculul celui mai mare divizor comun între polinoame. A fost principalul algoritm pentru factorizarea polinoamelor până la realizarea algoritmului Cantor-Zassenhaus în 1981 de la care a fost înlocuit acum în multe aplicații. Cu toate acestea, metoda este încă implementată în multe sisteme de algebră de calcul , inclusiv PARI / GP, de fapt este ușor de implementat, mulți pași pot fi paralelați eficient și impune puține ipoteze asupra polinomului care trebuie luat în considerare [1] .

Descrierea algoritmului

Dat fiind un polinom de grad un coeficienți în câmpul Galois și care este lipsit de factori repetați, se caută un polinom care împarte . Repetând apoi procedura pentru factorii de obținut în acest mod, este posibil să se obțină factorizarea lui în polinoame ireductibile (care este în esență unic, deoarece fiecare inel de polinoame pe un câmp finit este un domeniu de factorizare unic ).

Factorii aparțin cu siguranță inelului coeficient ; algoritmul se concentrează pe găsirea polinoamelor care satisfac congruența

Astfel de polinoame formează o subalgebră a (văzut ca un spațiu vectorial de dimensiune pe ), numită subalgebra lui Berlekamp . Interesul pentru această subalgebră constă în faptul că fiecare polinom satisface identitatea

care este o factorizare a . Cu toate acestea, trebuie remarcat faptul că nu toți factorii de producție sunt non-banali (adică elemente inversabile sau multipli de ), dar ca Și unele sunt cu siguranță, cu excepția cazului în care nu este ireductibil.

Pentru a construi elementele subalgebrei lui Berlekamp este suficient să construim o bază a acestora ; acest lucru este posibil, deoarece acest sub-cadru este nucleul unei matrice un coeficienți în . Această matrice, pe care o vom indica cu , este astfel construit: elementul în' -alea linie e -coloana este coeficientul gradului monomial a polinomului [2] modul , adică:

Atunci dacă la orice polinom vectorul rând este asociat bijectiv , este relativ ușor să demonstrezi că vectorul corespunde polinomului modul . Rezultă că un polinom aparține subalgebrei Berlekamp dacă și numai dacă este un vector propriu al , adică satisface sistemul de ecuații în necunoscute (unde este este matricea identității ordinii ), care poate fi rezolvat eficient, de exemplu prin aplicarea metodei de eliminare gaussiană , pentru a obține polinoamele căutate.

Odată identificat un polinom cu proprietatea necesară, este suficient să se calculeze cel mai mare divizor comun dintre Și dupa cum în (de exemplu cu algoritmul lui Euclid ): fiecare polinom obținut este un factor de , posibil banal.

Eliminarea factorilor repetați

Pentru ca procedura descrisă să funcționeze, presupunerea că nu au factori repetați. Cu toate acestea, acest lucru nu limitează aplicarea algoritmului, deoarece este posibil să se identifice într-un mod foarte simplu prezența unor astfel de factori folosind proprietățile derivatelor formale . Într-adevăr un polinom e derivatul său formal și se calculează singur . Există apoi trei cazuri:

  1. de sine este o constantă, atunci este lipsit de factori repetați;
  2. de sine , asa de este o putere -thth, unde este caracteristica ;
  3. de sine are un grad mai mare de 1, atunci este un factor de .

Factorizarea în inelul numerelor întregi

Algoritmul lui Berlekamp poate fi folosit și în factorizarea polinoamelor cu coeficienți întregi. Această problemă este mult mai dificilă decât cea de factoring in , ansamblul coeficienților fiind infinit. Într-adevăr, nici măcar nu este evident că această problemă este decisivă . De fapt, în timp ce se afla am putea proceda la factorizarea unui polinom de grad împărțind-o la toate polinoame de grad mai mic sau egal cu (o tehnică complet impracticabilă, dar corectă cel puțin din punct de vedere teoretic), în este necesar să se aplice un raționament mai complex precum metoda Kronecker . Cu toate acestea, este posibil să se demonstreze că există o primă și un firesc astfel pentru care factorizarea pe câmpuri , , ..., , o factorizare a de asemenea pe . În această formă, metoda se numește algoritmul Berlekamp-Zassenhaus și necesită utilizarea unor observații teoretice mai sofisticate, inclusiv lema lui Hensel .

Notă

  1. ^ În algoritmul Cantor-Zassenhaus este de fapt necesar ca polinomul dat să aibă o factorizare în factori de grad egal. Cu toate acestea, această condiție nu limitează câmpul de aplicabilitate al algoritmului, deoarece există metode eficiente pentru determinarea factorizării unui polinom în factori (nu neapărat ireductibili) care au proprietatea necesară.
  2. ^ Acordați atenție faptului că rândurile și coloanele din sunt numerotate din la , în timp ce coeficienții polinoamelor de la a .

Bibliografie

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică