Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Replacement for IMSL Function TNIN

BearofLittleBrain1
New Contributor I
602 Views

I have successfully compiled all my user library routines with IVF, but I had used an IMSL routine TNIN, which evaluates the inverse of the noncentral Student’s t cumulative distribution function.

It is needed to calculate the Upper Critcal value for the two-sided Grubb's Test statistic
distribution. for detecting outliers in data sets and I no longer have the IMSL routines

Despite searching around, I cannot find an algorithm for TNIN - do any of you know of one please?

BearofLittleBrain

0 Kudos
5 Replies
mecej4
Honored Contributor III
586 Views

Look at https://calgo.acm.org/344.gz .

Edit: That code computes the direct function. You can perhaps use that together with a root finder, such as the Slatec Fzero, to find the t value.

0 Kudos
BearofLittleBrain1
New Contributor I
510 Views

Thank you all for your suggestions - I will go and pick the bones out of that lot.

BearofLittleBrain

0 Kudos
Arjen_Markus
Honored Contributor I
577 Views

Isn't that an evaluation of the Student's t distribution, rather than the inverse? Perhaps https://people.math.sc.edu/Burkardt/f77_src/f77_src.html has the software that OP is looking for. (There is certainly a lot ;))

0 Kudos
JohnNichols
Valued Contributor III
558 Views

Sooner or later if you start looking for Fortran code you find Burkardt, very prolific. 

0 Kudos
David_Billinghurst
New Contributor III
543 Views

I have used CDFLIB90 to evaluate the inverse of the noncentral Student’s t cumulative distribution function.

Site: https://biostatistics.mdanderson.org/SoftwareDownload/SingleSoftware/Index/21

It is a collection of routines that calculate cumulative distribution functions, inverses, and parameters for common statistical distributions.  It is a F90 port of the classic F77 routines.

You will need to download the tarball.  The function of interest is inv_nc_t() in file cdf_nc_t_mod.f90.  

Reply