FPL Statistics Group





FORTRAN and Java code for exact confidence bounds on a normal distribution coefficient of variation

Disclaimer

If you would simply like to run this code over the Web, go here.

An explanation of the statistical theory behind this code is available here.

FORTRAN code

The FORTRAN source for this code comes in two files:

  1. dfzero.f --- dfzero is a FORTRAN routine that searches "for a zero of a function F(X) in a given interval (B,C)". It was written by L.F. Shampine and H.A. Watts.
  2. covnorm.f --- covnorm is the driver program. It was written by Steve Verrill of the USDA Forest Service Forest Products Laboratory.
The FORTRAN code also requires Brown, Lovato, and Russell's DCDFLIB library of FORTRAN probability distribution routines. It can be obtained by googling DCDFLIB or by going to http://www.netlib.org/random/index.html and clicking on the ranlib.f.tar.gz link.

WARNING as of 5/6/05

There is a problem with CDF_nct_Amos.java. It causes the program to give WRONG answers for sample sizes greater than 1500 (approximately). As of 5/6/05 this has been corrected in the Web program and in the FORTRAN version of the program. However it will take some time to fix it in the Java code. The Java code does give good answers for sample sizes below 1400 (approximately).

Java code

The necessary Java class files (along with the corresponding Java source code) are available in compressed tar, Windows 95 zip, or Windows 98 and later zip format. Alternatively, the code comes in eleven files:

  1. COV_norm.java --- the main routine. It was written by Steve Verrill.
  2. Blas_f77.java --- a translation of the Linpack BLAS into Java. See here for further translations of Linpack routines into Java.
  3. Fzero.java --- a translation of the nonlinear equation solver dfzero into Java. dfzero was written by L.F. Shampine and H.A. Watts. See here for a further translations of nonlinear optimization and zero-finding routines into Java.
  4. Fzero_methods.java --- a definition of an interface needed by Fzero.
  5. Gaus8.java --- a translation of the numerical integration routine dgaus8 into Java. dgaus8 was written by R.E. Jones. See here for further information on this translation.
  6. Gaus8_fcn.java --- a definition of an interface needed by Gaus8.
  7. Derf.java --- a translation of the FORTRAN fcuntion derf. derf calculates the error function and the complementary error function. derf was written by W. Fullerton. See here for further translations of probability distribution function routines into Java.
  8. CDF_nct_Amos.java --- a Java translation of FORTRAN routines that calculate the noncentral t cumulative distribution function. The FORTRAN routines were written by Don Amos and S.L. Daniel. See here for further translations of probability distribution function routines into Java.
  9. CDF_Normal_Amos.java --- a Java translation of a FORTRAN routine that calculates the normal cumulative distribution function. The FORTRAN routine was written by Don Amos and S.L. Daniel. See here for further translations of probability distribution function routines into Java.
  10. CDF_Normal.java --- Java translations of FORTRAN routines that calculate the normal cumulative distribution function and its inverse. The FORTRAN cdf routine was written by Alan Miller. See here for further translations of probability distribution function routines into Java.
  11. Console.java --- Console.java is software described in Cornell and Horstmann's Core Java (SunSoft Press/Prentice-Hall). It is used in the main routine to read input. Here are the limitations on the use of this code (from page xxv of Core Java 2, Volume I):
    You can freely use any code from this book for non-commercial use. However, if you do want to use the code as a basis for a commercial product, we simply require that every person on the development team for that project own a copy of Core Java.

To run COV_norm place all of the class files in a directory and type java COV_norm from a command line while you are in that directory.

Support

If you have questions about this software, or suggestions for improvement, please contact me at sverrill@fs.fed.us or 608-231-9375.
[Forest Service] [Forest Products Lab] [FPL Statistics Group]


Last modified on 5/6/05.

As of last midnight, this page had been accessed times.