F4 algorithm for calculating Groebner bases

In summary, the conversation is discussing Faugere's improved F4 algorithm and the example given in the paper to explain how it works. There is a question about the second while-loop and the set G before it is entered. There is also a discussion about the labelling of polynomials and the reduction matrix A_1. The conversation concludes with a clarification on how to check if a solution is a Groebner basis.
  • #1
choschech
6
0
Dear all,

I have a question concerning Faugere's improved F4 algorithm. You can find it in the attached file
faugere_f4.pdf on page 9. In section 2.6 (page 14) an example is given for how the algorithm works.

According to the example the second while-loop in the improved F4 algorithm (page 9) is entered for the first
time with the set G={{f_4}}. I do not understand why.
Before entering the second while-loop the algorithm runs through the first while-loop for two times calling the Update function each time. I have attached this function in the file update.jpg. As you can see each time the function is called with a particular polynomial h this polynomial will end up in G_new, and thereby in the set G of the F4 algorithm (third to last line in update.jpg). Which polynomial Update is called with depends on the first() function in the F4 algorithm. In my opinion when cycling through the first while-loop first() should return f_4 and then f_3. Thus the set G would have to contain f_3 when the second while-loop is entered. I have specified what I think should be going on in specification.pdf. Could anyone explain to me whether and if so why my reasoning is wrong?

Best

Luther
 

Attachments

  • faugere_f4.pdf
    316.4 KB · Views: 356
  • specification.pdf
    24.4 KB · Views: 218
  • update.jpg
    update.jpg
    32.9 KB · Views: 482
Physics news on Phys.org
  • #2
I'm afraid I do not know a lot about this algorithm, but I believe that G={f_1,f_2,f_3,f_4} before the second while loop is entered. The first while loop does not stop until F is empty. It is also pretty clear that the labelling of f_1 to f_4 are backwards in the paper on page 14 -- that is, f_4 is in fact a+b+c+d, since the first pair selected with the normal selection strategy will be the pair with head terms ab and a. Howver, given the set T(F_1) in the same paragraph of page 14, only f_4 is needed to reduce the matrix; f_3 can also be used but the reduction it does, of ab, is also done by f_4. The important part is that the other elements of G are not germaine at this point, so perhaps that is why he left them off the dicsussion.
 
  • #3
Dear CoCoA,

thanks for your answer! I suppose you are right that the first while
loop should be cycled through until F is empty. I rechecked the first part of the
example and came to the same conclusions than you! I am somewhat worried
about the matrix A_1 though (page 14): One column seems to be missing,
the entries for b^2 and d^2 (from bf_4 and df_4) appear to be in the same
column. Do you think there is a mistake in the paper or did I miss something?

I think I should go through the whole example and check whether I am getting a correct solution. I am not sure, however, how to distinguish a correct from a wrong solution. One
problem is that a Groebner basis is not unique so I cannot simply compare my
solution from the F4 algorithm to the solution from a different algorithm. There seems to
be a so-called "reduced" Groebner basis. Do you know whether this is unique?


Best

Luther
 
  • #4
I am frustrated with what I had to do to decipher it. It should have been written more clearly.

One would expect the rows of A to be in the order f_3, bf_4, df_4 sicne that is the order of the set given above the matrix. However, f_3 has two terms each in common with bf_4 and df_4, just as the second has two entries each in common with the first and third rows. Thus the first row is df_4, the second row is f_3, and the third row is bf_4. Then comparing the common terms discloses that the order of the columns is {ab, b^2, bc, ad, bd, cd, d^2, nothing}. Using this order then makes \tilde{A_1} match with f_5, f_6, and f_7.

The most natural way to determine if you got a correct answer, for small examples, is to reduce all the S-polynomials when completed. If they all reduce to zero, then the set is a groebner basis. Or you can feed the set to a computer system with a function like "IsGroebner" to return true if a groebner basis, false otherwise.
 
  • #5
Thank you once more! I finally get an idea about how to use the F4 algorithm.

Just to make sure I have understood how to check whether a solution really is
a Groebner basis:
Do you mean that I could calculate all possible S-polynomials for the elements
of the solution and that the Normal Forms of these S-polynomials with
respect to this solution would all be zero?


Best

Luther
 
  • #6
Yes, that is a basic characteristic of Groebner bases; you can find in the book by Backer & Weispfenning referred in Faugere's paper or many other introductions to Groebner bases. If you need brushing up, you should look at one of these before getting too deep with a particular algorithm like F4.
 
  • #7
Thanks CoCoA! You have been great help and I feel confident that I can tackle my problems now!
 

Related to F4 algorithm for calculating Groebner bases

What is the F4 algorithm for calculating Groebner bases?

The F4 algorithm is a computer algorithm used in computational algebra for calculating Groebner bases, which are comprehensive sets of generators for polynomial ideals. It was developed in 1999 by Jean-Charles Faugère and is an improvement upon the earlier F5 algorithm.

How does the F4 algorithm work?

The F4 algorithm works by iteratively reducing the problem of computing a Groebner basis into smaller subproblems. It does this by using a technique called "syzygy" to eliminate redundant computations. This results in a more efficient and faster algorithm compared to other methods.

What are the advantages of using the F4 algorithm?

The F4 algorithm has several advantages, including its ability to handle larger and more complex problems compared to other methods, its speed and efficiency in computing Groebner bases, and its ability to reduce the number of redundant computations.

Are there any limitations to the F4 algorithm?

Like any algorithm, the F4 algorithm also has its limitations. It may not be suitable for certain types of polynomial systems, such as those with a high number of unknown variables or a high degree of polynomials. It also requires a significant amount of memory and may not be feasible for extremely large problems.

What are some real-world applications of the F4 algorithm?

The F4 algorithm has various applications in fields such as cryptography, robotics, and computer-aided design. It is also used in scientific research and in solving complex engineering problems. Its efficiency and accuracy make it a valuable tool in many practical applications.

Similar threads

  • Programming and Computer Science
Replies
2
Views
702
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
Replies
2
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Programming and Computer Science
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
15
Views
2K
  • Programming and Computer Science
Replies
29
Views
3K
  • Programming and Computer Science
Replies
7
Views
3K
  • Programming and Computer Science
Replies
17
Views
2K
Back
Top