F4 (algoritme)

Algoritme F4 blev foreslået af Jean-Charles Faugeré i 1999 som en ny effektiv Gröbner -basisberegningsalgoritme [1] . Denne algoritme beregner Gröbner-grundlaget for et ideal i en polynomialring ved hjælp af en række standard lineære algebraprocedurer: matrixreduktioner. Det er en af ​​de hurtigste til dato.

Algoritme

Definitioner
  • Det kritiske par er medlem

sådan at

  • Vi definerer graden af ​​et kritisk par som .
  • Vi definerer følgende operatorer: og
Pseudokode for F4-algoritmen (forenklet version)

Indgang:

Output: begrænset delmængde


mens gør

for gøre

Vend tilbage

Reduktionsalgoritme

Nu kan vi udvide definitionen af ​​polynomiel reduktion modulo

delmængde , indtil reduktionen af ​​delmængden med

modulo en anden undergruppe :

Input: L, G endelige delmængder

Output: endelige delmængder (kan være tomme)


Vend tilbage

Der bruges ingen aritmetisk operation: dette er symbolsk forbehandling.

Symbolsk forbehandlingsalgoritme

Input: L, G endelige delmængder

Output: endelige delmængder

mens gør

hvis støbt ovenfra modulo så

eksisterer

Vend tilbage

Lemma

For alle polynomier vi har

Sætning (intet bevis)

Algoritmen beregner Gröbner-grundlaget G in

sådan at

Kommentar

Hvis # er for alle , reduceres algoritmen til Buchbergers algoritme . I dette tilfælde er Sel-funktionen den tilsvarende udvælgelsesstrategi for Buchberger-algoritmen.

Valgfunktion

Input : liste over kritiske par

Output : liste over kritiske par

Vend tilbage

Vi kalder denne strategi for den normale strategi for .

Derfor, hvis inputpolynomierne er ensartede, kommer vi til potensen, og d er Gröbner-grundlaget.

I det næste trin vælger vi alle de kritiske par , der er nødvendige for at beregne Gröbner-grundlaget til potensen d+1.

Optimering af F4-algoritmen

Der er flere måder at optimere algoritmen på:

  • medtagelse af Buchberger-testen (eller F5-testen);
  • genbrug af alle rækker i de givne matricer.

Buchberger kriterier Algoritme - implementering:

Indgang:

Output: endelig undersæt til opdateret liste over kritiske par

Pseudokode for F4-algoritmen (med kriterium)

Indgang:

Output: endelig delmængde af .

mens gør

mens gør

til

Vend tilbage

F4 og dens forskelle fra Buchberger-algoritmen

Lad der være et begrænset sæt polynomier . Baseret på dette sæt konstrueres en stor sparsom matrix, hvis rækker svarer til polynomier fra , og kolonnerne svarer til monomer. Matrixen indeholder koefficienterne for polynomier ved de tilsvarende monomer. Matricens kolonner er sorteret i henhold til den valgte monomial rækkefølge (det højeste monomium svarer til den første kolonne). Reduktion af en sådan matrix til en trinvis form gør det muligt at finde ud af grundlaget for det lineære spænd af polynomier fra polynomiers rum.

Antag, at i den klassiske Buchberger-algoritme er det nødvendigt at udføre et trin med at reducere polynomiet med hensyn til , og samtidig skal det multipliceres med et monomial . I F4-algoritmen, og vil være specielt placeret i matrixen . Det hævdes, at det er muligt på forhånd at forberede et sæt af alle potentielle multiplikationsreducere, der kan være nødvendige, og placere dem på forhånd i en matrix. [2]

Vi generaliserer algoritmen F4 [3] :

lad os reducere polynomiet i forhold til mængden . Til dette vi

(1) tilføje til matrixen;

(2) vi konstruerer understøttelsen af ​​polynomiet (sættet af monomialer);

(3) hvis tom, afslut derefter proceduren;

(4) vælg det maksimale monomial i (og kasser det fra );

(5) hvis det ikke er deleligt med nogen af ​​de højeste monomer af elementer , så gå til trin (3);

(6) ellers vælger vi reducereren ∈ (og den ekstra faktor ): derefter ;

(7) tilføje til matrixen;

(8) tilføje monomer af polynomiet (undtagen det højeste ) til mængden ;

(9) gå til trin (3).


Denne procedure til at genopfylde en matrix med multiplicerede reduktionselementer kaldes symbolsk forbehandling . Derudover kan du i stedet for S-polynomier lægge deres venstre og højre del i matricen (når du reducerer en række med en anden, får du automatisk et S-polynomium).

