Skip to content

[R-pkg-devel] incomplete gamma function Fortran subroutine

13 messages · Bert Gunter, Steven Scott, John Nolan +3 more

#
Hello,

In an R function within a package, I would like to call a Fortran subroutine to compute lower gamma function. Any advice will be appreciated.

Thanks!

Zhu Wang
#
??? Is there a reason not to use pgamma(), possibly adjusted by a 
(de-)normalizing constant??? (See detailed notes in ?pgamma)
On 7/21/20 1:44 PM, Wang, Zhu wrote:
#
Why? -- see ?dgamma

See also the section on including fortran code in "Writing R Extensions,"
which should be your first port of call for such questions.

If neither of these is what you need, it may be helpful if you explain why
not.

Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Tue, Jul 21, 2020 at 10:45 AM Wang, Zhu <wangz1 at uthscsa.edu> wrote:

            

  
  
#
BTW, if you search for "incomplete gamma function" on Rseek.org, you will
find whole packages for this.

Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Tue, Jul 21, 2020 at 10:54 AM Bert Gunter <bgunter.4567 at gmail.com> wrote:

            

  
  
#
Sorry for not making myself clear: The Fortran subroutine in an R package needs to call incomplete gamma function.

-----Original Message-----
From: R-package-devel <r-package-devel-bounces at r-project.org> On Behalf Of Ben Bolker
Sent: Tuesday, July 21, 2020 12:54 PM
To: r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

 ??? Is there a reason not to use pgamma(), possibly adjusted by a (de-)normalizing constant??? (See detailed notes in ?pgamma)
On 7/21/20 1:44 PM, Wang, Zhu wrote:
______________________________________________
R-package-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
#
You can often find this kind of code on netlib.org.  Just include it with
the fortran code in your package.
On Tue, Jul 21, 2020 at 11:22 AM Wang, Zhu <wangz1 at uthscsa.edu> wrote:

            

  
  
#
As others have said, built-in function pgamma is a (normalized) version of the incomplete gamma function!   John

-----Original Message-----
From: R-package-devel <r-package-devel-bounces at r-project.org> On Behalf Of Wang, Zhu
Sent: Tuesday, July 21, 2020 2:16 PM
To: Ben Bolker <bbolker at gmail.com>; r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

External Email: Use caution with links and attachments.

Sorry for not making myself clear: The Fortran subroutine in an R package needs to call incomplete gamma function.

-----Original Message-----
From: R-package-devel <r-package-devel-bounces at r-project.org> On Behalf Of Ben Bolker
Sent: Tuesday, July 21, 2020 12:54 PM
To: r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

     Is there a reason not to use pgamma(), possibly adjusted by a (de-)normalizing constant?   (See detailed notes in ?pgamma)
On 7/21/20 1:44 PM, Wang, Zhu wrote:
______________________________________________
R-package-devel at r-project.org mailing list https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dpackage-2Ddevel&d=DwIGaQ&c=U0G0XJAMhEk_X0GAGzCL7Q&r=7rQvU8hscCTWlvO-F5wI2-2eTiW40XI5qUKda0AnbG0&m=Y5sTjoEyQhEnvYqP-rmi1PmviZ_5jj7ur9P8ujvLiBc&s=w0p6b_yBQ1jDH3amMKQGvmEKYJD-BAid_CphFO37yu0&e=
______________________________________________
R-package-devel at r-project.org mailing list https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dpackage-2Ddevel&d=DwIGaQ&c=U0G0XJAMhEk_X0GAGzCL7Q&r=7rQvU8hscCTWlvO-F5wI2-2eTiW40XI5qUKda0AnbG0&m=Y5sTjoEyQhEnvYqP-rmi1PmviZ_5jj7ur9P8ujvLiBc&s=w0p6b_yBQ1jDH3amMKQGvmEKYJD-BAid_CphFO37yu0&e=
#
Thanks Steven.

Zhu

From: Steven Scott <steve.the.bayesian at gmail.com>
Sent: Tuesday, July 21, 2020 1:30 PM
To: Wang, Zhu <wangz1 at uthscsa.edu>
Cc: Ben Bolker <bbolker at gmail.com>; r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

You can often find this kind of code on netlib.org<http://netlib.org>.  Just include it with the fortran code in your package.
On Tue, Jul 21, 2020 at 11:22 AM Wang, Zhu <wangz1 at uthscsa.edu<mailto:wangz1 at uthscsa.edu>> wrote:
Sorry for not making myself clear: The Fortran subroutine in an R package needs to call incomplete gamma function.

