Berlekamps algoritm

Berlekamps  algoritm är en algoritm utformad för att faktorisera enhetliga polynom över ett ändligt fält . Designad av Alvin Berlekamp 1967 . Den kan också användas för att testa irreducerbarheten av polynom över ändliga fält . Algoritmens huvudidé är möjligheten att representera det ursprungliga polynomet som en produkt av de största gemensamma divisorerna för själva polynomet och några polynom som expanderar upp till en fri term.

Berlekamps algoritm har en hög beräkningskomplexitet, så ett antal ytterligare metoder har utvecklats för att minska antalet nödvändiga matematiska operationer. Men trots sin komplexitet har Berlekamps algoritm implementerats i datoralgebrasystem. Algoritmen har funnit bred tillämpning inom kodningsteori och i studiet av linjära återfallsrelationer i finita fält. Det finns många beräkningsproblem inom algebra och talteori som på något sätt är relaterade till sönderdelningen av polynom över ändliga fält, till exempel faktorisering av polynom över ringen av heltal , hitta sönderdelningen av ett rationellt primtal i fältet för algebraiska tal, beräkning Galois-gruppen av någon ekvation över fältet av rationella tal och konstruktionen av fältförlängningar.

Skapande historia

En amerikansk matematiker, professor vid University of California, Berlekamp, ​​studerade cykliska feldetekterings- och korrigeringskoder , inklusive Bose-Chowdhury-Hockwingham-koden , vars egenskaper beror på divisorerna för de genererande polynomen. Berlekamps tekniska framsteg när det gäller att avkoda dessa koder har gjort dem mer praktiska [1] .

Algoritmen beskrevs först i artikeln "Factoring Polynomials Over Finite Fields" [2] och återgavs senare i boken "Algebraic Coding Theory" [2] . I denna uppsats från 1967 [3] skriver Berlekamp att faktoriseringsproblemet uppstår i Golombs skrifter [ 4] . Möjligheten att använda en matris för att bestämma antalet normaliserade faktorer för ett polynom uppmärksammades först i en artikel av Karel Piotr[5] . Butlers artikel [6] fann att rangordningen för en matrisär, ett annat bevis för detta faktum gavs av Schwartz [7] .

Berlekamp-algoritmen nämndes i många verk [8] och var den huvudsakliga algoritmen för att lösa faktoriseringsproblemet fram till tillkomsten av Cantor-Zassenhaus-algoritmen 1981[9] . En teknik utvecklades [10] som tillåter faktorisering av ett polynomdär är en indikator för att uppskatta komplexiteten av att multiplicera kvadratmatriser [11] .

Påstående och definitioner

Problemet med faktorisering av ett polynom av grad ( ) över ett ändligt fält ( ,  är ett primtal ) [12] till olika irreducible unitary polynoms anses .

För användning i algoritmen byggs en matris enligt följande villkor:

.

Ett polynom sådant att , kallas -nedbrytande polynom [13] .

Grundläggande fall

Faktoriseringsalgoritm över ett ändligt fält av ett polynom av formen:

består av följande steg:

  1. Matrisberäkning [14] .
  2. Sök efter grunden för underrummet av lösningar av systemet av linjära ekvationer [15] : , i detta fall är det möjligt att välja vektorn , eftersom den alltid kommer att finnas [15] i basen av lösningsutrymmet på grund av det faktum att vid .
  3. Det hittade numret är antalet irreducerbara divisorer [14] .
    • Om , då är polynomet
    irreducerbart .
  4. Om , då har vektorerna formen . Dessa tal används för att konstruera -nedbrytande polynom: .
  5. Nedbrytningssökning [15] : som: , där , i det allmänna fallet, inte är irreducerbara. Funktioner faktoriseras på samma sätt [15] , dvs. .

Allmänt fall

Problemet med faktorisering av ett godtyckligt enhetligt polynom reduceras till övervägandet av huvudfallet. För detta beräknas polynomet

med Euklids algoritm .

Således reduceras problemet med att faktorisera ett godtyckligt enhetligt polynom över ett ändligt fält till att faktorisera ett ändligt antal polynom som inte har flera irreducerbara faktorer, det vill säga till huvudfallet [16] .

Motivering

Låta:

, var .

Enligt den kinesiska restsatsen finns det ett unikt polynom för vilken uppsättning fältelement som helst [ 17] :

Så att:

.

Polynomet uppfyller villkoret [17] :

,

och så [18] :

.

Från villkoret:

,

och det följer av det faktum att faktorerna på höger sida är coprime att varje irreducible divisor av polynomet delar en och endast en av polynomen . Således bevisas giltigheten och unikheten av nedbrytningen [18] :

