FORTRAN77 Source Codes


  1. anyplt, a library which was intended as a simple interface to a variety of graphics packages.
  2. args, a program which reports the command line arguments of a FORTRAN77 program;
  3. asa005, a library which evaluates the lower tail of the noncentral Student's T distribution; this is Applied Statistics Algorithm 5;
  4. asa006, a library which computes the Cholesky factor of a positive definite symmetric matrix; this is Applied Statistics Algorithm 6;
  5. asa007, a library which computes the inverse of a positive definite symmetric matrix; this is Applied Statistics Algorithm 7;
  6. asa032, a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 32;
  7. asa047, a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm; this is Applied Statistics Algorithm 47;
  8. asa058, a library which carries out clustering of data; this is Applied Statistics Algorithm 58;
  9. asa063, a library which evaluates the incomplete Beta function; this is Applied Statistics Algorithm 63;
  10. asa066, a library which computes the cumulative density function of the standard normal distribution; this is Applied Statistics Algorithm 66;
  11. asa076, a library which evaluates Owen's T function; this is Applied Statistics Algorithm 76;
  12. asa091, a library which computes the percentage points of the Chi-square distribution; this is Applied Statistics Algorithm 91;
  13. asa103, a library which evaluates the digamma or psi function; this is Applied Statistics Algorithm 103;
  14. asa109, a library which inverts the incomplete Beta function; this is Applied Statistics Algorithm 109;
  15. asa111, a library which evaluates the percentage points of the normal distribution; this is Applied Statistics Algorithm 111;
  16. asa113, a library which clusters data using the Banfield and Bassill transfer and swap algorithm; this is Applied Statistics Algorithm 113;
  17. asa121, a library which evaluates the trigamma function; this is Applied Statistics Algorithm 121;
  18. asa136, a library which clusters data using the Hartigan and Wong K-means algorithm; this is Applied Statistics Algorithm 136;
  19. asa144, a library which randomly generates tables with given row and column sums; this is Applied Statistics Algorithm 144;
  20. asa147, a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 147;
  21. asa152, a library which evaluates point and cumulative probabilities associated with the hypergeometric distribution; this is Applied Statistics Algorithm 152;
  22. asa159, a library which generates a table with given row and column sums; this is Applied Statistics Algorithm 159;
  23. asa172, a library which simulates the generation of a set of multi-indices by nested DO-Loops; this is Applied Statistics Algorithm 172;
  24. asa183, a library which implements the Wichman-Hill pseudorandom number generator; this is Applied Statistics Algorithm 183;
  25. 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;
  26. asa205, a library which generates tables with given row and column sums; this is Applied Statistics Algorithm 205;
  27. asa226, a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 226;
  28. asa239, a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 239;
  29. asa241, a library which computes the inverse of the normal CDF; this is Applied Statistics Algorithm 241;
  30. asa243, a library which evaluates the lower tail of the noncentral Student's T distribution; this is Applied Statistics Algorithm 243;
  31. asa245, a library which evaluates the logarithm of the Gamma function; this is Applied Statistics Algorithm 245;
  32. asa266, a library which evaluates various properties of the Dirichlet probability density function; this is Applied Statistics Algorithm 266;
  33. asa299, a library which computes the lattice points (integer coordinates) in an M-dimensional simplex; this is Applied Statistics Algorithm 299;
  34. asa310, a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 310;
  35. ball_grid, a library which computes grid points inside a 3D ball.
  36. band_qr, a library which computes the QR factorization of a banded matrix, and can solve related linear systems, by Alfredo Remon, Enrique Quintana-Orti, Gregorio Quintana-Orti.
  37. bernstein, a library which evaluates the Bernstein polynomials;
  38. beta_nc, a library which evaluates the CDF of the noncentral Beta distribution;
  39. betis, a program which applies the boundary element method to solve Laplace's equation in a 2D region, by Federico Paris and Jose Canas.
  40. bins, a library which orders, sorts and searches data using bins;
  41. blas1_c, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using single precision complex arithmetic;
  42. blas1_d, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using double precision real arithmetic;
  43. blas1_s, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using single precision real arithmetic;
  44. blas1_z, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, (vector/vector) using double precision complex arithmetic;
  45. blas2, a library which constitutes the Level 2 Basic Linear Algebra Subprograms, (matrix/vector);
  46. blas3, a library which constitutes the Level 3 Basic Linear Algebra Subprograms, matrix/matrix);
  47. box_behnken, a library which computes a Box-Behnken design, that is, a set of arguments to sample the behavior of a function of multiple parameters;
  48. brent, a library which contains routines for finding zeroes or minima of a scalar function of a scalar variable, without the use of derivative information, by Richard Brent.
  49. bt_serial, a program which is a serial version of the NAS Parallel Benchmark BT (block tridiagonal solver for a 3D PDE).
  50. burgers_solution, a library which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
  51. c4lib, a library which implements certain elementary functions for single precision complex variables;
  52. c8lib, a library which implements certain elementary functions for double precision complex variables;
  53. cg_plus, a library which implements the conjugate gradient method for the minimization of a scalar functional;
  54. cg_serial, a program which is a serial version of the NAS Parallel Benchmark CG (conjugate gradient solver).
  55. channel, a program which uses a finite element model of time independent viscous incompressible flow in a 2D channel;
  56. chebyshev, a library which computes the Chebyshev interpolant/approximant to a given function over an interval.
  57. chrpak, a library which can be used to analyze and manipulate character strings;
  58. circle_arc_grid, a program which computes grid points along a circular arc.
  59. circle_grid, a library which computes grid points inside a circle.
  60. clean77, a program which can reformat a FORTRAN77 file, using some standard indenting and numbering conventions.
  61. clebsch_gordan, a library which evaluates Clebsch-Gordan coefficients involved in angular momentum coupling in quantum mechanics;
  62. cnf_io, a library which reads or writes CNF data files, used to store boolean formulas in conjunctive normal form.
  63. colored_noise, a library which generates samples of noise obeying a 1/f^alpha power law.
  64. communicator_mpi, a program which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.
  65. compass_search, a library which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.
  66. complex_numbers, a program which demonstrates some simple features involved in the use of complex numbers in FORTRAN77 programming.
  67. cordic, a library which computes a few special functions using the CORDIC algorithm.
  68. cwg_ode, a library which contains three ODE solvers by William Gear.
  69. cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
  70. dbem, a program which uses the direct boundary element method (DBEM) to analyze a problem in 2D elastic stress, by Prasanta Banerjee, Roy Butterfield.
  71. diaphony, a program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.
  72. dijkstra, a program which runs a simple example of Dijkstra's minimum distance algorithm for graphs.
  73. dijkstra_openmp, a program which uses OpenMP to parallelize a simple example of Dijkstra's minimum distance algorithm for graphs.
  74. dislin, examples which illustrate the use of a scientific plotting package;
  75. divdif, a library which interpolates data using divided difference tables;
  76. dqed, a library which solves bounded and constrained least squares problems and systems of nonlinear equations, by Richard Hanson and Fred Krogh.
  77. driv, a library which solves real or complex systems of ordinary differential equations, by David Kahaner, C D Sutherland;
  78. eispack, a library which carries out eigenvalue computations; superseded by LAPACK;
  79. ellipse_grid, a library which computes grid points inside an ellipse.
  80. ellipsoid_grid, a library which computes grid points inside a 3D ellipsoid.
  81. ep_serial, a program which is a serial version of the NAS Parallel Benchmark EP ("embarassingly parallel").
  82. expokit, a library which solves various forms of the matrix exponential problem, by Roger Sidje.
  83. f77, examples which illustrate features of FORTRAN77;
  84. f77_calls_c, a directory of FORTRAN77 examples which illustrate how a FORTRAN77 program can call a C function.
  85. f77_calls_c++, a directory of FORTRAN77 examples which illustrate how a FORTRAN77 program can call a C++ function.
  86. f77_class, a directory of FORTRAN77 examples which were used to illustrate a programming class.
  87. f77_intrinsics, examples which illustrate the use of some of the intrinsic functions included with the F77 standard language;
  88. fd_predator_prey, a program which solves a pair of predator prey ODE's using a finite difference approximation.
  89. fd1d_burgers_lax, a program which applies the finite difference method and the Lax Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  90. fd1d_burgers_leap, a program which applies the finite difference method and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  91. fd1d_bvp, a program which applies the finite difference method to a two point boundary value problem in one spatial dimension.
  92. fd1d_heat_explicit, a library which implements a finite difference solution, explicit in time, of the time dependent 1D heat equation;
  93. fd1d_heat_implicit, a program which implements a finite difference solution, implicit in time, of the time dependent 1D heat equation;
  94. fd1d_heat_steady, a program which implements a finite difference solution for the steady (time independent) 1D heat equation;
  95. fd1d_predator_prey, a program which implements a finite difference algorithm for a 1D predator-prey system;
  96. fd1d_wave, a program which applies the finite difference method to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.
  97. fem1d, a program which applies the finite element method, with piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  98. fem1d_adaptive, a 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;
  99. fem1d_bvp_linear, a program which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension.
  100. fem1d_heat_steady, a program which implements the finite element method for the steady (time independent) 1D heat equation;
  101. fem1d_nonlinear, a program which applies the finite element method, with piecewise linear basis functions, to a nonlinear two point boundary value problem in 1D;
  102. fem1d_pmethod, a program which applies the p-method version of the finite element method to a linear two point boundary value problem in 1D;
  103. fem1d_project, a program which projects data into a finite element space, including the least squares approximation of data, or the projection of a finite element solution from one mesh to another.
  104. fem1d_sample, a program which samples a scalar or vector finite element function of one variable, defined by a set of files in FEM format, returning interpolated values at the sample points.
  105. fem2d_pack, a library which implements simple 2D finite element calculations;
  106. fem2d_poisson_rectangle, a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise quadratic triangular elements.
  107. fem2d_poisson_rectangle_linear, a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise linear triangular elements.
  108. fem2d_sample, a program which samples a finite element function, defined by FEM files, (three text files describing the nodes, triangles, and coefficients); at arbitrary points.
  109. feynman_kac_2d, a program which demonstrates the use of the Feynman-Kac algorithm to solve Poisson's equation in a 2D ellipse by averaging stochastic paths to the boundary.
  110. feynman_kac_3d, a program which demonstrates the use of the Feynman-Kac algorithm to solve Poisson's equation in a 3D ellipsoid by averaging stochastic paths to the boundary.
  111. fft_openmp, a program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.
  112. fft_serial, a program which computes a Fast Fourier Transform, and is intended as a starting point for implementing an OpenMP parallel version.
  113. fftpack5, a library which contains version 5 of the FFTPACK Fast Fourier Transform package by Paul Swarztrauber and Dick Valent;
  114. fftpack5.1, a library which contains version 5.1 of the FFTPACK Fast Fourier Transform package by Paul Swarztrauber and Dick Valent;
  115. fftw3, examples which illustrate the use of the FFTW3 Fast Fourier Transform package, by Matteo Frigo and Steven Johnson.
  116. filum, a library which performs various operations on files;
  117. fishpack, a library which solves the Poisson, Laplace, or Helmholtz equation in 2D or 3D on a variety of geometries, by Paul Swarztrauber and Roland Sweet.
  118. floyd, a library which implements Floyd's algorithm for finding the shortest distance between pairs of nodes on a directed graph.
  119. fn, a library which evaluates elementary and special functions, by Wayne Fullerton.
  120. g77_intrinsics, examples which illustrate the use of some of the "extra" intrinsic functions included with the Gnu G77 compiler for FORTRAN77;
  121. geometry, a library which carries out a number of 2D/3D geometric calculations;
  122. gfortran, examples which investigate the use of the Gnu GFORTRAN compiler for FORTRAN77.
  123. gfortran_intrinsics, a program which illustrates the use of some of the intrinsic functions included by the Gnu GFORTRAN compiler, above and beyond those specified in the FORTRAN77 language standards.
  124. gfortran_quadmath, a program which illustrates the use of quadruple precision real arithmetic, as provided on some systems by the Gnu GFORTRAN compiler for FORTRAN77.
  125. gprof, examples which illustrate the use of the GPROF program performance monitor;
  126. graphics_examples, programs which illustrate how various kinds of data can be displayed and analyzed graphically.
  127. haar, a library which computes the Haar transform of data.
  128. hb_to_st, a program which reads a sparse matrix in a Harwell-Boeing file and writes an equivalent Sparse Triplet file.
  129. hcell, a program which solves the time-dependent 2D incompressible Navier Stokes equations in an H-shaped region.
  130. hcell_steady, a program which solves the time-independent or "steady" 2D incompressible Navier Stokes equations in an H-shaped region, by Hyung-Chun Lee.
  131. heat_mpi, a program which solves the 1D time dependent heat equation using MPI.
  132. heated_plate, a program which solves the steady state heat equation in a 2D rectangular region, and is intended as a starting point for implementing an OpenMP parallel version.
  133. heated_plate_openmp, a program which solves the steady (time independent) heat equation in a 2D rectangular region, using OpenMP to run in parallel.
  134. hello, a program which prints out "Hello, world!".
  135. hello_mpi, a program which prints out "Hello, world!" using MPI for parallel programming.
  136. hello_openmp, a program which prints out "Hello, world!" within the OpenMP parallel programming environment.
  137. hermite, a library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
  138. hermite_cubic, a library which can compute the value, derivatives or integral of a Hermite cubic polynomial, or manipulate an interpolating function made up of piecewise Hermite cubic polynomials.
  139. i4lib, a library which contains many utility routines, using "I4" or "single precision integer" arithmetic.
  140. i8lib, a library which contains many utility routines, using "I8" or "double precision integer" arithmetic.
  141. ice_io, a library which reads or writes ICE grid files stored in NETCDF format.
  142. ice_to_mesh, a program which reads a NETCDF file containing an ICE dataset and rewrites the information as a MESH file.
  143. image_components, a library which seeks the connected "nonzero" or "nonblack" components of an image or integer array.
  144. image_denoise, a library which applies simple filtering operations to a noisy image.
  145. image_edge, a library which demonstrates a simple procedure for edge detection in images.
  146. inout, a program which solves the time-dependent 2D incompressible Navier Stokes equations in a rectangular region with inflow and outflow, by Hyung-Chun Lee.
  147. ising_2d_simulation, a program which simulates the evolution of a 2D array of positive and negative charges, each of which is likely to "flip" to be in agreement with neighbors.
  148. kmedian, a program which solves the K-Median problem, by G Cornuejols, M L Fisher, G L Nemhauser.
  149. knapsack, a library which solves a variety of knapsack problems, by Silvano Martelo and Paolo Toth.
  150. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
  151. lamp, a library which solves linear assignment and matching problems, by Rainer Burkard, Ulrich Derigs.
  152. lapack, examples which illustrate the use of LAPACK routines for linear algebra problems.
  153. latinize, a library which adjusts N points in M dimensions to form a Latin Hypercube;
  154. lawson, a library which contains routines for solving least squares problems and singular value decompositions, by Lawson and Hanson.
  155. legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order.
  156. linpack_bench, a program which carries out the LINPACK benchmark;
  157. linpack_c, a library which solves linear systems using single precision complex arithmetic;
  158. linpack_d, a library which solves linear systems using double precision real arithmetic;
  159. linpack_s, a library which solves linear systems using single precision real arithmetic;
  160. linpack_z, a library which solves linear systems using double precision complex arithmetic;
  161. linplus, a library which factors/solves/multiplies matrices in a variety of storage formats;
  162. machar, a library which computes the values of various machine characteristic constants;
  163. machine, a library which returns tabulated values of machine constants;
  164. makefiles, examples which illustrate the use of MAKEFILES for maintaining a software project;
  165. mandelbrot, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot set;
  166. matman, a program which manipulates matrices;
  167. matmul, a program which carries out a matrix multiplication benchmark;
  168. matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix.
  169. md, a program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.
  170. md_openmp, a program which carries out a molecular dynamics simulation in parallel using OpenMP.
  171. mdbnch, a program which is a molecular dynamics benchmark;
  172. mesh_io, a library which can read or write MESH files, which can be used to define the geometry of a finite element mesh in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.
  173. mesh_to_ice, a program which reads the ICE dataset information from a MESH files and rewrites it to a NETCDF file.
  174. mgmres, a library which applies the restarted GMRES algorithm to a sparse linear system, by Lili Ju;
  175. mgs, a library which is an example of "legacy code", which the student is encouraged to study, understand, and document. This example is due to Diane O'Leary.
  176. minpack, a library which solves linear and nonlinear least squares problems.
  177. mixed, examples which illustrate the use of mixed language programming in which the main program is written in FORTRAN77;
  178. mpi, examples which illustrate the use of the MPI library for the parallel execution of programs;
  179. mpi_stubs, a library which may be used if a parallel program is to be compiled, loaded and run in a serial machine.
  180. multigrid_poisson_1d, a library which applies the multigrid method to a discretized version of the 1D Poisson equation.
  181. multitask_mpi, a program which demonstrates how to "multitask", that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.
  182. multitask_openmp, a program which demonstrates how to "multitask", that is, to execute several unrelated and distinct tasks simultaneously, using OpenMP for parallel execution.
  183. mxm, a program which sets up a matrix multiplication problem A=B*C of arbitrary size, and compares the time required for IJK, IKJ, JIK, JKI, KIJ and KJI orderings of the loops.
  184. mxm_openmp, a program which computes a dense matrix product C=A*B, using OpenMP for parallel execution.
  185. mxm_serial, a program which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.
  186. mxv, a program which compares the performance of (DO I, DO J) loops and (DO J, DO I ) loops for computing the product of an MxN matrix A and an N vector X.
  187. mxv_openmp, a program which measures the performance of the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.
  188. napack, a library which includes many routines for applied numerical linear algebra, by William Hager.
  189. nas, a program which runs the NASA kernel benchmark.
  190. netcdf, a directory of example programs which read and write NETCDF files.
  191. netode, a program which models the time-dependent behavior of a two-phase fluid in an abstract network of nodes and links.
  192. nintlib, a library which applies approximate integration (quadrature) in M dimensions;
  193. nl2sol, a library which implements an adaptive nonlinear least squares algorithm, by John Dennis, David Gay, Roy Welsch.
  194. nms, a library which accompanies the text "Numerical Methods and Software";
  195. normal, a library which generates normally distributed pseudorandom numbers.
  196. ode, a library which solves a system of ordinary differential equations, by Shampine and Gordon;
  197. odepack, a library which contains nine ODE solvers, including LSODE, LSODES, LSODA, LSODAR, LSODPK, LSODKR, LSODI, LSOIBT, and LSODIS, by Alan Hindmarsh.
  198. openmp, examples which illustrate the use of the use of the OpenMP interface for parallel processing on shared memory systems;
  199. openmp_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.
  200. owens, a library which evaluates Owen's T function;
  201. paranoia, a program which checks the accuracy of floating point arithmetic on a given computer.
  202. pbma_io, a library which reads or writes ASCII Portable Bit Map (PBM) 2D bit map graphics files;
  203. pgma_io, a library which reads or writes ASCII Portable Gray Map (PGM) 2D grayscale graphics files;
  204. piecewise_linear_product_integral, a library which calculates the exact value of the integral of the product of two piecewise linear functions F(X) and G(X).
  205. pink_noise, a library which computes a "pink noise" signal obeying a 1/f power law.
  206. pitcon66, a library which seeks to produce a sequence of points that satisfy a set of nonlinear equations with one degree of freedom; this is version 6.6 of ACM TOMS algorithm 596.
  207. pltmg, a library which carries out Piecewise Linear Multigrid finite element calculations, by Randy Bank;
  208. point_merge, a library which considers N points in M dimensional space, and counts or indexes the unique or "tolerably unique" items.
  209. poisson_openmp, a program which computes an approximate solution to the Poisson equation in a rectangle, using the Jacobi iteration to solve the linear system, and OpenMP to carry out the Jacobi iteration in parallel.
  210. poisson_serial, a program which computes an approximate solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.
  211. polpak, a library which evaluates special functions, recursive polynomials, and so on.
  212. power_method, a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
  213. ppma_io, a library which reads or writes ASCII Portable Pixel Map (PPM) 2D color graphics files;
  214. pppack, a library which computes piecewise polynomial interpolants and approximants, in particular, cubic splines, by Carl DeBoor.
  215. praxis, a library which minimizes a scalar function of several variables, without requiring derivative information, by Richard Brent.
  216. prime_mpi, a program which counts the number of primes between 1 and N, using MPI for parallel execution.
  217. prime_openmp, a program which counts the number of primes between 1 and N, using OpenMP for parallel execution.
  218. prime_serial, a program which counts the number of primes between 1 and N, and is intended as a starting point for a parallel version.
  219. quad_mpi, a program which applies a quadrature rule to estimate an integral, using MPI;
  220. quad_openmp, a program which applies a quadrature rule to estimate an integral over a 1D interval, using OpenMP for parallel execution;
  221. quad_serial, a program which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
  222. quad2d_openmp, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, using OpenMP for parallel execution;
  223. quad2d_serial, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, intended as a starting point for parallelization exercises.
  224. quadpack, a library which approximates integrals of various types over finite, semi-infinite and infinite one dimensional intervals;
  225. quadrule, a library which implements rules for approximate integration (quadrature) in one dimension;
  226. r4lib, a library which contains many utility routines, using "R4" or "single precision real" arithmetic.
  227. r8lib, a library which contains many utility routines, using "R8" or "double precision real" arithmetic.
  228. randlc, a library which generates a sequence of pseudorandom numbers, used by the NAS Benchmark programs.
  229. random_mpi, a program which demonstrates one way to generate the same sequence of random numbers for both sequential execution and parallel execution under MPI.
  230. ranlib, a library which produces random samples from a variety of probabilistic distributions, by Brown and Lovato.
  231. read_align, a program which extracts data from a multiple alignment file for sequences and writes the data to a file suitable for input to DISTANCES.
  232. revnew, a program which demonstrates the use of Newton's method to solve a system of nonlinear equations, using reverse communication.
  233. rk4, a library which applies the fourth order Runge-Kutta algorithm to estimate the solution of an ordinary differential equation at the next time step.
  234. rkf45, a library which solves a system of ordinary differential equations by the Runge-Kutta-Fehlberg method.
  235. sandia_cvt, a program which positions a given number of points in an arbitrary region, using probabilistic centroidal Voronoi tessellation techniques to achieve good coverage and separation; developed for Sandia National Laboratories;
  236. satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.
  237. satisfy_mpi, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using MPI to perform the calculation in parallel.
  238. satisfy_openmp, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using OpenMP for parallel execution.
  239. schedule_openmp, a program which demonstrates the default, static, and dynamic methods of "scheduling" loop iterations in OpenMP to avoid work imbalance.
  240. scpack, a library which performs the numerical computation of Schwarz-Christoffel conformal mappings, by Nick Trefethen.
  241. select, a library which carries out Nijenhuis and Wilf's generalized combinatorial selection algorithm;
  242. serba, a program which applies the boundary element method to solve the elasticity equation in a 2D region, by Federico Paris and Jose Canas.
  243. sftpack, a library which implements the "slow" Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
  244. sgefa_openmp, a program which compares a standard linear algebra solver against a revised version which can be run in parallel with OpenMP.
  245. simpack, a library which estimates an integral over a region that is the union of multidimensional simplexes, by Alan Genz.
  246. simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
  247. sparsekit, a library which performs sparse matrix operations, by Yousef Saad;
  248. sparsepak, a library which forms an obsolete version of the Waterloo Sparse Matrix Package;
  249. specfun, a library which computes special functions, including Bessel I, J, K and Y functions, and the Dawson, E1, EI, Erf, Gamma, Psi/Digamma functions, by William Cody and Laura Stoltz;
  250. special_functions, a library which computes special functions, by Shanjie Zhang, Jianming Jin;
  251. sphere_grid, a library which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, over the unit sphere.
  252. sphere_lebedev_rule, a library which computes Lebedev quadrature rules for the unit sphere;
  253. sphere_quad, a library which approximates an integral over the surface of the unit sphere by applying a triangulation to the surface;
  254. spline, a library which interpolates and approximates via splines;
  255. spread, a program which reads a SWISS-PROT file and identifies the tyrosine residues.
  256. starpac, a library which carries out statistical data analysis.
  257. steam_nbs, a library which is based on the NBS steam table package;
  258. steam_nbs_interact, a program which queries the NBS steam table package;
  259. stochastic_rk, a library which applies a Runge-Kutta scheme to a stochastic differential equation.
  260. subpak, a library which implements a wide variety of operations on real and integer vectors and matrices;
  261. subset, a library which ranks, unranks, and generates random subsets, combinations, permutations, and so on;
  262. subset_sum, a program which seeks solutions of the subset sum problem.
  263. sum_million, a program which sums the integers from 1 to 1,000,000, as a demonstration of how to rate a computer's speed;
  264. table_io, a library which reads and writes a set of data as a TABLE file.
  265. task_division, a library which implements a simple procedure for smoothly dividing T tasks among P processors; such a method can be useful in MPI and other parallel environments, particularly when T is not an exact multiple of P, and when the processors can be indexed starting from 0 or from 1.
  266. tcell, a program which solves the time-dependent 2D incompressible Navier Stokes equations in a T-shaped region, by Hyung-Chun Lee.
  267. tcell_mass, a 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, by Hyung-Chun Lee.
  268. templates, a library which forms basic implementations of iterative methods for solving large sparse linear systems;
  269. test_approx, a library which implements test problems for approximation, provided as a set of (x,y) data.
  270. test_con, a library which implements test problems for numerical continuation.
  271. test_eigen, a library which implements test matrices for eigenvalue analysis.
  272. test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
  273. test_interp, a library which defines test problems for interpolation, provided as a set of (x,y(x)) data.
  274. test_interp_scattered, a library which defines test problems for interpolation of data (x,y,z(x,y)), with the data points (x,y) scattered irregularly.
  275. test_mat, a library which implements test matrices.
  276. test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
  277. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  278. test_nonlin, a library which implements test problems for the solution of systems of nonlinear equations.
  279. test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
  280. test_values, a library which stores a small set of values for a variety of mathematical functions.
  281. test_zero, a library which implements test problems for the solution of a single nonlinear equation in one variable.
  282. testpack, a library which contains a set of test integrand functions, by Alan Genz.
  283. tetrahedron_grid, a library which computes a grid of points inside a 3D tetrahedron.
  284. timer, examples which illustrate how executing code may be timed.
  285. timestamp, a library which prints out the YMDHMS date as a timestamp.
  286. toms178, a library which seeks the minimizer of a scalar function of several variables using the Hooke-Jeeves method; this is a FORTRAN77 version of ACM TOMS algorithm 178.
  287. toms179, a library which calculates the incomplete Beta ratio; this is a FORTRAN77 version of ACM TOMS algorithm 179.
  288. toms291, a library which approximates the logarithm of the Gamma function; this is a FORTRAN77 version of ACM TOMS algorithm 291.
  289. 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.
  290. toms332, a library which evaluates Jacobi polynomials; this is a FORTRAN77 version of ACM TOMS algorithm 332.
  291. toms343, a library which computes the eigenvalues and eigenvectors of a general real matrix; this is a FORTRAN77 version of ACM TOMS algorithm 343.
  292. toms344, a library which calculates the Student T distribution; this is a FORTRAN77 version of ACM TOMS algorithm 344.
  293. toms347, a library which sorts an integer vector; this is a FORTRAN77 version of ACM TOMS algorithm 347.
  294. toms351, a library which estimates an integral using Romberg integration; this is a FORTRAN77 version of ACM TOMS algorithm 351.
  295. 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.
  296. 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.
  297. toms358, a library which computes the singular value decomposition of a complex matrix; this is a FORTRAN77 version of ACM TOMS algorithm 358.
  298. toms359, a library which computes the factorial analysis of variance; this is a FORTRAN77 version of ACM TOMS algorithm 359.
  299. 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.
  300. toms370, a library which produces random numbers sampled from an arbitrary PDF; this is a FORTRAN77 version of ACM TOMS algorithm 370.
  301. toms379, a library which approximates the integral of a function; this is a FORTRAN77 version of ACM TOMS algorithm 379.
  302. toms384, a library which computes the eigenvalues and eigenvectors of a symmetric matrix; this is a FORTRAN77 version of ACM TOMS algorithm 384.
  303. toms385, a library which evaluates the exponential integral function; this is a FORTRAN77 version of ACM TOMS algorithm 385.
  304. toms392, a library which approximates the time evolution of a hyperbolic PDE; this is a FORTRAN77 version of ACM TOMS algorithm 392.
  305. 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.
  306. toms419, a library which seeks the zeroes of a polynomial with complex coefficients; this library is commonly called CPOLY; this is ACM TOMS algorithm 419.
  307. toms423, a library which implements Gaussian elimination, revised versions of DECOMP and SOLVE; this is ACM TOMS algorithm 423.
  308. toms424, a library which implements Clenshaw-Curtis integration; this is ACM TOMS algorithm 424.
  309. toms425, a library which generates a sequence of vectors from a multivariate normal distribution with given covariance; this is ACM TOMS algorithm 425.
  310. toms427, a library which estimates a Fourier cosine integral; this is ACM TOMS algorithm 427.
  311. toms429, a library which reports information about the estimated location of roots of a polynomial; this is ACM TOMS algorithm 429.
  312. toms431, a library which solves quadratic and linear programming problems this is ACM TOMS algorithm 431.
  313. toms434, a library which computes the probability of a given RxC contingency table; this is ACM TOMS algorithm 434.
  314. toms435, a library which computes the modified incomplete gamma function; this is ACM TOMS algorithm 435.
  315. toms436, a library which carries out product-type trapezoidal integration; this is ACM TOMS algorithm 436.
  316. toms437, a library which carries out product-type Simpson's integration; this is ACM TOMS algorithm 437.
  317. toms438, a library which carries out product-type two point Gauss-Legendre-Simpson integration; this is ACM TOMS algorithm 438.
  318. toms439, a library which carries out product-type three point Gauss-Legendre-Simpson integration; this is ACM TOMS algorithm 439.
  319. toms441, a library which samples the dipole distribution; this is ACM TOMS algorithm 441.
  320. toms443, a library which evaluates Lambert's W function; this is ACM TOMS algorithm 443.
  321. toms446, a library which manipulates Chebyshev series for interpolation and approximation; this is ACM TOMS algorithm 446, by Roger Broucke.
  322. toms448, a library which counts the number of partitions of an integer into a given set of integers; this is ACM TOMS algorithm 448.
  323. toms450, a library which minimizes a scalar function of N variables using the method of Rosenbrock; this is ACM TOMS algorithm 450.
  324. toms451, a library which determines quantiles of the Chi-Square distribution; this is ACM TOMS algorithm 451.
  325. toms452, a library which generates a sequence of combinations of M things out of N; this is ACM TOMS algorithm 452.
  326. toms453, a library which determines the abscissas and weights for a Gaussian quadrature formula for Bromwich's integral; this is ACM TOMS algorithm 453.
  327. toms454, a library which implements the complex method of constrained optimization; this is ACM TOMS algorithm 454.
  328. toms456, a library which implements the routing algorithm; this is ACM TOMS algorithm 456.
  329. toms460, a library which determines the optimal parameters for an alternating direction implicit iteration; this is ACM TOMS algorithm 460.
  330. toms461, a library which applies cubic spline solutions to a class of functional differential equations; this is ACM TOMS algorithm 461.
  331. toms462, a library which evaluates the bivariate normal distribution; this is ACM TOMS algorithm 462.
  332. toms463, a library which chooses "nice" ranges for a graph of computer-generated data; this is ACM TOMS algorithm 463.
  333. toms467, a library which transposes a matrix in place; this is ACM TOMS algorithm 467.
  334. toms468, a library which carries out automatic numerical integration; this is ACM TOMS algorithm 468.
  335. toms470, a library which solves an "almost tridiagonal" system of linear equations; this is ACM TOMS algorithm 470.
  336. toms493, a library which seeks the roots of a real polynomial; this library is commonly called RPOLY; this is ACM TOMS algorithm 493.
  337. toms494, a library which approximates a 1D PDE as a system of ODE's; this library is commonly called PDEONE; this is ACM TOMS algorithm 494.
  338. toms502, a library which computes a sequence of solutions of a parameterized system of equations; this is ACM TOMS algorithm 526.
  339. toms515, a library which can select subsets of size K from a set of size N, ACM TOMS Algorithm 515;
  340. toms526, a library which interpolates scattered bivariate data, by Hiroshi Akima; this is ACM TOMS algorithm 526.
  341. 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.
  342. toms552, a library which solves an overdetermined constrained linear system; this is ACM TOMS algorithm 552.
  343. toms565, a library which approximates the solution of a system of time-dependent partial differential equations over a 2D domain; this library is commonly called PDETWO; this is ACM TOMS algorithm 565;
  344. 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.
  345. toms596, a library which seeks to produce a sequence of points that satisfy a set of nonlinear equations with one degree of freedom; this library is commonly called PITCON; this is ACM TOMS algorithm 596.
  346. toms611, a library which performs unconstrained optimization of a scalar function; this library is commonly called UNCMIN; this is ACM TOMS algorithm 611, by David Gay.
  347. 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.
  348. toms626, a library which creates a contour plot of data associated with a triangulated set of points; this is ACM TOMS algorithm 626.
  349. toms644, a library which evaluates the Bessel I, J, K, Y functions, the Airy functions Ai and Bi, and the Hankel function, for complex argument and real order.
  350. toms647, a library which evaluates the Faure, Halton, and Sobol quasirandom sequences, this is ACM TOMS algorithm 647;
  351. 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.
  352. toms655, a library which computes the weights for interpolatory quadrature rule; this library is commonly called IQPACK; this is ACM TOMS algorithm 655.
  353. toms659, a library which computes elements of the Sobol quasirandom sequence; this is ACM TOMS algorithm 659.
  354. toms660, a library which takes scattered data in 2D and creates an interpolating function F(X,Y), called qshep2d, this is ACM TOMS algorithm 660, by Robert Renka.
  355. toms661, a library which takes scattered data in 3D and creates an interpolating function F(X,Y,Z), called qshep3d, this is ACM TOMS algorithm 661, by Robert Renka.
  356. toms664, a library which uses Gauss elimination to solve linear systems involving large banded matrices. Disk storage is used when there is not enough memory for the working data; this library is commonly called GBSOL; this is ACM TOMS algorithm 664.
  357. toms672, a library which generates an interpolatory quadrature rule of highest possible order, given a set of preassigned abscissas; this library is commonly called EXTEND; this is ACM TOMS algorithm 672.
  358. toms699, a library which implements a new representation of Patterson's quadrature formula. this is ACM TOMS algorithm 699.
  359. toms706, a library which estimates the integral of a function over a triangulated region; this library is commonly called DCUTRI; this is ACM TOMS algorithm 706.
  360. toms708, a library which evaluates the incomplete beta function; this is ACM TOMS algorithm 708.
  361. toms726, a library which computes recursion coefficients for orthogonal polynomials, and the abscissa and weights for related quadrature rules; this library is commonly called ORTHPOL; this is ACM TOMS algorithm 726.
  362. toms738, a library which evaluates Niederreiter's quasirandom sequence; this is ACM TOMS algorithm 738;
  363. toms772, a library which carries out computational geometry on the unit sphere; this library is commonly called STRIPACK; this is ACM TOMS algorithm 772.
  364. toms790, a library which computes an interpolating function to a set of scattered data in the plane; this library is commonly called CSHEP2D; by Robert Renka; this is ACM TOMS algorithm 790.
  365. toms792, a library which tests functions that interpolate scattered data in the plane; by Robert Renka; this is ACM TOMS algorithm 792.
  366. triangle_grid, a library which computes a triangular grid of points.
  367. triangulation, a library which computes, plots and manipulates the triangulation of a set of points in 2D;
  368. tripack, a library which computes constrained Delaunay triangulation in the plane, ACM TOMS algorithm 751, by Robert Renka.
  369. ttyplt, a library which uses "typewrite graphics" to display simple mathematical plots.
  370. uncmin, a library which seeks the unconstrained minimization of a scalar function of several variables.
  371. uniform, a library which generates uniform random numbers.
  372. valgrind, directory of programs which illustrate the use of the VALGRIND suite of programs which includes a memory leak detector.
  373. walsh, a library which implements versions of the Walsh and Haar transforms.
  374. wtime, a library which returns a reading of the wall clock time in seconds.
  375. xerror, a library which constitutes the SLATEC error message package.
  376. ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.
  377. ziggurat_openmp, a program which demonstrates how the ZIGGURAT library can be used to generate random numbers in an OpenMP parallel program.

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


Last revised on 03 February 2012.