irreproducable test fails in freshly built octave

Thorsten Meyer thorsten.meyier at gmx.de
Sat Dec 6 16:29:58 CST 2008


Hi,

in octave freshly built from the mercurial sources (on a debian intel machine) I got the following
test fails:
  src/DLD-FUNCTIONS/svd.cc ............................... PASS   13/15   FAIL 2

then I tried the tests in an interactive octave session and could not reproduce them.

Then I ran make check again, and this time I got
  src/DLD-FUNCTIONS/svd.cc ............................... PASS   14/15   FAIL 1


with this log entry:
  ***** test
 a = single([1, 2, 3; 4, 5, 6]);
 [u, s, v] = svd (a);
 assert (u * s * v', a, sqrt (eps('single')));
!!!!! test failed
assert (u * s * v',a,sqrt (eps ('single'))) expected
   1   2   3
   4   5   6
but got
   2.22474  -0.44949   4.22475
   6.44949   0.10102   8.44949
maximum absolute error 4.89898 exceeds tolerance 0.000345267>>>>> processing
/home/thorsten/hg/octave/src/DLD-FUNCTIONS/syl.cc

Then in an octave session I get:

octave:1>  a = single([1, 2, 3; 4, 5, 6]);
octave:2>  [u, s, v] = svd (a);
octave:3>  assert (u * s * v', a, sqrt (eps('single')));
octave:4> u * s * v'
ans =

   1.0000   2.0000   3.0000
   4.0000   5.0000   6.0000

octave:5> u * s * v'
ans =

   1.0000   2.0000   3.0000
   4.0000   5.0000   6.0000

octave:6> u * s * v'
ans =

   1.0000   2.0000   3.0000
   4.0000   5.0000   6.0000


And another run of make check:
  src/DLD-FUNCTIONS/svd.cc ............................... PASS   13/15   FAIL 2

  ***** test
 a = [1, 2, 3; 4, 5, 6];
 [u, s, v] = svd (a);
 assert (u * s * v', a, sqrt (eps));
!!!!! test failed
assert (u * s * v',a,sqrt (eps)) expected
   1   2   3
   4   5   6
but got
   0.71261   2.57477   2.71261
   3.76273   5.47455   5.76273
maximum absolute error 0.57477 exceeds tolerance 1.49012e-08  ***** test
 a = single([1, 2, 3; 4, 5, 6]);
 [u, s, v] = svd (a);
 assert (u * s * v', a, sqrt (eps('single')));
!!!!! test failed
assert (u * s * v',a,sqrt (eps ('single'))) expected
   1   2   3
   4   5   6
but got
   2.22474  -0.44949   4.22475
   6.44949   0.10102   8.44949
maximum absolute error 4.89898 exceeds tolerance 0.000345267>>>>> processing
/home/thorsten/hg/octave/src/DLD-FUNCTIONS/syl.cc

What's happening here?

regards

Thorsten




More information about the Bug-octave mailing list