Project

General

Profile

Bug #1310

RealRoots: gives odd number of roots for deg 6 irred poly

Added by John Abbott over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
Maths Bugs
Start date:
10 Sep 2019
Due date:
% Done:

100%

Estimated time:
2.22 h
Spent time:

Description

The following looks to be wrong:

/**/ f := x^6 +4*x^5 -x^3 -4*x^2 -1;
/**/ IsIrred(f);
true
/**/ len(RealRoots(f)); -- must be even!
1
/**/ RootBound(f);
189/64

History

#1 Updated by John Abbott over 4 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

There appear to be two real roots: approx -4.00095 and 1.05

RootBound(f) gives about 2.95; this is wrong!

#2 Updated by John Abbott over 4 years ago

  • Assignee set to John Abbott
  • % Done changed from 10 to 30

I now have a simpler failing example:

g := x^4 -288*x^3 -593*x +256;
RootBound(g,0); --> 254, but there is a real root close to 288.01

Verbose mode shows that the "Birkhoff" bound is wrong. Investigating...

#3 Updated by John Abbott over 4 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 30 to 90
  • Estimated time set to 2.22 h

I have found a bug, and fixed it! It produces reasonable answers on the two tests mentioned above:

/**/ gg := x^4 -288*x^3 -593*x +256;
/**/ RootBound(gg);
289
/**/ f := x^6 +4*x^5 -x^3 -4*x^2 -1;
/**/ FloatStr(RootBound(f));
4.0156

I'll add a new "exbug" test. Phew!

#4 Updated by Anna Maria Bigatti over 4 years ago

  • Target version changed from CoCoALib-0.99700 to CoCoALib-0.99650 November 2019

#5 Updated by John Abbott over 4 years ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100

Also available in: Atom PDF