From murdoch at stats.uwo.ca  Sat Dec  2 21:15:42 2006
From: murdoch at stats.uwo.ca (murdoch at stats.uwo.ca)
Date: Sat,  2 Dec 2006 21:15:42 +0100 (CET)
Subject: [Rd] Non central chi squared bug (PR#9406)
Message-ID: <20061202201542.A0E9C572AE@slim.kubism.ku.dk>

On 12/1/2006 6:21 AM, Duncan Murdoch wrote:
> On 12/1/2006 5:44 AM, alan.bain at gmail.com wrote:
>> Full_Name: Alan Bain 
>> Version: 2.4.0
>> OS: XP
>> Submission from: (NULL) (155.140.122.227)
>>
>>
>>
>> Code for pnchisq contains following
>>
>> if (tSml) {
>>
>> if (x> f+ theta+ 5*sqrt(2*(f+2*theta) ))){
>>      return 1.; /* better than 0 --- but definately FIXME */
>> }
>>
>> }
>>
>> This needs to check which tail has been requested; it is only correct if the
>> default lower_tail=1 has been requested; for upper tail should return 0 if more
>> than 5 std devs away from mean under these circumstances.
> 
> Could you post a test case to demonstrate this?  I don't see it:
> 
>  > pchisq(1000, 2, 1, FALSE)
> [1] 1.720202e-205
>  > pchisq(10000, 2, 1, FALSE)
> [1] 0
>  > pchisq(100000, 2, 1, FALSE)
> [1] 0
>  > pchisq(1000000, 2, 1, FALSE)
> [1] 0

Offline Alan told me that this only affects ncp > 80; I've fixed it (and 
a couple of other extreme cases) and will commit once testing is done.

Duncan Murdoch



[Rd] Non central chi squared bug (PR#9406)
murdoch at stats.uwo.ca