Endelig er den tredje forskel fra Buchberger-algoritmen , at det i F4-algoritmen er tilladt at placere dele af flere S-polynomier valgt efter en eller anden strategi i én matrix. Så hvis et S-polynomium er valgt ved hvert trin, gentager det den klassiske Buchberger-algoritme .

Den anden yderlighed er, når mængden af ​​alle tilgængelige S-polynomier reduceres ved næste trin. Dette er heller ikke særlig effektivt på grund af matricernes store størrelse. Forfatteren af ​​algoritmen J.-Sh. Faugère foreslog en normal strategi for valg af S-polynomier til reduktion [4] , hvorefter S-polynomier med den mindste grad af venstre og højre side vælges. Det giver gode empiriske resultater for bestilling af DegRevLex, og dets valg er naturligt for homogene idealer.

Der kan laves flere naturlige forbedringer af algoritmen. Som i den klassiske algoritme til beregning af Gröbner -grundlaget, kan Buchbergers kriterier bruges til at bortfiltrere åbenlyst unødvendige S-polynomier.

Implementeringer

F4 algoritme implementeret

  1. i FGb, Faugères [4] egen implementering , som inkluderer grænseflader til at bruge den fra C / C++ eller Maple ;
  2. i Maple computeralgebrasystemet som en option metode = fgb af Groebner [gbasis] funktionen ;
  3. i Magma computeralgebrasystemet , i SageMath computeralgebrasystemet.

Eksempel

Opgave: Beregn Gröbner-grundlaget for polynomier Først tildeler vi

1) Symbolforbehandling

Jeg er klar nu.

2) Symbolforbehandling

fra oven reduceres til .

3) Symbolforbehandling

koger ikke ned til .

fire)

Matrixrepræsentation af det resulterende :

Gaussisk reduktion af den resulterende matrix :

Fra denne matrix får vi:

Og siden da

og så

For det næste skridt skal vi overveje

Herfra

I symbolsk forbehandling kan du prøve at forenkle ved hjælp af de tidligere beregninger:

For eksempel 1) Symbolforbehandling

2) Symbolforbehandling

3) Symbolforbehandling

Lad os beskrive forenklingen

Formål: at erstatte ethvert produkt med produktet , hvor er den tidligere beregnede streng, og dividerer monomiet

I den første version af algoritmen: nogle rækker i matrixen bruges aldrig (rækker i matrixen ).

Ny version af algoritmen: vi gemmer disse strenge

SIMPLIFY forsøger at erstatte produktet med produktet , hvor

allerede beregnet streng i Gaussisk reduktion, og ut deler det monomiale m; Hvis vi har fundet sådan et bedste produkt, så kalder vi rekursivt SIMPLIFY-funktionen:

Indgang:

Output: Resultat svarer til

for gøre

hvis

hvis

Vend tilbage

ellers vende tilbage

Vend tilbage

Algoritme SYMBOLIK FORBEHANDLING  

Indgang:

Output: endelig delmængde af .

mens gør

hvis støbt ovenfra modulo så

eksisterer

Vend tilbage

Nu tilbage til eksemplet.

4) Symbolforbehandling

Og så videre....

5) Symbolforbehandling

Efter Gauss-reduktion:

og

På næste trin har vi:

og rekursivt kalder forenklingen:

På næste trin har vi:

og

Efter nogle beregninger viser det sig, at rangen er 5.

Det betyder, at der er en ubrugelig ophævelse.

På næste trin har vi:

og

Symbolforbehandling

Links

  1. https://en.wikipedia.org/wiki/Magma_(computer_algebra_system)

Noter

  1. Jean-Charles Faugère. En ny effektiv algoritme til beregning af gr¨obner-baser (f4). Journal of Pure and Applied Algebra. – 1999.
  2. Studie af Gröbner-baser  // msu. Arkiveret fra originalen den 11. juli 2019.
  3. [ http://www.broune.com/papers/f4.pdf F4-ALGORITHMEN FREMSTILLER GROBNER-BASIS-BEHANDLINGER MED LINEÆR ALGEBRA] // BJARKE HAMMERSHOLT ROUNE. Arkiveret fra originalen den 30. december 2019.
  4. ↑ 1 2 Faugères egen implementering   ? . Hentet 1. december 2020. Arkiveret fra originalen 15. juni 2021.

Litteratur

  • J.-C. Faug'ere. En ny effektiv algoritme til beregning af Gr¨obner-baser uden reduktion til nul (F5).
  • J.-C. Faug'ere En ny effektiv algoritme til beregning af gr¨obner-baser (F4). Journal of Pure and Applied Algebra, 139 (1999), 61–88.
  • Cox D., Little J., O'Shea D., idealer, varianter og algoritmer. An Introduction to Computational Algebraic Geometry and Commutative Algebra, New York, NY: Springer, 1998]