From bug-octave-request at bevo dot che dot wisc dot edu Mon Nov 8 10:36:26 1999 Subject: Test fails - octave-2.1.20 on irix6.5 From: "Billinghurst, David (RTD)" To: bug-octave at bevo dot che dot wisc dot edu Date: Mon, 8 Nov 1999 10:36:23 -0600 (CST) Just built octave-2.1.20 on irix6.5 with both gcc-2.95.1 and egcs 19991102 snapshot. I get a failure on test poly/residue-1.m as it misses the allowed tolerances by an order of magnitude. Haven't done a full error analysis, but I suspect the tolerances may be a little tight. The test case poly/residue-1.m is b = [1, 1, 1]; a = [1, -5, 8, -4]; [r, p, k, e] = residue (b, a); (abs (r - [-2; 7; 3]) < sqrt (eps) && abs (p - [2; 2; 1]) < sqrt (eps) && isempty (k) && e == [1; 2; 1]) For octave-2.1.20 this fails as r - [-2; 7; 3] = -1.0658e-14 1.7276e-07 1.1990e-14 while sqrt (eps) = 1.4901e-08 The difference occurs at the start of residue in the calculation of roots(a) For octave-2.0.14 we have roots([1, -5, 8, -4]) ans = 2.000000000000000 + 0.000000044133310i 2.000000000000000 - 0.000000044133310i 0.999999999999999 + 0.000000000000000i while for octave-2.1.20 we have roots([1, -5, 8, -4]) ans = 2.00000008638208 1.99999991361792 1.00000000000000 Either: roots() is inaccurate (wrong), or the tolerances on r are too tight In either case residue() itself is OK. --------------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. To ensure that development continues, see www.che.wisc.edu/octave/giftform.html Instructions for unsubscribing: www.che.wisc.edu/octave/archive.html ---------------------------------------------------------------------