[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