unexpected make check failure
John W. Eaton
jwe at bevo.che.wisc.edu
Tue Aug 26 15:36:28 CDT 2008
On 26-Aug-2008, Kai Habel wrote:
| John W. Eaton schrieb:
| > On 26-Aug-2008, Kai Habel wrote:
| >
| > | I am trying to set up my octave environment on a X86-64 machine
| > | (OpenSuse11). I have compiled SuiteSparse for myself (unfortunately no
| > | OpenSuse package). So far everything went well, but with a very recent
| > | checkout I see one unexpected failure:
| > |
| > | >>>>> processing /home/kai/hg-octave/octave/src/DLD-FUNCTIONS/chol.cc
| > | 15 ***** test
| > | 16 R = chol(single(Ac));
| > | 17
| > | 18 R1 = cholupdate(R,single(uc));
| > | 19
| > | 20 assert(norm(triu(R1)-R1,Inf) == 0)
| > | 21 assert(norm(R1'*R1 - R'*R - single(uc*uc'),Inf) < 1e1*eps('single'))
| > | 22
| > | 23 R1 = cholupdate(R1,single(uc),"-");
| > | 24
| > | 25 assert(norm(triu(R1)-R1,Inf) == 0)
| > | 26 assert(norm(R1 - R,Inf) < 1e1*eps('single'))
| > | 27 !!!!! test failed
| > | 28 assert (norm (R1 - R, Inf) < 1e1 * eps ('single')) failedshared
| > | variables {
| > | 29 A =
| > | 30
| > | 31 0.436997 -0.131721 0.124120 -0.061673
| > | 32 -0.131721 0.738529 0.019851 -0.140295
| > | 33 0.124120 0.019851 0.354879 -0.059472
| > | 34 -0.061673 -0.140295 -0.059472 0.600939
| > | 35
| > | 36 u =
| > | 37
| > | 38 0.98950
| > | 39 0.39844
| > | 40 0.63484
| > | 41 0.13351
| > | 42
| > | 43 Ac =
| > | 44
| > | 45 Columns 1 through 3:
| > | 46
| > | 47 0.55855 + 0.00000i -0.16621 - 0.03153i 0.01079 + 0.02364i
| > | 48 -0.16621 + 0.03153i 0.67601 + 0.00000i 0.00115 - 0.04755i
| > | 49 0.01079 - 0.02364i 0.00115 + 0.04755i 0.62631 + 0.00000i
| > | 50 -0.02768 + 0.01861i 0.01460 - 0.02476i -0.15858 + 0.07198i
| > | 51
| > | 52 Column 4:
| > | 53
| > | 54 -0.02768 - 0.01861i
| > | 55 0.01460 + 0.02476i
| > | 56 -0.15858 - 0.07198i
| > | 57 0.60342 + 0.00000i
| > | 58
| > | 59 uc =
| > | 60
| > | 61 0.54267 + 0.91519i
| > | 62 0.99647 + 0.43141i
| > | 63 0.83760 + 0.68977i
| > | 64 0.39160 + 0.90378i
| > | 65
| > | 66 }
| > | 67 >>>>> processing /home/kai/hg-octave/octave/src/DLD-FUNCTIONS/conv2.cc
| >
| > To debug this problem, you'll need to find out precisely what is
| > failing. What happens when you run the following code?
| >
| > A = [ 0.436997 -0.131721 0.124120 -0.061673;
| > -0.131721 0.738529 0.019851 -0.140295;
| > 0.124120 0.019851 0.354879 -0.059472;
| > -0.061673 -0.140295 -0.059472 0.600939 ];
| >
| > u = [ 0.98950;
| > 0.39844;
| > 0.63484;
| > 0.13351 ];
| >
| > Ac = [ 0.5585528+0.0000000i -0.1662088-0.0315341i 0.0107873+0.0236411i -0.0276775-0.0186073i;
| > -0.1662088+0.0315341i 0.6760061+0.0000000i 0.0011452-0.0475528i 0.0145967+0.0247641i;
| > 0.0107873-0.0236411i 0.0011452+0.0475528i 0.6263149-0.0000000i -0.1585837-0.0719763i;
| > -0.0276775+0.0186073i 0.0145967-0.0247641i -0.1585837+0.0719763i 0.6034234-0.0000000i];
| >
| > uc = [ 0.54267+0.91519i;
| > 0.99647+0.43141i;
| > 0.83760+0.68977i;
| > 0.39160+0.90378i ];
| >
| > R = chol(single(A));
| >
| > R1 = cholupdate(R,single(u));
| > R1 = cholupdate(R1,single(u),"-");
| >
| > norm(R1 - R,Inf)
| > 1e1*eps('single')
| >
| >
| > jwe
| >
| Sure,
|
| here it is:
|
|
| octave:1> A = [ 0.436997 -0.131721 0.124120 -0.061673;
| > -0.131721 0.738529 0.019851 -0.140295;
| > 0.124120 0.019851 0.354879 -0.059472;
| > -0.061673 -0.140295 -0.059472 0.600939 ];
| octave:2>
| octave:2> u = [ 0.98950;
| > 0.39844;
| > 0.63484;
| > 0.13351 ];
| octave:3>
| octave:3> Ac = [ 0.5585528+0.0000000i -0.1662088-0.0315341i
| 0.0107873+0.0236411i -0.0276775-0.0186073i;
| > -0.1662088+0.0315341i 0.6760061+0.0000000i
| 0.0011452-0.0475528i 0.0145967+0.0247641i;
| > 0.0107873-0.0236411i 0.0011452+0.0475528i
| 0.6263149-0.0000000i -0.1585837-0.0719763i;
| > -0.0276775+0.0186073i 0.0145967-0.0247641i
| -0.1585837+0.0719763i 0.6034234-0.0000000i];
| octave:4>
| octave:4> uc = [ 0.54267+0.91519i;
| > 0.99647+0.43141i;
| > 0.83760+0.68977i;
| > 0.39160+0.90378i ];
| octave:5>
| octave:5> R = chol(single(A));
| octave:6> R
| R =
|
| 0.66106 -0.19926 0.18776 -0.09329
| 0.00000 0.83596 0.06850 -0.19006
| 0.00000 0.00000 0.56119 -0.05156
| 0.00000 0.00000 0.00000 0.74394
|
| octave:7> R1 = cholupdate(R,single(u));
| octave:8> R1 = cholupdate(R1,single(u),"-");
| octave:9>
| octave:9> norm(R1 - R,Inf)
| ans = 3.1292e-07
| octave:10> 1e1*eps('single')
| ans = 1.1921e-06
OK, so it looks like the test succeeds when you run it by hand. Am I
misreading which test is failing? If you want to fix this, then I
think you are going to have to track down precisely what is failing.
I can't reproduce the problem and I don't see the error here.
jwe
More information about the Bug-octave
mailing list