-----Original Message-----
From: R-package-devel <r-package-devel-bounces at r-project.org<mailto:r-package-devel-bounces at r-project.org>> On Behalf Of Ben Bolker
Sent: Tuesday, July 21, 2020 12:54 PM
To: r-package-devel at r-project.org<mailto:r-package-devel at r-project.org>
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

     Is there a reason not to use pgamma(), possibly adjusted by a (de-)normalizing constant?   (See detailed notes in ?pgamma)
On 7/21/20 1:44 PM, Wang, Zhu wrote:
______________________________________________
R-package-devel at r-project.org<mailto:R-package-devel at r-project.org> mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel
______________________________________________
R-package-devel at r-project.org<mailto:R-package-devel at r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel
#
Thanks to Ben and John. Perhaps the program should call pgamma in R and pass the number to Fortran. Calling some Fortran subroutines older than R can trigger concerns when submitting the package to the CRAN.

Best,
Zhu

-----Original Message-----
From: John P. Nolan <jpnolan at american.edu> 
Sent: Tuesday, July 21, 2020 1:43 PM
To: Wang, Zhu <wangz1 at uthscsa.edu>; Ben Bolker <bbolker at gmail.com>; r-package-devel at r-project.org
Subject: RE: [R-pkg-devel] incomplete gamma function Fortran subroutine

As others have said, built-in function pgamma is a (normalized) version of the incomplete gamma function!   John

-----Original Message-----
From: R-package-devel <r-package-devel-bounces at r-project.org> On Behalf Of Wang, Zhu
Sent: Tuesday, July 21, 2020 2:16 PM
To: Ben Bolker <bbolker at gmail.com>; r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

External Email: Use caution with links and attachments.

Sorry for not making myself clear: The Fortran subroutine in an R package needs to call incomplete gamma function.

-----Original Message-----
From: R-package-devel <r-package-devel-bounces at r-project.org> On Behalf Of Ben Bolker
Sent: Tuesday, July 21, 2020 12:54 PM
To: r-package-devel at r-project.org
Subject: Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

     Is there a reason not to use pgamma(), possibly adjusted by a (de-)normalizing constant?   (See detailed notes in ?pgamma)
On 7/21/20 1:44 PM, Wang, Zhu wrote:
______________________________________________
R-package-devel at r-project.org mailing list https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dpackage-2Ddevel&d=DwIGaQ&c=U0G0XJAMhEk_X0GAGzCL7Q&r=7rQvU8hscCTWlvO-F5wI2-2eTiW40XI5qUKda0AnbG0&m=Y5sTjoEyQhEnvYqP-rmi1PmviZ_5jj7ur9P8ujvLiBc&s=w0p6b_yBQ1jDH3amMKQGvmEKYJD-BAid_CphFO37yu0&e=
______________________________________________
R-package-devel at r-project.org mailing list https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dpackage-2Ddevel&d=DwIGaQ&c=U0G0XJAMhEk_X0GAGzCL7Q&r=7rQvU8hscCTWlvO-F5wI2-2eTiW40XI5qUKda0AnbG0&m=Y5sTjoEyQhEnvYqP-rmi1PmviZ_5jj7ur9P8ujvLiBc&s=w0p6b_yBQ1jDH3amMKQGvmEKYJD-BAid_CphFO37yu0&e=
#
Looking at this section of WRE may help:

https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Numerical-analysis-subroutines

Best,

luke
On Tue, 21 Jul 2020, Wang, Zhu wrote:

            

  
    
#
? Interesting.? It looks like the way to make use of this is to combine 
the information in section 6.7.1 ("Distribution functions", including 
pgamma ...) with section 6.6 "Calling C from Fortran and vice versa" ?
On 7/21/20 4:33 PM, luke-tierney at uiowa.edu wrote:
#
Indeed, that is the piece I missed completely! Glad that I didn't try to invent wheels.
Thanks,
Zhu

-----Original Message-----
From: Ben Bolker <bbolker at gmail.com> 
Sent: Tuesday, July 21, 2020 3:58 PM
To: luke-tierney at uiowa.edu; Wang, Zhu <wangz1 at uthscsa.edu>
Cc: John P. Nolan <jpnolan at american.edu>; r-package-devel at r-project.org
Subject: Re: [External] Re: [R-pkg-devel] incomplete gamma function Fortran subroutine

 ? Interesting.? It looks like the way to make use of this is to combine the information in section 6.7.1 ("Distribution functions", including pgamma ...) with section 6.6 "Calling C from Fortran and vice versa" ?
On 7/21/20 4:33 PM, luke-tierney at uiowa.edu wrote:
#
? I didn't find it until I said "before I compose a snarky reply to the 
list I'd better search for "Fortran" through *all* of WRE to make sure 
it's not there somewhere ..."
On 7/21/20 5:01 PM, Wang, Zhu wrote: