[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
- QR test failure with --enable-64,
John W. Eaton <=