octave-maintainers
[Top][All Lists]
Advanced

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

Re: QR test failure with --enable-64


From: John W. Eaton
Subject: Re: QR test failure with --enable-64
Date: Fri, 19 Feb 2010 16:40:34 -0500

On 19-Feb-2010, Jaroslav Hajek wrote:

| Yes, I understand that, I'm just wondering whether by
|  [Q,R] = qr(AA);
| you get the same Q and R with both configurations, or whether the
| difference occurs in qrdelete, or maybe in the residual computation.

With the --enable-64 build, I see

  octave:1>   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 ];
  octave:2> 
  octave:2>   [Q,R] = qr(AA);
  octave:3> Q'*Q - eye(5)
  ans =

     2.2204e-16  -3.4694e-16  -5.5511e-17  -2.2204e-16  -2.7756e-17
    -3.4694e-16   0.0000e+00  -8.3267e-17   6.6613e-16   1.1796e-16
    -5.5511e-17  -8.3267e-17   2.2204e-16  -2.7756e-17  -5.1348e-16
    -2.2204e-16   6.6613e-16  -2.7756e-17  -2.2204e-16  -3.3307e-16
    -2.7756e-17   1.1796e-16  -5.1348e-16  -3.3307e-16   2.2204e-15

  octave:4> norm (vec(Q'*Q - eye(5)), Inf)
  ans =  2.2204e-15
  octave:5> norm (vec(Q'*Q - eye(5)), Inf) - 1e1*eps
  ans = 0

So the difference is apparently coming from qr, not qrdelete.

I changed the tolerance to 16*eps.

jwe


reply via email to

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