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. .
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 1 ≤ j₁ ≤ … ≤ 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.
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 .