octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

QR test failure with --enable-64


From: John W. Eaton
Subject: QR test failure with --enable-64
Date: Fri, 19 Feb 2010 12:19:07 -0500

When I compile Octave with --enable-64 on an amd64 system, the
following test from qr.cc fails because the computed norm is exactly
equal to 10*eps.  On the same system without --enable-64, the test
passes.  I don't know exactly why changing the  size of integer
indexes would change the result.  My best guess is that the additional
memory required by the index values forces the compiler to store some
floating point values that are otherwise kept in registers.  But
that's just a guess.  Anyway, what should we do about the test?
Should I just change the < to <=, or increase the value of the
multiplier for eps?

  AA = [0.091364  0.613038  0.027504  0.999083;
        0.594638  0.425302  0.562834  0.603537;
        0.383594  0.291238  0.742073  0.085574;
        0.265712  0.268003  0.783553  0.238409;
        0.669966  0.743851  0.457255  0.445057 ];

  [Q,R] = qr(AA);
  [Q,R] = qrdelete(Q,R,3);
  assert(norm(vec(Q'*Q - eye(5)),Inf) < 1e1*eps)


jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]