Så här hittar du ett polynom:

Låt oss titta på jämförelsen:

,

vilket motsvarar villkoret [17] :

.

Genom definitionen av matrisen får vi:

,

alltså [17] :

.

Det resulterande ekvationssystemet bestämmer koefficienterna för -nedbrytande polynom och kan skrivas som:

eller:

[17] .

Algoritmens komplexitet

Algoritmens komplexitet är matematiska operationer [19] . Algoritmen kommer endast att vara effektiv för små fält. Detta beror på behovet av att räkna upp alla .

Förbättringar

Applikation

Polynomfaktoriseringsalgoritmer är viktiga för kodningsteori och för studiet av linjära återfallsrelationer i finita fält. Berlekamp-algoritmen används också för att beräkna Galois-gruppen för en ekvation över fältet av rationella tal och konstruera fältlösningar, expandera polynom över ringen av heltal, för att hitta nedbrytningen av ett enkelt rationellt tal i fältet för algebraiska tal, och för vissa andra beräkningsproblem [24] . Algoritmer med faktorbaseranvänd polynomfaktoriseringsalgoritmer för att lösa problemet med att hitta en diskret logaritm [25] , på vars beräkningskomplexitet, ElGamal- schemat är byggt .

Implementeringar i datoralgebrasystem

I PARI/GP datoralgebrasystem kan Berlekamps algoritm användas med kommandot factormod[26] .

Anteckningar

  1. Berlekamp, ​​1967 , sid. 1854: "Om cykliska koder".
  2. 1 2 Berlekamp, ​​1967 .
  3. Berlekamp, ​​1967 , sid. 1853.
  4. Golomb, Solomon Wolf. Skiftregistersekvenser . — Aegean Park Pr; Reviderad upplaga, 1981. - 274 sid. — ISBN 978-0894120480 .
  5. PETR K. Uber die Reduzibilitat eines Polynoms mit ganzzahligen Koeffi-zienten nach einem Primzahlmodul. — Casopis Pest Mat. Fys, 1937, s. 85-94 .
  6. Butler, MCR Om polynomens reducerbarhet över ett ändligt fält. - The Quarterly Journal of Mathematics Oxford Second Series 5, 1954. - S. 102-107 .
  7. Schwarz, St. Om polynoms reducerbarhet över ett finit fält. — Quart. J Math. Oxford Ser. (2) 7, 1956. - s. 110-124 .
  8. Lidl, 1988 , Historisk kommentar, sid. 223-224.
  9. Cantor DG, Zassenhaus H. En ny algoritm för faktorisering av polynom över ändliga fält. — Matematik. Comp., 1981. Vol. 36. - P. 587-592.
  10. von zur Gathen J., Shoup V. Computing Frobenius maps and factoring polynomials. - Dator. Complexity, 1992. - Vol 2 . - S. 187-224 .
  11. Vasilenko, 2003 , sid. 185: "Komplexiteten i Cantor-Zassenhaus-algoritmen".
  12. Lidl, 1988 , Redogörelse av problemet, sid. 187.
  13. Vasilenko, 2003 , Definitioner, sid. 172.
  14. 1 2 Vasilenko, 2003 , Beskrivning av algoritmen, sid. 173.
  15. 1 2 3 4 Lidl, 1988 , Beskrivning av algoritmen.
  16. 1 2 3 4 Lidl, 1988 , Reduktion till huvudmålet, sid. 188.
  17. 1 2 3 4 5 Lidl, 1988 , Motivering av algoritmens riktighet, sid. 189-190.
  18. 1 2 Vasilenko, 2003 , sid. 174.
  19. Vasilenko, 2003 , sid. 174: "Algorithmens komplexitet."
  20. Lidl, 1988 , Mer om metoden, sid. 201.
  21. Van der Waerden, 1976 , Om resultatet, sid. 124.
  22. Lidl, 1988 , Mer om metoden, sid. 206.
  23. Kaltofen E, Lobo A. Factoring high-grade polynomials by the black box Berlekamp algorithm  //  Proceedings of the international symposium on Symbolic and algebraic computation (ISSAC '94). - N. Y .: ACM Press, 1994. - P. 90-98 . — ISBN 0-89791-638-7 . - doi : 10.1145/190347.190371 .
  24. Lidl, 1988 , Application of the Algorithm, sid. 187.
  25. Vasilenko, 2003 , Om användningen av algoritmer med faktorbaser för att lösa det diskreta logaritmproblemet, sid. 137.
  26. ↑ Katalog över GP/PARI-funktioner: Aritmetiska funktioner Arkiverad 11 mars 2007.

Litteratur