Original: http://people.scs.fsu.edu/~burkardt/f77_src/f77_src.html

Source Codes in
Fortran77


Over the years, I have collected, modified, adapted, adopted or created a number of software packages in FORTRAN77. You might be able to use one of these libraries, or a routine or two from a library.

Available software includes:

  1. args an executable program which reports the command line arguments of a FORTRAN77 program;
  2. asa005 a library which evaluates the lower tail of the noncentral Student's T distribution; this is Applied Statistics Algorithm 5;
  3. asa006 a library which computes the Cholesky factor of a positive definite symmetric matrix; this is Applied Statistics Algorithm 6;
  4. asa007 a library which computes the inverse of a positive definite symmetric matrix; this is Applied Statistics Algorithm 7;
  5. asa032 a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 32;
  6. asa047 a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm; this is Applied Statistics Algorithm 47;
  7. asa058 a library which carries out clustering of data; this is Applied Statistics Algorithm 58;
  8. asa063 a library which evaluates the incomplete Beta function; this is Applied Statistics Algorithm 63;
  9. asa066 a library which computes the cumulative density function of the standard normal distribution; this is Applied Statistics Algorithm 66;
  10. asa076 a library which evaluates Owen's T function; this is Applied Statistics Algorithm 76;
  11. asa091, a library which computes the percentage points of the Chi-square distribution; this is Applied Statistics Algorithm 91;
  12. asa103, a library which evaluates the digamma or psi function; this is Applied Statistics Algorithm 103;
  13. asa109 a library which inverts the incomplete Beta function; this is Applied Statistics Algorithm 109;
  14. asa111 a library which evaluates the percentage points of the normal distribution; this is Applied Statistics Algorithm 111;
  15. asa121, a library which evaluates the trigamma function; this is Applied Statistics Algorithm 121;
  16. asa136 a library which clusters data using the Hartigan and Wong algorithm; this is Applied Statistics Algorithm 136;
  17. asa144 a library which randomly generates tables with given row and column sums; this is Applied Statistics Algorithm 144;
  18. asa147 a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 147;
  19. asa152, a library which evaluates point and cumulative probabilities associated with the hypergeometric distribution; this is Applied Statistics Algorithm 152;
  20. asa159 a library which generates a table with given row and column sums; this is Applied Statistics Algorithm 159;
  21. asa189, a library which estimates the parameters of a beta binomial distribution based on a sample of values generated by the distribution, by D Smith; this is Applied Statistics Algorithm 189;
  22. asa205 a library which generates tables with given row and column sums; this is Applied Statistics Algorithm 205;
  23. asa226 a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 226;
  24. asa239 a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 239;
  25. asa241, a library which computes the inverse of the normal CDF; this is Applied Statistics Algorithm 241;
  26. asa243 a library which evaluates the lower tail of the noncentral Student's T distribution; this is Applied Statistics Algorithm 243;
  27. asa245 a library which evaluates the logarithm of the Gamma function; this is Applied Statistics Algorithm 245;
  28. asa266, a library which evaluates various properties of the Dirichlet probability density function; this is Applied Statistics Algorithm 266;
  29. asa299 a library which computes the lattice points (integer coordinates) in an M-dimensional simplex; this is Applied Statistics Algorithm 299;
  30. asa310 a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 310;
  31. beta_nc, a library which evaluates the CDF of the noncentral Beta distribution;
  32. betis an executable program which applies the boundary element method to solve Laplace's equation in a 2D region.
  33. blas1 a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector);
  34. blas1_c a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using single precision complex arithmetic;
  35. blas1_d a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using double precision real arithmetic;
  36. blas1_s a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using single precision real arithmetic;
  37. blas1_z a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using double precision complex arithmetic;
  38. blas2 a library which constitutes the Level 2 Basic Linear Algebra Subprograms, (matrix/vector);
  39. blas3 a library which constitutes the Level 3 Basic Linear Algebra Subprograms, matrix/matrix);
  40. calcomp a library which emulates a few CALCOMP plotting calls;
  41. channel an executable program which uses a finite element model of time independent viscous incompressible flow in a 2D channel;
  42. chrpak a library which can be used to analyze and manipulate character strings;
  43. clawpack a library which numerically solves hyperbolic differential equations using a wave propagation approach, by Randy LeVeque;
  44. clebsch_gordan a library which evaluates certain Clebsch-Gordan coefficients involved in angular momentum coupling in quantum mechanics;
  45. cwg_ode a library which contains three ODE solvers by William Gear.
  46. dislin examples which illustrate the use of a scientific plotting package;
  47. dqed a library which solves bounded and constrained least squares problems and systems of nonlinear equations;
  48. driv a library which solves real or complex systems of ordinary differential equations;
  49. eispack, a library which carries out eigenvalue computations; superseded by LAPACK;
  50. f77 examples which illustrate features of FORTRAN77;
  51. f77_intrinsics examples which illustrate the use of some of the intrinsic functions included with the F77 standard language;
  52. fem1d an executable program which applies the finite element method, with piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  53. fem1d_adaptive an executable program which uses an adaptive mesh when applying the finite element method, with piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  54. fem1d_nonlinear an executable program which applies the finite element method, with piecewise linear basis functions, to a nonlinear two point boundary value problem in 1D;
  55. fem1d_pmethod an executable program which applies the p-method version of the finite element method to a linear two point boundary value problem in 1D;
  56. fem2d_poisson an executable program which implements the finite element method for Poisson's equation on a triangulated square in 2D;
  57. fftpack5 a library which contains version 5 of the FFTPACK Fast Fourier Transform package;
  58. fftw3 examples which illustrate the use of the FFTW3 Fast Fourier Transform package;
  59. fishpack a library which solves the Poisson, Laplace, or Helmholtz equation in 2D or 3D on a variety of geometries.
  60. g77_intrinsics examples which illustrate the use of some of the "extra" intrinsic functions included with the G77 compiler;
  61. geometry a library which carries out a number of 2D/3D geometric calculations;
  62. hb_to_st an executable program which reads a sparse matrix in a Harwell-Boeing file and writes an equivalent Sparse Triplet file.
  63. hcell an executable program which solves the time-dependent 2D incompressible Navier Stokes equations in an H-shaped region.
  64. hcell_steady an executable program which solves the time-independent or "steady" 2D incompressible Navier Stokes equations in an H-shaped region.
  65. inout an executable program which solves the time-dependent 2D incompressible Navier Stokes equations in a rectangular region with inflow and outflow.
  66. kmedian an executable program which solves the K-Median problem;
  67. lamp a library which solves linear assignment and matching problems.
  68. lammps an executable program that performs a classical molecular dynamics simulation.
  69. lapack a library which solves linear systems and eigenvalue problems in complex, double precision, single precision or double precision complex arithmetic, for a wide variety of matrix types and storage formats; a more modern library than LINPACK.
  70. lapack_d examples which illustrate the use of LAPACK routines for linear algebra problems involving double precision real arithmetic.
  71. linpack a library which solves linear systems and eigenvalue problems in complex, double precision, single precision or double precision complex arithmetic, for a wide variety of matrix types and storage formats; superseded by LAPACK.
  72. linpack_c a library which solves linear systems, using single precision complex arithmetic;
  73. linpack_d a library which solves linear systems, using double precision real arithmetic;
  74. linpack_s a library which solves linear systems, using single precision real arithmetic;
  75. linpack_z a library which solves linear systems using double precision complex arithmetic;
  76. lsodi a library which solves a system of implicit differential equations;
  77. machar a library which computes the values of various machine characteristic constants;
  78. machine a library which returns tabulated values of machine constants;
  79. makefiles examples which illustrate the use of MAKEFILES for maintaining a software project;
  80. mdbnch an executable program which is a molecular dynamics benchmark;
  81. mixed examples which illustrate the use of mixed language programming in which the main program is written in FORTRAN77;
  82. mpi examples which illustrate the use of the MPI library for the parallel execution of programs;
  83. mpi_condor examples which illustrate the use of CONDOR scripts for submitting MPI jobs to the FSU SCS cluster.
  84. mpi_eclipse examples which illustrate the use of LoadLeveler scripts for submitting MPI jobs to the ECLIPSE and TERAGOLD IBM SP systems, formerly available at FSU.
  85. mpi_stubs a library which may be used if a parallel program is to be compiled, loaded and run in a serial machine.
  86. mpi_sysx examples which illustrate the use of PBS scripts for submitting MPI jobs to System X.
  87. nag examples which illustrate the use of the NAG library;
  88. ncarg the NCAR graphics library;
  89. netode an executable program which models the time-dependent behavior of a two-phase fluid in an abstract network of nodes and links.
  90. nintlib a library which applies approximate integration (quadrature) in M dimensions;
  91. nl2sol a library which implements an adaptive nonlinear least squares algorithm;
  92. normal a library which generates normally distributed pseudorandom numbers.
  93. open_mp examples which illustrate the use of the use of the OpenMP interface for parallel processing on shared memory systems;
  94. open_mp_sgi examples which illustrate the use of the OpenMP programs executed on one of Virginia Tech's SGI systems.
  95. open_mp_stubs a library which is a dummy implementation of the OpenMP routines, and can be used to compile, load, and run a program using OpenMP on a system which does not have OpenMP installed.
  96. owens a library which evaluates Owen's T function;
  97. petsc examples which illustrate the use of the Portable Extensible Toolkit for Scientific Computations;
  98. pltmg_double a library which carries out Piecewise Linear Multigrid finite element calculations (double precision version), by Randy Bank;
  99. pltmg_single a library which carries out Piecewise Linear Multigrid finite element calculations (single precision version), by Randy Bank;
  100. polpak a library which evaluates special functions, recursive polynomials, and so on.
  101. pppack_d a library which computes piecewise polynomial interpolants and approximants, in particular, cubic splines, using double precision arithmetic;
  102. pppack_s a library which computes piecewise polynomial interpolants and approximants, in particular, cubic splines, using single precision arithmetic.
  103. praxis, a library which implements Richard Brent's method for minimizing a scalar function of several variables, without using derivatives;
  104. quadpack a library which approximates integrals of various types over finite, semi-infinite and infinite one dimensional intervals;
  105. ranlib a library which produces random samples from a variety of probabilistic distributions, by Brown and Lovato.
  106. rkf45, a library which solves a system of ordinary differential equations by the Runge-Kutta-Fehlberg method.
  107. scpack a library which performs the numerical computation of Schwarz-Christoffel conformal mappings, by Nick Trefethen.
  108. serba an executable program which applies the boundary element method to solve the elasticity equation in a 2D region.
  109. simpack a library which estimates an integral over a region that is the union of multidimensional simplexes.
  110. specfun a library which evaluates certain special functions.
  111. starpac a library which carries out statistical data analysis.
  112. subpak a library which implements a wide variety of operations on real and integer vectors and matrices;
  113. subset a library which can rank, unrank, and generate random subsets, combinations, permutations, and so on;
  114. tcell an executable program which solves the time-dependent 2D incompressible Navier Stokes equations in a T-shaped region.
  115. tcell_mass an executable program which creates and saves the mass matrix associated with a finite element solution of the time dependent 2D incompressible Navier Stokes equations in the "TCELL" region.
  116. templates a library which forms basic implementations of iterative methods for solving large sparse linear systems;
  117. test_eigen, a library which implements test matrices for eigenvalue analysis.
  118. test_values a library which stores a small set of values for a variety of mathematical functions.
  119. testpack a library which contains a set of test integrand functions by Alan Genz.
  120. timer examples which illustrate how executing code may be timed.
  121. timestamp a library which prints out the YMDHMS date as a timestamp.
  122. toms179 a library which calculates the incomplete Beta ratio;
    this is a FORTRAN77 version of ACM TOMS algorithm 179.
  123. toms291 a library which approximates the logarithm of the Gamma function;
    this is a FORTRAN77 version of ACM TOMS algorithm 291.
  124. toms322 a library which evaluates the normal, Student's T, F and chi-square cumulative density functions;
    this is a FORTRAN77 version of ACM TOMS algorithm 322.
  125. toms332 a library which evaluates Jacobi polynomials;
    this is a FORTRAN77 version of ACM TOMS algorithm 332.
  126. toms343 a library which computes the eigenvalues and eigenvectors of a general real matrix;
    this is a FORTRAN77 version of ACM TOMS algorithm 343.
  127. toms344, a library which calculates the Student T distribution;
    this is a FORTRAN77 version of ACM TOMS algorithm 344.
  128. toms347 a library which sorts an integer vector;
    this is a FORTRAN77 version of ACM TOMS algorithm 347.
  129. toms351 a library which estimates an integral using Romberg integration;
    this is a FORTRAN77 version of ACM TOMS algorithm 351.
  130. toms352 a library which computes the characteristic values and associated solutions of Mattieu's differential equation;
    this is a FORTRAN77 version of ACM TOMS algorithm 352.
  131. toms353 a library which estimates an integral involving a cosine or sine factor using Filon quadrature;
    this is a FORTRAN77 version of ACM TOMS algorithm 353.
  132. toms358 a library which computes the singular value decomposition of a complex matrix;
    this is a FORTRAN77 version of ACM TOMS algorithm 358.
  133. toms359 a library which computes the factorial analysis of variance;
    this is a FORTRAN77 version of ACM TOMS algorithm 359.
  134. toms365 a library which finds a root of an analytic complex function by the downhill method;
    this is a FORTRAN77 version of ACM TOMS algorithm 365.
  135. toms370 a library which produces random numbers sampled from an arbitrary PDF;
    this is a FORTRAN77 version of ACM TOMS algorithm 370.
  136. toms379 a library which approximates the integral of a function;
    this is a FORTRAN77 version of ACM TOMS algorithm 379.
  137. toms384 a library which computes the eigenvalues and eigenvectors of a symmetric matrix;
    this is a FORTRAN77 version of ACM TOMS algorithm 384.
  138. toms385 a library which evaluates the exponential integral function;
    this is a FORTRAN77 version of ACM TOMS algorithm 385.
  139. toms392 a library which approximates the time evolution of a hyperbolic PDE;
    this is a FORTRAN77 version of ACM TOMS algorithm 392.
  140. toms418 a library which implements Filon quadrature of integrals involve a factor of COS(W*X) or SIN(W*X);
    this is ACM TOMS algorithm 418.
  141. toms423 a library which implements Gaussian elimination, revised versions of DECOMP and SOLVE;
    this is ACM TOMS algorithm 423.
  142. toms424 a library which implements Clenshaw-Curtis integration;
    this is ACM TOMS algorithm 424.
  143. toms425 a library which generates a sequence of vectors from a multivariate normal distribution with given covariance;
    this is ACM TOMS algorithm 425.
  144. toms427 a library which estimates a Fourier cosine integral;
    this is ACM TOMS algorithm 427.
  145. toms429 a library which reports information about the estimated location of roots of a polynomial;
    this is ACM TOMS algorithm 429.
  146. toms431 a library which solves quadratic and linear programming problems;
    this is ACM TOMS algorithm 431.
  147. toms434 a library which computes the probability of a given RxC contingency table;
    this is ACM TOMS algorithm 434.
  148. toms435 a library which computes the modified incomplete gamma function;
    this is ACM TOMS algorithm 435.
  149. toms436 a library which carries out product-type trapezoidal integration;
    this is ACM TOMS algorithm 436.
  150. toms437 a library which carries out product-type Simpson's integration;
    this is ACM TOMS algorithm 437.
  151. toms438 a library which carries out product-type two point Gauss-Legendre-Simpson integration;
    this is ACM TOMS algorithm 438.
  152. toms439 a library which carries out product-type three point Gauss-Legendre-Simpson integration;
    this is ACM TOMS algorithm 439.
  153. toms441 a library which samples the dipole distribution;
    this is ACM TOMS algorithm 441.
  154. toms443 a library which evaluates Lambert's W function;
    this is ACM TOMS algorithm 443.
  155. toms446 a library which manipulates Chebyshev series;
    this is ACM TOMS algorithm 446.
  156. toms448 a library which counts the number of partitions of an integer into a given set of integers;
    this is ACM TOMS algorithm 448.
  157. toms450 a library which minimizes a scalar function of N variables using the method of Rosenbrock;
    this is ACM TOMS algorithm 450.
  158. toms451 a library which determines quantiles of the Chi-Square distribution;
    this is ACM TOMS algorithm 451.
  159. toms452 a library which generates a sequence of combinations of M things out of N;
    this is ACM TOMS algorithm 452.
  160. toms453 a library which determines the abscissas and weights for a Gaussian quadrature formula for Bromwich's integral;
    this is ACM TOMS algorithm 453.
  161. toms454 a library which implements the complex method of constrained optimization;
    this is ACM TOMS algorithm 454.
  162. toms456 a library which implements the routing algorithm;
    this is ACM TOMS algorithm 456.
  163. toms460 a library which determines the optimal parameters for an alternating direction implicit iteration;
    this is ACM TOMS algorithm 460.
  164. toms461 a library which applies cubic spline solutions to a class of functional differential equations;
    this is ACM TOMS algorithm 461.
  165. toms462 a library which evaluates the bivariate normal distribution;
    this is ACM TOMS algorithm 462.
  166. toms463 a library which chooses "nice" ranges for a graph of computer-generated data;
    this is ACM TOMS algorithm 463.
  167. toms467 a library which transposes a matrix in place;
    this is ACM TOMS algorithm 467.
  168. toms468 a library which carries out automatic numerical integration;
    this is ACM TOMS algorithm 468.
  169. toms470 a library which solves an "almost tridiagonal" system of linear equations;
    this is ACM TOMS algorithm 470.
  170. toms493 a library which seeks the roots of a real polynomial;
    this is ACM TOMS algorithm 493.
  171. toms526 a library which interpolates scattered bivariate data, by Hiroshi Akima
    this is ACM TOMS algorithm 526.
  172. toms550 a library which evaluates certain measures of a solid polyhedron, including surface area, centroid, volume, weight, moments and products of inertia;
    this is ACM TOMS algorithm 550.
  173. toms552 a library which solves an overdetermined constrained linear system;
    this is ACM TOMS algorithm 552.
  174. toms571 a library which evaluates or inverts the von Mises and Fisher distributions of directions on a circle or sphere;
    this is ACM TOMS algorithm 571.
  175. toms611 a library which performs unconstrained optimization of a scalar function;
    this is ACM TOMS algorithm 611.
  176. toms612 a library which approximates the integral of a function over a a triangle; the primary routine is known as TRIEX;
    this is ACM TOMS algorithm 612.
  177. toms626 a library which creates a contour plot of data associated with a triangulated set of points;
    this is ACM TOMS algorithm 626.
  178. toms647 a library which evaluates the Faure, Halton, and Sobol quasirandom sequences,
    this is ACM TOMS algorithm 647;
  179. toms648_nsd a library which defines non-stiff test problems for ODE solvers, using double precision arithmetic;
    this is one part of ACM TOMS algorithm 648.
  180. toms648_nss a library which defines non-stiff test problems for ODE solvers, using single precision arithmetic;
    this is one part of ACM TOMS algorithm 648.
  181. toms659 a library which computes elements of the Sobol quasirandom sequence;
    this is ACM TOMS algorithm 659.
  182. toms706 a library which estimates the integral of a function over a triangulated region;
    this is ACM TOMS algorithm 706.
  183. toms708 a library which evaluates the incomplete beta function;
    this is ACM TOMS algorithm 708.
  184. toms738 a library which evaluates Niederreiter's quasirandom sequence;
    this is ACM TOMS algorithm 738;
  185. toms772 a library which carries out computational geometry on the unit sphere;
    this is ACM TOMS algorithm 772.
  186. uncmin a library which seeks the unconstrained minimization of a scalar function of several variables.
  187. uniform a library which generates uniform random numbers.
  188. xerror a library which constitutes the SLATEC error message package.
  189. y12m a library which implements a direct solver for sparse linear systems.

You can go up one level to the main web page.


Last revised on 31 January 2008.