[R] R-1.7.1 regression test failure on alphaev68-dec-osf5.1

Spencer Graves spencer.graves at pdf.com
Tue Jun 24 21:13:25 CEST 2003


I just tried this with both R 1.6.2 and S-Plus 6.1 under Windows 2000: 
I got the same .Machine$double.eps as reported below, but I did NOT get 
the problem:

pi - log(exp(pi*1i)) / 1i

# reported below:  [1] 4.440892e-16+0i
# R1.6.2 and S-Plus 6.1 both gave 0+oi

Mod(pi - log(exp(pi*1i)) / 1i)

# reported below: 4.440892e-16
# R1.6.2 and S-Plus 6.1 both gave 0

.Machine$double.eps

# Same as reported: 2.220446e-16

Mod(pi - log(exp(pi*1i)) / 1i) < .Machine$double.eps

# reported below:  [1] FALSE
# R1.6.2 and S-Plus 6.1 both gave T

hth.  spencer graves

Jeff Lewis wrote:
>>-----Original Message-----
>>From: Peter Dalgaard BSA [mailto:p.dalgaard at biostat.ku.dk] 
>>Sent: Tuesday, June 24, 2003 1:20 PM
>>To: Jeff Lewis
>>Cc: r-help at stat.math.ethz.ch
>>Subject: Re: [R] R-1.7.1 regression test failure on 
>>alphaev68-dec-osf5.1
>>
>>
>>"Jeff Lewis" <jlewis at genomecorp.com> writes:
>>
>>
>>>I'm attempting to compile and install R version 1.7.1 for 
>>
>>my statistical
>>
>>>geneticists.  It seems to compile correctly -- that is, it compiles
>>>without errors -- but the regression test is failing in the 
>>
>>following
>>
>>>manner:
>>>
>>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>>
>>>>## log
>>>>stopifnot(all.equal(log(1:10), log(1:10, exp(1))))
>>>>stopifnot(all.equal(log10(30), log(30, 10)))
>>>>stopifnot(all.equal(log2(2^pi), 2^log2(pi)))
>>>>stopifnot(Mod(pi - log(exp(pi*1i)) / 1i) < .Machine$double.eps)
>>>
>>>Error: Mod(pi - log(exp(pi * (0+1i)))/(0+1i)) < 
>>
>>.Machine$double.eps is
>>
>>>not TRUE
>>>Execution halted
>>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>>
>>>I'm compiling on Tru64UNIX 5.1A using DECs C and Fortran 
>>
>>compilers and
>>
>>>perl 5.6.0.  I found the above error in a file named
>>>'reg-tests-1.Rout.fail'.  Any help you can give me would be most
>>>appreciated.
>>
>>Well, it seems to be an accuracy issue, so the first question would be
>>what the values on both sides of the equality are (just start up R and
>>enter the expressions on te command line). You might have
>>
>>1) Completely wrong results in complex arithmetic 
>>2) Slightly less than optimal accuracy
>>3) An underestimated .Machine$double.eps
>>
>>Case 2) seems most likely, but case 3) has been observed with buggy
>>compilers that optimize calculations where they shouldn't.
> 
> 
> 
> 
> Thanks for the quick response.  The two sides of the equality are
> definately different.  Here's what I'm seeing
> 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
>>pi
> 
> [1] 3.141593
> 
> 
>>1i
> 
> [1] 0+1i
> 
> 
>>pi*1i
> 
> [1] 0+3.141593i
> 
> 
>>exp(pi*1i)
> 
> [1] -1+1.224647e-16i
> 
> 
>>log(exp(pi*1i))
> 
> [1] 0+3.141593i
> 
> 
>>log(exp(pi*1i)) / 1i
> 
> 
> [1] 3.141593+0i
> 
> 
>>pi - log(exp(pi*1i)) / 1i
> 
> [1] 4.440892e-16+0i
> 
> 
>>Mod(pi - log(exp(pi*1i)) / 1i)
> 
> [1] 4.440892e-16
> 
> 
>>.Machine$double.eps
> 
> [1] 2.220446e-16
> 
> 
>>Mod(pi - log(exp(pi*1i)) / 1i) < .Machine$double.eps
> 
> [1] FALSE
> 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
> I get the same thing from R 1.6.2, which I compiled about six months
> ago.  Is there anything I can/should do to fix this?
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help




More information about the R-help mailing list