F5 (algoritmus)

A Gröbner-bázis kiszámítására szolgáló F5 algoritmust J.-Ch. Foger 2002-ben. Ebben a cikkben megvizsgáljuk a mátrix változatát, amely homogén polinomokra működik . Ennek az algoritmusnak a fő eljárása kiszámítja a Gröbner d-bázist, vagyis a Gröbner-bázis azon részhalmazát, amelyre vonatkozóan egy legfeljebb d fokú ideálból származó összes polinom nullára redukálódik.

Az F5 algoritmusban minden eredményül kapott polinomhoz egy aláírás (egy monom és egy generátorszám párja) van társítva, amely a polinom eredetére vonatkozó információkat kódol. A fő gondolat az, hogy lehetőség szerint ne vegyük be a mátrixokba azokat a sorokat, amelyek nyilvánvalóan lineárisan függenek a többitől (vagyis nullára redukálódnak).

Ehhez a redukciókat azokra korlátozzuk, amelyek nem változtatják meg az elemek aláírását, és a következő feldolgozás alatt álló polinomok közül csak azokat veszik figyelembe, amelyek aláírási monomija nem osztható a bázis már megtalált elemeinek egyik legmagasabb monomijával sem. .

F5 Mátrix Algoritmus Pszeudokód

Bemenet: homogén polinomok maximális fokú hatványokkal .

Kimenet: a -ból származó redukált Gröbner-bázisnál nem magasabb fokszámú elemek .

Algoritmus:

i -re 1 -től n - ig Gᵢ : = 0 ; vége // inicializálja az (f, …, fᵢ) Gröbner-bázisait. d1 esetén d - től D - ig do _ { d , 0 } := 0 , ℳ̅ _ { d , 0 } := 0 i 1 - től m do _ ha d < dᵢ akkor_ { d , i } :=_ { d , i - 1 } különben ha d = dᵢ akkor _ { d , i } := adjuk hozzá az új fᵢ sort a ℳ̅ _ { dᵢ , i - 1 } sorhoz ( i , 1 ) indexszel más _ { d , i } := ℳ̅ _ { d , i - 1 } Crit := LT ( ℳ̅ _ { d - dᵢ , i - 1 }) az f sorokban (_ { d - 1 , i } ) \ Rows (_ { d - 1 , i - 1 } ) do ( i , u ) := index ( f ) , ahol u = x_ { j₁ } ,, x_ { jd - dᵢ - 1 } , és 1j₁ ≤ … ≤ j_ { d - dᵢ - 1 }n j esetén j_ { d - dᵢ - 1 } -től n do _ ha uxⱼCrit akkor adjuk hozzá az új xⱼf sort ( i , uxⱼ ) indexel_ { d , i } _ vége ha véget ért véget ért vége ha Számítsa ki a ℳ̅ _ { d , i } értéket Gauss eliminációval_ { d , i } értékből Adja hozzá a Gᵢ -hez a ℳ̅ _ { d , i } összes sorát , amely nem csökkenthető LT - vel ( Gᵢ ) véget ért véget ért return [ Gᵢ | i = 1 ,, m ]

A 14. sorban lévő for ciklus egy mátrixot épít fel, amely tartalmazza a c összes polinomját (kivéve azokat, amelyek triviálisan nullázzák). A redundáns számítások elkerülése érdekében az előző mátrix soraiból épülnek fel, azaz minden sort megszoroznak az összes változóval. A c indexű sor több sorból is előfordulhat -ben , felépíthetjük a , c -vel indexelt sorból , és megszorozzuk a -ben előforduló legnagyobb változóval . Ez biztosítja, hogy minden sor pontosan az előző mátrix egy sorából kerüljön átvételre.

Példa az F5 algoritmusra

Tekintsünk egy homogén rendszert inverz lexográfiai sorrendben a mátrixalgoritmus szerint .

A Gröbner-bázis kiszámításához definiáljuk , és , és figyelembe vesszük az és a kritikus párokat . Az algoritmushoz hasonlóan a power-2 mátrixrészt használjuk, hogy összehozzuk ezt a három kritikus párt:

és miután a mátrixot háromszög alakúra hoztuk:

és két "új" polinom jelenik meg: és , amelyek az és a kritikus párok csökkentésének eredménye . Vegye figyelembe, hogy a polinom aláírása , amely megfelel a sor bal oldalán található címkének ( a mátrixban aláhúzva ).

Azt is vegye figyelembe, hogy az aláhúzott 18-at nem csökkenti , mivel az aláírás kisebb, mint . Míg az aláhúzott 0 csökken, mivel . Ez bizonyítja, hogy az algoritmus redukciója egyirányú csökkentés.

A következő lépés az új kritikus párok figyelembevétele: és . Kiválasztjuk a párokat fokozat szerint, és felállítunk egy 3. fokú mátrixot, hogy együtt dolgozhassunk a következő kritikus párokkal . Csak a részeket kell figyelembe vennünk , az írható részekkel , ill.

Az algoritmushoz hasonlóan a részek azok a sorok, amelyeket csökkenteni kell a mátrixban, és ki kell választanunk azokat a részeket is, amelyeket a sorok kicsinyítésére használunk. Mivel ezek részek , részeket kell hozzáadnunk a mátrixhoz , hogy kiküszöböljük őket.

Most van egy mátrixunk 3-as fokozattal (aláírással rendezve):

és háromszög alakúra redukálás után:

és polinom , és a 3. fokozatú kritikus párok redukciójának eredményei. Vegyük észre, hogy bár , a jelölt polinom nem -redukálható -ra . Így még mindig "új" polinom.

Most már sokkal világosabb az írott kritérium jelentése. A mátrix összeállításakor zárójelben felsoroljuk az egyes sorok (polinomok) aláírásait. Az azonos szignatúrájú címkézett polinomok a mátrix ugyanabban a sorában jelennek meg, így elég csak a legfrissebb eredményekkel foglalkozni (ezért gondoljuk át a címkézett polinomok létrehozásának sorrendjét). Az egyoldalú redukció is nyilvánvaló a mátrixban . Nézzük a vonalat . Az aláhúzott 0, 0 a és a vonalakon csökken , míg az aláhúzott 8,1,18 a és a vonalakon nincs kizárva . ennek az az oka, hogy az algoritmus redukciója egyirányú csökkentés. Pontosabban a karakterlánc-aláírások és a this and , amelyek mindketten kisebbek a karakterláncnál .

Így a karakterláncok és képesek csökkenteni a karakterláncot . Azonban van olyan karakterlánc , és nem vágja el a karakterláncokat . Vegye figyelembe, hogy mivel csak a és sorokat kell tárolni, a többi sor nem lesz teljesen redukálva a mátrixban .

Tudnunk kell azonban, hogy míg az algoritmus két új kritériuma szinte minden haszontalan számítást elvethet, az egyirányú redukció alacsonyabb mátrix eliminációs hatékonyságot eredményez, mint a .

Irodalom

  • J.-C. Faug`ere. Egy új hatékony algoritmus a Grobner-bázisok nullára redukálása nélkül történő kiszámításához (F5).
  • M. Bardet, J.-C. Faug`ere, B. Salvy: Az F5 Grobner-alapú algoritmus összetettségéről.
  • C. Eder, J.-C. Faug`ere. Felmérés az aláírás-alapú Grobner-alapú számításokról.
  • Stegers, T., 2005. Faug'ere F5 Algorithm Revisited. Diploma-Mathematiker szakdolgozat