Menu

#35 Invalid work of subresultants_nonmodular

open
8
2010-06-21
2009-03-02
No

In this code:

sparse_polynom<big_int> pol1 = "2*x^2+x+1";
sparse_polynom<big_int> pol2 = "4*x+1";

std::cout << "\n" << resultant(pol1, pol2);//output: 14
std::cout << "\n" << resultant(pol2, pol1);//output: 3

function resultant() returns different values with different order of arguments.

Revision: Trunk #249.

Discussion

  • Elena Zamaraeva

    Elena Zamaraeva - 2009-03-02
    • assigned_to: nobody --> slyalin
     
  • Sergey S. Lyalin

    • milestone: --> 823560
     
  • Sergey S. Lyalin

    • priority: 5 --> 7
     
  • Sergey S. Lyalin

    • priority: 7 --> 8
     
  • Sergey S. Lyalin

    trunk #325

    Discovered another bug with that code sample. If it is compiled in x64 configuration, the execution leads to infinite recursion in Arageli::pow template function.

     
  • Sergey S. Lyalin

    Update to my previous comment.

    The configuration was Test x64. In Test Win32 I saw the same behavior that was mentioned by the originator.

     
  • Sergey S. Lyalin

    Created a new branch to investigate and fix this: branches/bug_2655678_invalid_resultant #344.

     
  • Sergey S. Lyalin

    The problem was narrowed down to subresultants_nonmodular function which should compute chain of subresultants for two polynomials. It should have resultant as s[0], where s is a vector with obtained subresultants.

     
  • Sergey S. Lyalin

    Reassigned to Nikolai Zolotykh to inform about the problem and ask for people who have expertise in the topic and can consult me to fix subresultants_nonmodular function. Please read all comments first.

     
  • Sergey S. Lyalin

    • assigned_to: slyalin --> zolotykh
     
  • Sergey S. Lyalin

    Implemented workaround in trunk #377: just replaced resultant computation from subresultant chains to Silvester's matrix determinant computation.

    Since resultant function works fine now, changed the title for this bug and removed it from group Rlease 2.2.8.

     
  • Sergey S. Lyalin

    • summary: Invalid work of resultant() function --> Invalid work of subresultants_nonmodular
     
  • Sergey S. Lyalin

    • milestone: 823560 -->
     

Log in to post a comment.