Source Codes in
Fortran90


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

The packages are at different levels of completion. Some are unfinished, (and some will never be!), some are just sketches under development. In some cases, the routines may be inaccurate, inefficient, balky, or unreliable. Don't take anything on faith; if a routine says it computes the Fred function, be sure you know what the Fred function is, and what its values ought to be, and do a few tests.

The directories include:

  1. aitch, a program which sets up the geometry information necessary for a finite element representation of time dependent Navier Stokes flow in an H-shaped 2D region.
  2. alscal, a program which performs multidimensional scaling of data given interdata distances.
  3. alscal_data_convert, a program which reads a data file containing object names and distances between objects, and reformats the data for input to ALSCAL.
  4. anyplt, a library which was intended as a simple interface to a variety of graphics packages.
  5. apportionment, a library which demonstrates some of the methods used or proposed for "fairly" assigning a number of seats in the House of Representatives to each state;
  6. arby4, a program which analyzes a 2D fluid flow using the reduced basis method.
  7. args, a program which reports the command line arguments of a FORTRAN90 program;
  8. arpack, a library which computes eigenvalues for large matrices;
  9. asa005 a library which evaluates the lower tail of the noncentral Student's T distribution; this is Applied Statistics Algorithm 5;
  10. asa006 a library which computes the Cholesky factor of a positive definite symmetric matrix; this is Applied Statistics Algorithm 6;
  11. asa007 a library which computes the inverse of a positive definite symmetric matrix; this is Applied Statistics Algorithm 7;
  12. asa032 a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 32;
  13. asa047 a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm; this is Applied Statistics Algorithm 47;
  14. asa058 a library which carries out clustering of data; this is Applied Statistics Algorithm 58;
  15. asa063 a library which evaluates the incomplete Beta function; this is Applied Statistics Algorithm 63;
  16. asa066 a library which computes the cumulative density function of the standard normal distribution; this is Applied Statistics Algorithm 66;
  17. asa076 a library which evaluates Owen's T function; this is Applied Statistics Algorithm 76;
  18. asa091, a library which computes the percentage points of the Chi-square distribution; this is Applied Statistics Algorithm 91;
  19. asa103, a library which evaluates the digamma or psi function; this is Applied Statistics Algorithm 103;
  20. asa109 a library which inverts the incomplete Beta function; this is Applied Statistics Algorithm 109;
  21. asa111 a library which evaluates the percentage points of the normal distribution; this is Applied Statistics Algorithm 111;
  22. asa113 a library which clusters data using the Banfield and Bassill transfer and swap algorithm; this is Applied Statistics Algorithm 113;
  23. asa121, a library which evaluates the trigamma function; this is Applied Statistics Algorithm 121;
  24. asa136 a library which clusters data using the Hartigan and Wong algorithm; this is Applied Statistics Algorithm 136;
  25. asa144 a library which randomly generates tables with given row and column sums; this is Applied Statistics Algorithm 144;
  26. asa147 a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 147;
  27. asa152, a library which evaluates point and cumulative probabilities associated with the hypergeometric distribution; this is Applied Statistics Algorithm 152;
  28. asa159, a library which computes a random table with given row and column sums; this is Applied Statistics Algorithm 159;
  29. asa172 a library which simulates the generation of a set of multi-indices by nested DO-Loops; this is Applied Statistics Algorithm 172;
  30. asa183, a library which implements the Wichman-Hill pseudorandom number generator; this is Applied Statistics Algorithm 183;
  31. 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;
  32. asa205, a library which generates tables with given row and column sums; this is Applied Statistics Algorithm 205;
  33. asa226 a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 226;
  34. asa239 a library which evaluates the incomplete Gamma function; this is Applied Statistics Algorithm 239;
  35. asa241, a library which computes the inverse of the normal CDF; this is Applied Statistics Algorithm 241;
  36. asa243 a library which evaluates the lower tail of the noncentral Student's T distribution; this is Applied Statistics Algorithm 243;
  37. asa245 a library which evaluates the logarithm of the Gamma function; this is Applied Statistics Algorithm 245;
  38. asa266, a library which evaluates various properties of the Dirichlet probability density function; this is Applied Statistics Algorithm 266;
  39. asa299, a library which computes the lattice points (integer coordinates) in an multi_dimensional simplex; this is Applied Statistics Algorithm 299;
  40. asa310 a library which evaluates the noncentral incomplete Beta function; this is Applied Statistics Algorithm 310;
  41. bar_plot, a library which creates RGB color arrays for data that represents a sort of bar plot (several Y values for each X value).
  42. basis_compare, a program which compares two sets, each containing N orthonormal M dimensional vectors, to see if they span the same subspace.
  43. bayes_beta, a program which uses Bayesian analysis to estimate the parameters in a beta distribution based on a series of sample data.
  44. bayes_dice, a program which uses Bayesian analysis to adjust a model of loaded dice based on a sequence of experimental observations.
  45. bayes_weight, a program which uses Bayesian analysis to adjust a model of loaded dice based on a sequence of experimental observations.
  46. bdmlib, a library which estimates the weights in a Dirichlet mixtured based on sample data;
  47. beta_nc, a library which evaluates the CDF of the noncentral Beta distribution;
  48. bezier_surface, a library which reads, writes, prints and manipulates the data that defines a Bezier surface;
  49. bins, a library which orders, sorts and searches data using bins;
  50. bivar, a library which constructs and evaluates an interpolating function Z(X,Y) from scattered data;
  51. blacs, a library which sets up the necessary communication for a linear algebra computation on any of a variety of distributed memory clusters.
  52. blas1_c, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, using single precision complex arithmetic;
  53. blas1_d, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, using double precision real arithmetic;
  54. blas1_s, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, using single precision real arithmetic;
  55. blas1_z, a library which constitutes the Level 1 Basic Linear Algebra Subprograms, using double precision complex arithmetic;
  56. blas2 a library which constitutes the Level 2 Basic Linear Algebra Subprograms;
  57. blas3, a library which constitutes the Level 3 Basic Linear Algebra Subprograms;
  58. blend, a library which carries out 1D/2D/3D blending interpolation;
  59. 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;
  60. brent a library which contains Richard Brent's routines for finding zeroes or minima of functions, without the use of derivative information.
  61. bump, a program which computes the steady 2D incompressible Navier-Stokes flow in a channel that includes a variable bump;
  62. bump_original, a program which computes the steady 2D incompressible Navier-Stokes flow in a channel that includes a variable bump; this is the "original version" of BUMP.
  63. bvls a library which applies least squares methods to solve a linear system for which lower and upper constraints may have been placed on every variable.
  64. c4lib, a library which implements certain elementary functions for single precision complex variables;
  65. c8lib, a library which implements certain elementary functions for double precision complex variables;
  66. calendar_nyt, a library which shows the correspondence between dates and the New York Times volume and issue number;
  67. calpak, a library which makes various calendar calculations;
  68. ccvt_box, a program which calculates a CVT constrained to a box region, with points projected to the boundary;
  69. ccvt_reflect, a program which carries out a CVT calculation that tries to include points on the boundary as well as the interior, using a "natural" (nonparametric) technique;
  70. channel, a program which uses a finite element model of time independent viscous incompressible flow in a 2D channel;
  71. chebyshev1_rule, a program which computes and writes out a Gauss-Chebyshev type 1 quadrature rule of given order.
  72. chebyshev2_rule, a program which computes and writes out a Gauss-Chebyshev type 2 quadrature rule of given order.
  73. chrpak, a library which manipulates characters and strings;
  74. circle_points, a program which returns points equally spaced on a circle;
  75. circle_test, a program which performs a circle-spacing test on sets of points;
  76. cities, a library which works with city-to-city distance matrices;
  77. clenshaw_curtis_grid, a library which implements a multidimensional Clenshaw Curtis quadrature rule;
  78. clenshaw_curtis_rule, a program which implements a Clenshaw Curtis quadrature rule;
  79. cluster_energy, a program which computes the minimal cluster energy of a set of points;
  80. cnf_io is a library which reads or writes CNF data files, used to store boolean formulas in conjunctive normal form.
  81. codepack, a library which computes graph codes to compare two graphs;
  82. colors, a library which converts between various formats for describing colors;
  83. combo, a library which handles combinatorial problems, by Kreher and Stinson;
  84. contour, a program which reads a file of combined coordinate and attribute data for points on a rectangular grid, and extracts the node and element geometry information for input to DISPLAY3.
  85. converter, a program which interacts between a user and the CONVERT_UNITS library.
  86. convert_units, a library which converts between various units of measurement;
  87. cordic, a library which computes a few special functions using the CORDIC algorithm.
  88. crystal, a program which simulates axisymmetric silicon crystal growth under the Czochralski process;
  89. crystal_coordinates, a program which generates the spatial coordinates of a "slab" of points in 3D, using FCC symmetry; these coordinates may be used for initialization of a molecular dynamics program;
  90. crystal_plot, a program which creates plots of the output of the CRYSTAL or CRYSTAL_QED programs.
  91. crystal_qed, a program which seeks to minimize a certain objective function during the growth of a silicon crystal under the Czochralski process.
  92. cubpack a library which estimates the integral of a function (or vector of functions) over a collection of N-dimensional hyperrectangles and simplices.
  93. cvt, a library which computes an N point CVT (Centroidal Voronoi Tessellation) in M dimensions;
  94. cvt_basis, a program which uses discrete CVT (Centroidal Voronoi Tessellation) techniques to produce a small set of basis vectors that are good cluster centers for a large set of data vectors;
  95. cvt_basis_flow, a program which uses CVT (Centroidal Voronoi Tessellation) techniques to extract a small set of representative behaviors from a large set of solutions of a PDE representing fluid flow;
  96. cvt_dataset, a program which creates a CVT (Centroidal Voronoi Tessellation) dataset;
  97. cvt_fixed, a library which computes a CVT (Centroidal Voronoi Tessellation), built on top of CVT_SIZE, which allows the user to fix the location of some generators;
  98. cvt_fixed2, a library which implements a version of the CVT (Centroidal Voronoi Tessellation) algorithm which allows the user to fix some points;
  99. cvt_mod, a library which creates a CVT dataset on the unit square with no boundaries (a logical torus);
  100. cvt_mod_dataset, a program which creates a CVT dataset on the unit square with no boundaries (a logical torus);
  101. cvt_movie5_data, a program which creates and saves data of a CVT iteration, for use in a movie;
  102. cvt_refine, a library which investigates how to refine a CVT (Centroidal Voronoi Tessellation) by fixing the current points and adding new ones;
  103. cvt_size, a library which controls CVT (Centroidal Voronoi Tessellation) cell sizes by specifying a weight function associated with each cell;
  104. cvt_tet_mesh, a program which constructs a CVT for a region specified by the TEST_TET_MESH library;
  105. cvt_triangulation, a program which constructs a CVT for a region specified by the TEST_TRIANGULATION library;
  106. cvt_weight, a library which tried to control CVT (Centroidal Voronoi Tessellation) cell sizes by specifying a weight function associated with each cell;
  107. cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
  108. dcdflib, a library which evaluates and inverts various cumulative distribution functions;
  109. delaunay_lmap_2d, a program which reads a set of N points in 2 dimensions and writes out the Delaunay triangulation of the data after it is implicitly transformed by a linear map;
  110. dislin, examples which illustrate the use of a scientific plotting package;
  111. display3, a program which displays graphics from the flow data computed by FLOW3. This program used to work, but it is very out of date;
  112. display4, a program which displays graphics from the flow data computed by FLOW3, FLOW5 or FLOW7. This program used to work, but it is very out of date;
  113. display5, a program which displays graphics from the flow data computed by FLOW3, FLOW5 or FLOW7. This program used to work, but it is very out of date;
  114. distance_to_position a program which estimates the positions of cities based on a city-to-city distance table.
  115. distances, a program which reads a multiple alighment file (perhaps preprocessed by READ_ALIGN) and creates a distance matrix suitable for a principal component analysis by the SPACER program.
  116. divdif, a library which interpolates data using divided difference tables;
  117. dlap, a library which solves linear systems involving a large sparse matrix;
  118. dlap_io, a library which reads and writes DLAP sparse matrix files;
  119. dqed, a library which solves bounded and constrained least squares problems and systems of nonlinear equations;
  120. dsp_to_st, a program which converts a sparse matrix file from DSP format (one-based indices) to ST format (zero-based indices);
  121. dunavant, a library which defines Dunavant quadrature rules in a triangle;
  122. dutch, a library which performs certain tasks in computational geometry;
  123. eispack, a library which carries out eigenvalue computations; superseded by LAPACK;
  124. element_data, is a program which preprocesses simple element-based data on a grid into a form that the DISPLAY4 program can handle.
  125. emps, a program which expands compressed MPS files;
  126. ep_serial is a program which is a serial version of the NAS Parallel Benchmark EP ("embarassingly parallel").
  127. errors, examples which illustrate the failure of numerical algorithms;
  128. extract, a program which extracts one routine from a FORTRAN77 or FORTRAN90 file;
  129. f77_cleanup, a program which makes some minor improvements to the text of a FORTRAN77 file;
  130. f90, examples which illustrate the use of various FORTRAN90 programming features;
  131. f90_intrinsics, examples which illustrate the use of various FORTRAN90 intrinsic functions and subroutines;
  132. f90_matlab, examples which illustrate how a FORTRAN90 program can interact with MATLAB;
  133. f90split, a program which splits FORTRAN77 or FORTRAN90 source into individual files;
  134. faure, a library which computes elements of the Faure quasirandom M dimensional sequence;
  135. faure_dataset, a program which creates a Faure quasirandom dataset;
  136. fd_predator_prey, a program which solves a pair of predator prey ODE's using a finite difference approximation.
  137. fd1d_bvp, a program which applies the finite difference method to a two point boundary value problem in one spatial dimension.
  138. fd1d_heat_explicit, a program which implements a finite difference solution, explicit in time, of the time dependent 1D heat equation;
  139. fd1d_heat_implicit, a program which implements a finite difference solution, implicit in time, of the time dependent 1D heat equation;
  140. fd1d_heat_steady, a program which implements a finite difference solution for the steady (time independent) 1D heat equation;
  141. fd1d_predator_prey, a program which implements a finite difference algorithm for a 1D predator-prey system;
  142. fd2d_predator_prey, a program which implements a finite difference algorithm for a 2D predator-prey system;
  143. fekete, a library which returns one of 7 Fekete rules for interpolation or quadrature in a triangle;
  144. felippa, a library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.
  145. fem_io, a library which reads or writes FEM files, (three text files describing a finite element model);
  146. fem_to_tec, a program which reads a set of FEM files (node coordinates/elements/node data) of finite element information and writes an equivalent TEC file.
  147. fem1d, a program which applies the finite element method, using piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  148. 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;
  149. 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;
  150. 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;
  151. fem1d_project is 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.
  152. fem1d_sample, a program which samples a scalar or vector finite element function of one variable, defined by FEM files, returning interpolated values at the sample points.
  153. fem2d_heat, a program which implements the finite element method for the time dependent heat equation on a triangulated square in 2D;
  154. fem2d_pack, a library which implements simple 2D finite element calculations;
  155. fem2d_poisson, a program which solves the 2D Poissone equation on a rectangle, using the finite element method, and piecewise quadratic triangular elements.
  156. fem2d_poisson_linear is a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise linear triangular elements.
  157. fem2d_project is a program which projects a function F(X,Y), given as data, into a given finite element space of piecewise linear triangular elements.
  158. fem2d_project_function is a program which projects a function F(X,Y), given as a formula, into a given finite element space of piecewise linear triangular elements.
  159. 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.
  160. fem3d_pack is a library which contains utilities for 3D finite element calculations.
  161. fem3d_project is a program which projects a function F(X,Y,Z), given as a data, into a given finite element space of piecewise linear tetrahedral elements.
  162. fem3d_sample is a program library which evaluates a finite element function defined on a 3D tetrahedral mesh.
  163. femod1, a program which tries to set up and solve a model finite element problem in 2D;
  164. femod2, a program which sets up and solves a model finite element problem in 2D;
  165. ffp_sparse, a program which uses the finite element method to solve Poisson's equation on an arbitrary triangulated region in 2D; (This is a version of free_fem_poisson which replaces the banded storage and direct solver by a sparse storage format and an iterative solver.)
  166. fft_open_mp is a program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.
  167. fft_serial is a program which computes a Fast Fourier Transform, and is intended as a starting point for implementing an OpenMP parallel version.
  168. fftpack4, a library which computes Fast Fourier transforms;
  169. fftpack5, a library which computes Fast Fourier transforms;
  170. file_merge is a program which merges two sorted files.
  171. file_row_reverse is a program which makes a copy of a file with the lines ("rows") in reverse order.
  172. filum, a library which performs various operations on files;
  173. fixcon, a program which converts FORTRAN77 continuation statements to the FORTRAN90 format;
  174. flow3, a program which uses the finite element method to solve the steady incompressible Navier Stokes equations in 2D;
  175. flow4, a program which uses the finite element method to solve the steady incompressible Navier Stokes equations in 2D;
  176. flow5, a program which uses the finite element method to solve the steady incompressible Navier Stokes equations in 2D;
  177. flow6, a program which uses the finite element method to solve the steady incompressible Navier Stokes equations in 2D;
  178. flow7, a program which is an unfinished version of a finite element code for solving the steady incompressible Navier Stokes equations in 2D;
  179. floyd is a library which implements Floyd's algorithm for finding the shortest distance between pairs of nodes on a directed graph.
  180. football, a program which ranks football teams based on scores;
  181. free_fem_heat a program which uses the finite element method and the backward Euler method to solve the time-dependent heat equation on an arbitrary triangulated region in 2D. (The user supplies some information in some problem-dependent subroutines.)
  182. free_fem_navier_stokes a program which uses the finite element method to solve the steady incompressible Navier Stokes equations on an arbitrary triangulated region in 2D (The user supplies some information in some problem-dependent subroutines.)
  183. free_fem_poisson a program which uses the finite element method to solve Poisson's equation on an arbitrary triangulated region in 2D; (The user supplies some information in some problem-dependent subroutines.)
  184. free_fem_stokes a program which uses the finite element method to solve the steady incompressible Stokes equations on an arbitrary triangulated region in 2D; (The user supplies some information in some problem-dependent subroutines.)
  185. frieze a program which demonstrates how to map a pattern repeatedly into a (distorted) 2D region to create a sort of "wallpaper";
  186. g95_intrinsics examples which illustrate the use of some of the intrinsic functions included by the GNU G95 compiler, above and beyond those specified in the FORTRAN language standards.
  187. gdb an example directory of programs which illustrate the use of the GNU debugger program on a FORTRAN90 program;
  188. gegenbauer_rule, a program which computes and writes out a Gauss-Gegenbauer quadrature rule of given order.
  189. gen_hermite_rule, a program which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value ALPHA.
  190. gen_hermite_rule_r16, a program which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value ALPHA. This is a version of gen_hermite_rule that makes use of "double double precision" real arithmetic.
  191. gen_laguerre_rule, a program which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value ALPHA.
  192. gene_cluster, a program which clusters sets of genetic expression data;
  193. geometry, a library which performs 2D/3D geometric calculations;
  194. geompack, a library which determines the Delaunay triangulation of 2D data;
  195. geompack2, a library which computes the Delaunay triangulation of 2D data;
  196. geompack3, a library which performs Delaunay triangulation for 3D data;
  197. getwgt, a library which estimates the parameters of a Dirichlet mixture.
  198. gfortran, examples which investigate the use of the GFORTRAN compiler with FORTRAN90 code.
  199. gfortran_intrinsics, a program which illustrates the use of some of the intrinsic functions included by the GFORTRAN compiler, above and beyond those specified in the FORTRAN language standards.
  200. gm_rules, a library which defines Grundmann-Moeller quadrature rules for an M-dimensional simplex.
  201. gnufor, a library which provides an interface between a FORTRAN90 program and the GNUPLOT graphics library.
  202. gprof, examples which illustrate the use of the GPROF program performance monitor;
  203. grafpack, a library which performs calculations on graphs;
  204. graph_paper, a library which makes PostScript graph paper;
  205. grf_io, a library which reads or writes a GRF file;
  206. grf_to_eps, a program which converts a GRF file to EPS format;
  207. grf_to_xyl, a program which converts information describing an abstract graph from GRF to XYL format.
  208. grid, a library which computes N random points on an M dimensional uniform grid;
  209. grid_dataset, a program which creates a uniform grid dataset;
  210. halton, a library which computes elements of the Halton M dimensional quasirandom sequence;
  211. halton_dataset, a program which creates a Halton quasirandom dataset;
  212. hammersley, a library which computes elements of the Hammersley M dimensional quasirandom sequence;
  213. hammersley_dataset, a program which creates a Hammersley quasirandom dataset;
  214. hb_io, a library which reads and writes files in the HB sparse matrix format;
  215. hb_to_st a program which reads a sparse matrix in a Harwell-Boeing file and writes an equivalent Sparse Triplet file.
  216. heat_mpi, a program which solves the 1D time dependent heat equation using MPI.
  217. heated_plate is 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.
  218. hello, a program which prints out "Hello, world!".
  219. help, a program which displays the contents of an old VMS-style help file.
  220. hermite_rule, a program which computes and writes out a Gauss-Hermite quadrature rule of given order.
  221. hex_grid, a library which defines a hexagonal grid of points in the unit square.
  222. hex_grid_angle, a library which defines a hexagonal grid of points in the unit square, with an arbitrary center, angle, and spacing.
  223. hex_grid_dataset, a program which creates a hexagonal grid dataset, using the hex_grid library;
  224. hex_grid_triangulate, a program which finds the points on a hex grid that lie inside a given triangulation region.
  225. ieee_uniform, a library which tries to uniformly sample the discrete set of values that represent the legal IEEE real numbers;
  226. ihs, a library which implements the Improved Distributed Hypercube Sampling method, regarded as a quasirandom M dimensional sequence;
  227. ihs_dataset, a program which creates an Improved Distributed Hypercube Sampling dataset;
  228. include_files, a program which reads a FORTRAN file with INCLUDE statements, and makes a copy in which the indicated files have been included;
  229. int_exactness, a program which tests the polynomial exactness of quadrature rules for a finite interval;
  230. int_exactness_chebyshev1, a program which tests the polynomial exactness of Gauss-Chebyshev type 1 quadrature rules.
  231. int_exactness_chebyshev2, a program which tests the polynomial exactness of Gauss-Chebyshev type 2 quadrature rules.
  232. int_exactness_gegenbauer, a program which tests the polynomial exactness of Gauss-Gegenbauer quadrature rules.
  233. int_exactness_gen_hermite, a program which tests the polynomial exactness of generalized Gauss-Hermite quadrature rules.
  234. int_exactness_gen_hermite_r16, a program which tests the polynomial exactness of generalized Gauss-Hermite quadrature rules. This is the same as int_exactness_gen_hermite, except that a "double double precision" real arithmetic has been used to improve the accuracy.
  235. int_exactness_gen_laguerre, a program which tests the polynomial exactness of generalized Gauss-Laguerre quadrature rules.
  236. int_exactness_hermite, a program which tests the polynomial exactness of Gauss-Hermite quadrature rules.
  237. int_exactness_jacobi, a program which tests the polynomial exactness of Gauss-Jacobi quadrature rules.
  238. int_exactness_laguerre, a program which tests the polynomial exactness of Gauss-Laguerre quadrature rules.
  239. int_exactness_legendre, a program which tests the polynomial exactness of Gauss-Legendre quadrature rules.
  240. integral_test, a program which tests the use of quasirandom points (or any set of points) to approximate an M dimensional integral;
  241. interp, a library which can be used for parameterizing and interpolating data;
  242. intlib, a library which carries out approximate integration (quadrature) in one dimension;
  243. ising_3d_simulation, a program which simulates a 3D Ising model of local variations in magnetism, intended as an example of FORTRAN90 programming;
  244. itpack, a FORTRAN90 library which contains a variety of algorithms for the iterative solution of a linear system of equations.
  245. ivread, a program which carries out 3D graphic file conversion;
  246. jacobi_rule, a program which computes and writes out a Gauss-Jacobi quadrature rule of given order.
  247. jbar, a program which reads a data file and creates a bar graph.
  248. keast, a library which defines Keast quadrature rules in a tetrahedron;
  249. kmeans, a library which handles the K-Means problem;
  250. kmedian, a program which handles the K-Median problem;
  251. laguerre_rule, a program which computes and writes out a Gauss-Laguerre quadrature rule of given order.
  252. lambert, a library which computes the Lambert quasirandom sequence in 1D, 2D, 3D and 4D.
  253. lapack, a library which carries out various linear algebra computations;
  254. lapack_d, examples which illustrate the use of the LAPACK library for linear algebra problems in which double precision real arithmetic is required.
  255. lapack_s, examples which illustrate the use of the LAPACK library for linear algebra problems in which single precision real arithmetic is required.
  256. latin_center, a library which produces N points in an M dimensional Latin Center Hypercube.
  257. latin_center_dataset, a program which creates a Latin Center Hypercube dataset;
  258. latin_edge, a library which produces N points in an M dimensional Latin Edge Hypercube.
  259. latin_edge_dataset, a program which creates a Latin Edge Hypercube dataset;
  260. latin_random, a library which produces N points in an M dimensional Latin Random Hypercube.
  261. latin_random_dataset, a program which creates a Latin Random Hypercube dataset;
  262. latinize, a library which adjusts N points in M dimensions to form a Latin hypercube.
  263. lattice, a library which returns lattice rules for multiple integration;
  264. lau_np, a library which implements heuristic algorithms for NP-hard problems.
  265. laupack, a library which carries out various operations on graphs.
  266. lawson a library which contains routines for solving least squares problems and singular value decompositions, by Lawson and Hanson.
  267. lcvt, a library which creates a sort of Latin Square CVT (Centroidal Voronoi Tessellation);
  268. lcvt_dataset, a program which creates a Latin Square CVT (Centroidal Voronoi Tessellation) dataset
  269. legendre_rule, a program which computes and writes out a Gauss-Legendre quadrature rule of given order.
  270. legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order.
  271. linpack_bench, a program which carries out the LINPACK benchmark;
  272. linpack_c, a library which factors and solves linear systems using single precision complex arithmetic;
  273. linpack_d, a library which factors and solves linear systems using double precision real arithmetic;
  274. linpack_s, a library which factors and solves linear systems using single precision real arithmetic;
  275. linpack_z, a library which factors and solves linear systems using double precision complex arithmetic;
  276. linplus, a library which factors/solves/multiplies matrices in a variety of storage formats;
  277. machar, a library which computes the values of various machine characteristic constants;
  278. machine, a library which returns tabulated values of the constants associated with computer arithmetic
  279. makefiles, examples which illustrate the use of MAKEFILES for maintaining a software project;
  280. mandelbrot, a program which generates an ASCII PPM image of the Mandelbrot set;
  281. mass, a program which verifies the computation of the mass matrix for a finite element calculation for a fluid flow problem.
  282. matalg, a program which carries out matrix calculations;
  283. matman, a program which manipulates matrices;
  284. matmul, a program which carries out a matrix multiplication benchmark;
  285. matt, a program which sets up a food-web model using the stable isotope method.
  286. md is a program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.
  287. md_open_mp a program which carries out a molecular dynamics simulation using OpenMP.
  288. md1, a program which carries out a simple molecular dynamics simulation;
  289. md2, a program which carries out a simple molecular dynamics simulation;
  290. md3, a program which carries out a simple molecular dynamics simulation;
  291. md3glue, a program which carries out a simple molecular dynamics simulation;
  292. memory, a library which can store and retrieve data by name;
  293. memory_test, a program which tests the memory available on the computer by declaring and using big vectors.
  294. mesh_bandwidth, a program which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of arbitrary dimension.
  295. meshless, a library which computes a meshless grid by centroidal Voronoi computations;
  296. mgmres, a library which applies the restarted GMRES algorithm to a sparse linear system;
  297. mhd_control, a program for the control of magnetic-hydrodynamic viscous 2d time-dependent fluid flow;
  298. mhd_flow, a program for magnetic-hydrodynamic viscous 2d time-dependent fluid flow;
  299. minpack, a library which solves linear and nonlinear least squares problems.
  300. mixed, examples which illustrate the used of mixed language programming in which the main program is written in FORTRAN90;
  301. mixture, a program which simulates a process governed by a Dirichlet mixture distribution.
  302. mm_io, a library which reads or writes sparse matrices that use the Matrix Market sparse matrix file format.
  303. module_mark is a program which replaces bare "END" statements by "END (module name)" statements in a FORTRAN90 file.
  304. mpi, examples which illustrate the use of the message passing interface for parallel processing on distributed memory systems;
  305. mpi_ithaca, programs which illustrate the use of PBS scripts for submitting MPI jobs on Virginia Tech's ITHACA cluster.
  306. mpi_stubs, a library which contains "stub" version of standard MPI routines, which may be used if a parallel program is to be compiled, loaded and run in a serial machine.
  307. mpi_sysx, examples which illustrate the use of PBS scripts for submitting MPI jobs to System X.
  308. mxv, a program which compares the performance of (DO I, DO J) loops, (DO J, DO I ) loops, and MATMUL for computing the product of an MxN matrix A and an N vector X.
  309. mxv_open_mp, a program which compares the performance of plain vanilla Fortran and the FORTRAN90 intrinsic routine MATMUL, for the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.
  310. nasadig_fonts a program which reads ASCII files defining fonts, and creates a single direct access binary font file for use by the NASADIG graphics library.
  311. nasadig_x_dummy is a library which defines dummy versions of the interface routines defined by NASADIG in order to produce X Windows graphics output.
  312. nast2d_f90, a program which solves the 2D Navier-Stokes equations, with heat; this is a FORTRAN90 version of a program by Griebel, Dornseifer, and Neunhoeffer;
  313. ncc_tetrahedron, a library which defines Newton-Cotes closed quadrature rules in a tetrahedron;
  314. ncc_triangle, a library which defines Newton-Cotes closed quadrature rules in a triangle;
  315. nco_tetrahedron, a library which defines Newton-Cotes open quadrature rules in a tetrahedron;
  316. nco_triangle, a library which defines Newton-Cotes open quadrature rules in a triangle;
  317. neighbors_to_metis_graph, a program which reads a file describing the neighbor structure of a tet mesh, and writes a METIS GRAPH file suitable for input to one of the family of programs based on METIS.
  318. netcdf a directory of example programs which read and write NETCDF files.
  319. niederreiter, a library which computes elements of the Niederreiter quasirandom M dimensional sequence [arbitrary base];
  320. niederreiter2, a library which computes elements of the Niederreiter quasirandom M dimensional sequence [base 2];
  321. niederreiter2_dataset, a program which creates a Niederreiter quasirandom dataset with base 2;
  322. nint_exactness, a program which tests the polynomial exactness of a multidimensional quadrature rule defined over a finite rectangular product region.
  323. nint_exactness_mixed a program which measures the polynomial exactness of a multidimensional quadrature rule based on a mixture of 1D quadrature rule factors.
  324. nint_exactness_pyramid is a program which investigates the polynomial exactness of a quadrature rule for the pyramid.
  325. nint_exactness_tet, a program which tests the polynomial exactness of a quadrature rule for tetrahedrons;
  326. nint_exactness_tri, a program which tests the polynomial exactness of a quadrature rule for triangles;
  327. nintlib, a library which carries out approximate integration (quadrature) in multiple dimensions;
  328. nl2sol, a library which implements an adaptive nonlinear least squares algorithm;
  329. nms, a library which accompanies the text "Numerical Methods and Software";
  330. normal, a library which computes elements of a pseudorandom sequence of normally distributed values;
  331. normal_dataset, a program which creates a multivariate normal random dataset;
  332. nspcg, a library which applies the preconditioned conjugate gradient method for nonsymmetric sparse matrices;
  333. nswc, a library which was collected by the Naval Surface Warfare Center;
  334. obj_io, a library which reads and writes the 3D graphics information in an Alias OBJ file;
  335. ode, a library which handles ordinary differential equations, by Shampine and Gordon;
  336. open_mp, examples which illustrate the use of OpenMP for parallel execution;
  337. open_mp_ithaca programs which illustrate the use of OpenMP on the Virginia Tech ITHACA cluster.
  338. open_mp_sgi, examples which illustrate the use of OpenMP with FORTRAN90 programs on the Virginia Tech SGI systems.
  339. 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.
  340. owens a library which evaluates Owen's T function;
  341. packer a library which packs and unpacks multidimensional arrays into vectors.
  342. pam_io, a library which reads or writes PAM 2D graphics files.
  343. paranoia, a program which checks the accuracy of floating point arithmetic on a given computer.
  344. partial_digest, a library which solves the partial digest problem;
  345. patterson_rule, a program which looks up and writes out a Gauss-Patterson quadrature rule of given order.
  346. pblas, a library which embodies the Parallel BLAS (Basic Linear Algebra Subprograms).
  347. pbma_io, a library which reads or writes ASCII PBM 2D bit map graphics files;
  348. pbmlib, a library which reads or writes graphics files in the Portable Bit Map format;
  349. pdb_extract, a program which can select records from a PDB file, and extract columns from those records;
  350. pdb_read, a library which reads a PDB file;
  351. pdb_to_xyz, a program which copies the coordinates from the ATOM records of a PDB file into an XYZ file;
  352. petsc, examples which illustrate the use of the Portable Extensible Toolkit for Scientific Computations;
  353. pgma_io, a library which reads or writes ASCII PGM 2D grayscale graphics files;
  354. piecewise_linear_product_integral is a library which calculates the exact value of the integral of the product of two piecewise linear functions F(X) and G(X).
  355. pitcon7 is 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 7.0 of ACM TOMS algorithm 596.
  356. plinth, a library which carries out tasks associated with the interpolation of data or a function by a hierarchical set of piecewise linear functions.
  357. plot_points, a program which can plot points, or the Delaunay triangulation or Voronoi diagram;
  358. plot_to_ps, a program which reads simple text commands and creates a PostScript image;
  359. plot3d_io, a library which reads or writes a PLOT3D file;
  360. plot3d_to_avs, a program which reads flow data from PLOT3D files and writes the data to files suitable for input to the AVS graphics system.
  361. pod_basis_flow, a program which uses POD techniques to extract a small set of representative behaviors from a large set of solutions of a PDE involving fluid flow;
  362. polpak, a library which evaluates recursively defined polynomials and other special functions;
  363. poly_io, a library which reads and writes POLY files;
  364. power_method a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
  365. ppma_io, a library which reads or writes ASCII PPM 2D color graphics files;
  366. ppma_to_ppmb, a program which converts an ASCII PPM file to a binary PPM file;
  367. pppack, a library which computes piecewise polynomial interpolants and approximants, in particular, cubic splines;
  368. praxis, a library which implements Richard Brent's method for minimizing a scalar function of several variables, without using derivatives;
  369. prime_number is a program which counts the number of primes between 1 and N.
  370. prime_number_mpi is a program which counts the number of primes between 1 and N, using MPI for parallel execution.
  371. prime_number_open_mp is a program which counts the number of primes between 1 and N, using OpenMP for parallel execution.
  372. prob, a library which evaluates probability density functions;
  373. product_factor, a program which creates a multidimensional quadrature rule from a product of distinct 1d quadrature rules;
  374. product_rule, a program which creates a multidimensional quadrature rule from a product of identical 1d quadrature rules;
  375. ps_gg_align, a library which implements a profile/sequence global alignment method using an affine gap penalty.
  376. ps_lg_align, a library which implements a profile/sequence local alignment method using an affine gap penalty.
  377. ps_qg_align, a library which implements a profile/sequence quasiglobal alignment method using an affine gap penalty.
  378. ps_write, a library which creates a PostScript file of line drawings;
  379. puzzles, executable programs which solve simple puzzles;
  380. pyramid_rule, is a program which computes a quadrature rule for a pyramid.
  381. qshep2d, a library which takes scattered data in 2D and creates an interpolating function F(X,Y);
  382. qshep3d, a library which takes scattered data in 3D and creates an interpolating function F(X,Y,Z);
  383. quad_mesh, a library which handles meshes of quadrilaterals over a 2D region;
  384. quad_mesh_rcm, a program which computes the reverse Cuthill-McKee (RCM) reordering for nodes in a mesh of 4-node quadrilaterals.
  385. quad_mpi, a program which applies a quadrature rule to estimate an integral, using MPI;
  386. quad_open_mp, a program which applies a quadrature rule to estimate an integral, using OpenMP;
  387. quadpack, a library which approximates integrals of various types over finite, semi-infinite and infinite one dimensional intervals;
  388. quadrature_test a program which reads the definition of a multidimensional quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.
  389. quadrature_test_2d a program which reads the definition of a 2D quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.
  390. quadrature_test_genz a program which reads the definition of a multidimensional quadrature rule from three files, applies the rule to the Genz test integrals, and prints the results. (This is a version of QUADRATURE_TEST that is restricted to the Genz problems).
  391. quadrule, a library which implements rules for approximate integration (quadrature) in one dimension;
  392. quality, a library which computes quality of distribution measures for pointsets in M dimensions;
  393. quote, a program which prints a random quote from a file;
  394. random_data, a library which generates sample points for various probability distributions, spatial dimensions, and geometries;
  395. 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.
  396. random_open_mp, examples which illustrate and explore issues involving the generation of random numbers in a parallel program using OpenMP.
  397. random_write, a program which creates a very large file of 32 bit integers, for input to the DIEHARD program, which can apply statistic tests for randomness.
  398. ranmap, a program which creates PostScript file of images of iterated affine mappings;
  399. rcm, a library which applies the reverse Cuthill McKee algorithm for reordering the nodes of a graph, and reducing the bandwidth of a corresponding sparse matrix;
  400. reactor simulation a program which is a simple Monte Carlo simulation of the shielding effect of a slab of a certain thickness in front of a neutron source. This program was provided as an example with the book "Numerical Methods and Software."
  401. 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.
  402. refine a program which takes a flow solution on a given grid, and extends it to a finer grid.
  403. reformat, a program which makes a copy of a data file with a given number of items per line;
  404. region, a library which reads 3D MRI voxel data, and groups the voxels into connected regions;
  405. region_sample, a library which returns sample points from a region;
  406. rejoin, a library which demonstrates a way to split or merge data files for parallel computations.
  407. rkf45, a library which applies a Runge-Kutta-Fehlberg solver to a system of ODE's;
  408. roc, a program which computes the receiver operator characteristic;
  409. root, a program which demonstrates the solution of a single nonlinear equation;
  410. sandia_cubature, a library which implements quadrature rules for certain multidimensional regions and weight functions.
  411. 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;
  412. sandia_rules, a library which can produce a standard 1D Gauss quadrature rule of Chebyshev, Gegenbauer, generalized Hermite, generalized Laguerre, Hermite, Jacobi, Laguerre, and Legendre types.
  413. sandia_sparse, a library which can produce a multidimensional sparse grid, based on a variety of 1D quadrature rules; only isotropic grids are generated, that is, the same rule is used in each dimension, and the same maximum order is used in each dimension.
  414. satisfiability is a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.
  415. satisfiability_mpi is 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.
  416. satisfiability_open_mp is a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem, using OpenMP for parallel execution.
  417. scalapack, a directory of example programs for SCALAPACK, which carries out linear algebra algorithms on parallel systems.
  418. scvt, a library which generates a mesh of points on a sphere using CVT ideas.
  419. select, a library which carries out Nijenhuis and Wilf's generalized combinatorial selection algorithm;
  420. sgefa_open_mp, a program which compares a standard linear algebra solver against a revised version which can be run in parallel with OpenMP.
  421. sgmga, a library which creates sparse grids based on a mixture of 1D quadrature rules, allowing anisotropic weights for each dimension.
  422. slab, a program which analyzes the optimization of a scalar function of multidimensional data by examining contour lines in a selected plane.
  423. slatec, a library which contains a huge collection of scientific algorithms;
  424. slice, a program which analyzes the optimization of a scalar function of multidimensional data by examining contour lines in a selected plane.
  425. smdlib_fonts a program which reads ASCII files defining fonts, and creates a single direct access binary font file for use by the SMDLIB graphics library.
  426. sobol, a library which evaluates the Sobol quasirandom M dimensional sequence;
  427. sobol_dataset, a program which creates a Sobol quasirandom dataset;
  428. spacer, a program which reads a file containing a distance matrix and performs a principal component analysis.
  429. spacer_data_convert, a program which reads a text file of distances, and reformats it for use with SPACER.
  430. spaeth, a library which performs the cluster analysis of data;
  431. spaeth2, a library which performs the cluster analysis of data;
  432. sparse_grid_cc, a library which creates sparse grids based on Clenshaw-Curtis rules.
  433. sparse_grid_cc_dataset, a program which creates a sparse grid dataset based on Clenshaw-Curtis rules.
  434. sparse_grid_closed, a library which creates sparse grids based on closed rules (Clenshaw-Curtis, Newton-Cotes-Closed).
  435. sparse_grid_closed_dataset, a program which creates a sparse grid dataset based on closed rules (Clenshaw-Curtis, Newton-Cotes-Closed).
  436. sparse_grid_gl, a library which creates sparse grids based on Gauss-Legendre rules.
  437. sparse_grid_gl_dataset, a program which creates a sparse grid dataset based on Gauss-Legendre rules.
  438. sparse_grid_hermite, a library which creates sparse grids based on Gauss-Hermite rules.
  439. sparse_grid_hermite_dataset, a program which creates a sparse grid dataset based on Gauss-Hermite rules.
  440. sparse_grid_laguerre, a library which creates sparse grids based on Gauss-Laguerre rules.
  441. sparse_grid_laguerre_dataset, a program which creates a sparse grid dataset based on Gauss-Laguerrre rules.
  442. sparse_grid_mixed, a library which creates sparse grids based on a mixture of 1D quadrature rules.
  443. sparse_grid_mixed_dataset, a program which creates a sparse grid dataset based on a mixture of 1D rules.
  444. sparse_grid_open, a library which creates sparse grids based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
  445. sparse_grid_open_dataset, a program which creates a sparse grid dataset based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
  446. sparse_grid_pure, a library which can analyze and create sparse grids in which a single family of 1D quadrature rules is used for all spatial dimensions.
  447. sparsekit, a library which performs sparse matrix operations, by Yousef Saad;
  448. sparsepak, a library which forms an obsolete version of the Waterloo Sparse Matrix Package;
  449. specfun, a library which evaluates certain special functions.
  450. sphere_design_rule, a library which defines spherical designs for quadrature on the sphere;
  451. sphere_volume_quad, a program which applies a quadrature rule to estimate the volume of the unit 6D sphere;
  452. spiral_data, a program which returns sample values of a velocity vector field that satisfies the continuity equation;
  453. spline, a library which interpolates and approximates via splines;
  454. ss_gd_align, a library which carries out a sequence-to-sequence global alignment using a distance matrix.
  455. ss_gg_align, a library which carries out a sequence-to-sequence global alignment using an affine gap penalty.
  456. ss_lg_align, a library which carries out a sequence-to-sequence local alignment using an affine gap penalty.
  457. ss_qg_align, a library which carries out a sequence-to-sequence quasi-global alignment using an affine gap penalty.
  458. starpac, a library which carries out statistical data analysis.
  459. st_io a library which reads and writes sparse linear systems stored in the ST "sparse triplet" Sparse Matrix format.
  460. st_to_dsp, a program which converts a sparse matrix file from ST format (zero-based indices) to DSP format (one-based indices);
  461. st_to_hb, a program which converts a sparse matrix file from ST format to HB format (Harwell Boeing format);
  462. steam, a library which is based on the NBS steam table package;
  463. steam_interact, a program which queries the NBS steam table package;
  464. stla_io, a library which reads and writes the 3D graphics information in an ASCII STL (stereolithography) file;
  465. stri_quad, a library which approximates an integral over a sphere using triangulation;
  466. stripack, a library which computes Delaunay triangulations and Voronoi diagrams on a sphere, Renka's ACM TOMS algorithm 772,
  467. stripack_interactive, a program which reads a file of points on a sphere, determines the Delaunay triangulation, and writes out a file describing the triangulation.
  468. stripper, a program which can perform a variety of file modifications (capitalization, remove control characters, and so on);
  469. stroud, a library which defines rules for numerical integration (quadrature) over M dimensional regions, including spheres, toruses and other shapes;
  470. subanagram, a program which finds words which are anagrams formed from some of the letters of a given master word.
  471. subpak, a library which implements a wide variety of operations on real and integer vectors and matrices;
  472. subset, a library which ranks, unranks, and generates random subsets, combinations, permutations, and so on;
  473. 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;
  474. svd_basis, a program which applies the singular value decomposition to a collection of data vectors, extracting dominant modes;
  475. svd_basis_weight, a program which applies the singular value decomposition to a collection of weighted data vectors, extracting dominant modes;
  476. svd_demo, a program which demonstrates the calculation of the singular value decomposition, and some of its properties;
  477. sweep2_delaunay_eps, a program which makes an EPS plot from the Delaunay triangulation information that is output by sweep2;
  478. sweep2_voronoi_eps, a program which makes an EPS plot of the Voronoi diagram information that is output by sweep2;
  479. sxyz_delaunay, a program which reads a file containing the coordinates of points on the unit sphere, computes the Delaunay triangulation, and outputs PostScript file of the image;
  480. sxyz_voronoi, a program which reads a file containing the coordinates of points on the unit sphere, computes the Voronoi diagram, and outputs PostScript file of the image;
  481. table_barplot_ppma, a program which reads a TABLE file of N rows of M numbers and makes a bar graph in the ASCII PPM file format;
  482. table_border, a program which reads a TABLE file representing a 2D array and adds a boundary layer of zero values.
  483. table_columns, a program which reads a TABLE file of N points in M dimensions and creates a new file by copying various columns, with repetition and shuffling;
  484. table_columns_permute, a program which reads a TABLE file where each line has COL_NUM values, and permutes the columns according to the user's prescription;
  485. table_delaunay, a program which reads a TABLE file of N points in 2 dimensions and writes out the Delaunay triangulation;
  486. table_diaphony, a program which reads a TABLE file of N points in M dimensions and computes its diaphony, a measure of the point dispersion.
  487. table_graph_code, a program which reads a TABLE file representing the adjacency matrix of a graph, and computes the graph code.
  488. table_histogram, a program which reads a TABLE file and histograms each column.
  489. table_io, a library which reads and writes a set of data as a TABLE file.
  490. table_latinize, a program which reads a TABLE file of N points in M dimensions and adjusts it to form a Latin hypercube.
  491. table_merge, a program which reads a TABLE file of N points in M dimensions, removes duplicates or points that are closer than some tolerance, and writes the reduced set of points to a file.
  492. table_orthonormalize, a program which reads a TABLE file of N points in M dimensions and orthonormalizes the columns;
  493. table_quality, a program which reads a TABLE file of N points in M dimensions and computes the uniformity of the placement of the points;
  494. table_record_match, a program which reads a TABLE file and seeks the closest pair of records;
  495. table_scale, a program which reads a TABLE file of N points in M dimensions and creates a copy with every entry scaled by a given scale vector.
  496. table_shift, a program which reads a TABLE file of N points in M dimensions, creates a copy with every entry shifted by a given displacement vector.
  497. table_stats, a program which reads a TABLE file of N points in M dimensions, and prints statistics (average, max, min, range).
  498. table_tet_mesh, a program which reads a TABLE file of N points in 3 dimensions and produces a tet mesh;
  499. table_top, a program which is given a TABLE file of multi_dimensional points, makes plots of all coordinate pairs;
  500. table_unborder, a program which reads a TABLE file representing a 2D array, and removes the boundary values.
  501. table_uniform_noise, a program which reads a TABLE file of N points in M dimensions, creates a copy with scaled uniform noise added to each entry.
  502. table_voronoi, a program which reads a TABLE file of N points in 2 dimensions, calls GEOMPACK to get Delaunay triangulation information, and then determines and prints the Voronoi diagram information;
  503. tanh_quad, a library which sets up the tanh quadrature rule;
  504. tanh_sinh_rule, a program which computes and writes out a tanh-sinh quadrature rule of given order.
  505. tec_io, a library which reads or writes a TEC file of finite element information;
  506. tec_to_fem, a program which reads a TEC file of finite element information and writes an equivalent set of FEM files (node coordinates/elements/node data);
  507. tec_to_obj, a program which reads a TEC file of finite element information and writes an equivalent Alias OBJ file;
  508. tec_to_obj2, a program which reads a TEC file of finite element information and writes an equivalent Alias OBJ file; This is a minor revision of tec_to_obj, which tries to handle multiple zones.
  509. tec_to_ucd, a program which reads a TEC file of finite element information and writes an equivalent AVS UCD (Unstructured Cell Data) file;
  510. tec_write, a library which writes a TEC file.
  511. templates, a library which forms basic implementations of iterative methods for solving large sparse linear systems;
  512. test_approx, a library which implements test functions for approximation and interpolation.
  513. test_con, a library which implements test problems for numerical continuation.
  514. test_eigen, a library which implements test matrices for eigenvalue analysis.
  515. test_int, a library which implements test problems for approximate integration (quadrature) in one dimension.
  516. test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
  517. test_int_hermite, a library which implements test problems for approximate integration over an infinite interval.
  518. test_int_laguerre, a library which implements test problems for approximate integration over a semi-infinite interval.
  519. test_interp, a library which defines test data for interpolation.
  520. test_mat, a library which implements test matrices.
  521. test_mesh, a library which implements some sample 2D meshes.
  522. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  523. test_nint, a library which implements test problems for approximate integration (quadrature) in M dimensions.
  524. test_nls, a library which implements nonlinear least squares test problems.
  525. test_nonlin, a library which implements test problems for the solution of systems of nonlinear equations.
  526. test_ode, a library which implements initial value (ODE) test problems.
  527. test_opt, a library which implements test problems for optimization of a scalar function of several variables.
  528. test_tet_mesh, a library which implements test problems for tetrahedralization or meshing of arbitrary regions in 3 dimensions.
  529. test_tri_int, a library which implements test functions for integration over a triangle in 2 dimensions.
  530. test_triangulation, a library which implements test problems for triangularization or meshing of arbitrary regions in 2 dimensions.
  531. test_values, a library which stores a small set of values for a variety of mathematical functions, suitable for a rough test of accuracy for algorithms.
  532. test_zero, a library which implements test problems for the solution of a single nonlinear equation in one variable.
  533. testpack, a program which demonstrates the use of a set of test integrand functions chosen by Alan Genz.
  534. tet_mesh, a library which carries out various tasks associated with tetrahedral meshes in 3D;
  535. tet_mesh_l2q, a program which reads information about a 4-node (linear) tet mesh and creates data defining a corresponding 10-node (quadratic) tet mesh;
  536. tet_mesh_q2l, a program which reads information about a 10-node (quadratic) tet mesh and creates data defining a corresponding 4-node (linear) tet mesh;
  537. tet_mesh_quality, a program which reads information about a tet mesh of points in 3D and computes various quality measures;
  538. tet_mesh_rcm, a program which computes the reverse Cuthill-McKee reordering for the nodes of a tet_mesh that uses 4-node or 10-node tetrahedrons;
  539. tet_mesh_refine, a program which refines a tet mesh;
  540. tet_mesh_tet_neighbors, a program which reads information about a tet mesh and writes out a list of the tetrahedrons that are adjacent to a given tetrahedron;
  541. tet_mesh_volumes is a program which computes the volume of each tetrahedron in a tet mesh;
  542. tetrahedron_monte_carlo, a program which uses the Monte Carlo method to estimate an integral over a tetrahedron.
  543. tetrahedron_properties, a program which prints out the properties of a tetrahedron whose vertex coordinates are read from a file;
  544. tiler_2d, a program which uses blending to map data into a 2D region;
  545. tiler_3d, a program which uses blending to map data into a 3D region;
  546. timer, a library which implements various real time and CPU time tests.
  547. timestamp, a library which prints the current YMDHMS date as a timestamp, and similar utilities.
  548. toeplitz, a library which implements Toeplitz matrix system solvers.
  549. toms178 a library which seeks the minimizer of a scalar function of several variables using the Hooke-Jeeves method;
    this is a FORTRAN90 version of ACM TOMS algorithm 178.
  550. toms179 a library which calculates the incomplete Beta ratio;
    this is a FORTRAN90 version of ACM TOMS algorithm 179.
  551. toms291 a library which approximates the logarithm of the Gamma function;
    this is a FORTRAN90 version of ACM TOMS algorithm 291.
  552. toms453 a library which determines the abscissas and weights for a Gaussian quadrature formula for Bromwich's integral;
    this is a FORTRAN90 version of ACM TOMS algorithm 453.
  553. toms462 a library which evaluates the bivariate normal distribution;
    this is ACM TOMS algorithm 462.
  554. toms552, a library which computes a solution of a constrained linear system. of a scalar function,
    this is a FORTRAN90 version of ACM TOMS algorithm 552;
  555. toms611, a library which implements unconstrained minimization of a scalar function,
    this is a FORTRAN90 version of ACM TOMS algorithm 611;
  556. toms647, a library which evaluates the Faure, Halton, and Sobol quasirandom sequences,
    this is a FORTRAN90 version of ACM TOMS algorithm 647;
  557. toms655 a library which computes computes the weights for interpolatory quadrature rule;
    this library is commonly called IQPACK;
    this is a FORTRAN90 version of ACM TOMS algorithm 655.
  558. 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.
  559. toms708, a library which evaluates the incomplete Beta function,
    this is a FORTRAN90 version of ACM TOMS algorithm 708;
  560. 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 a FORTRAN90 version of ACM TOMS algorithm 726.
  561. toms738, a library which evaluates Niederreiter's quasirandom sequence,
    this is a FORTRAN90 version of ACM TOMS algorithm 738;
  562. toms757, a library which evaluates uncommon special functions,
    this is a FORTRAN90 version of ACM TOMS algorithm 757;
  563. tri_surface_io, a library which reads and writes the 3D graphics information in an TRI_SURFACE file;
  564. triangle_histogram, a program which computes histograms of data on the unit triangle.
  565. triangle_monte_carlo, a program which uses the Monte Carlo method to estimate an integral over a triangle.
  566. triangle_properties, a program which computes properties of a triangle whose vertex coordinates are read from a file.
  567. triangulation, a library which computes, plots and manipulates the triangulation of a set of points in 2D;
  568. triangulation_boundary_nodes, a program which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file;
  569. triangulation_corner, a program which modifies triangulations in which one or more triangles have more than one boundary edge.
  570. triangulation_delaunay_discrepancy is a program which measures the amount by which a triangulation fails the local Delaunay test;
  571. triangulation_histogram, a program which computes histograms of data over a triangulation.
  572. triangulation_l2q, a program which reads information about a 3-node (linear) triangulation and creates data defining a corresponding 6-node (quadratic) triangulation;
  573. triangulation_mask, a program which reads a triangulation and calls a user-supplied routine to consider each triangle for deletion;
  574. triangulation_orient, a program which ensures that the triangles in an order 3 or order 6 triangulation have positive orientation;
  575. triangulation_plot, a program which plots the nodes and elements of a triangulation as a PostScript file;
  576. triangulation_q2l, a program which reads information about a 6-node triangulation and creates data defining a corresponding 3-node triangulation;
  577. triangulation_quad, a program which reads information about a triangulation and the value of a function at the nodes and estimates the integral of the function over the triangulated region.
  578. triangulation_quality, a program which reads information about a triangulation and computes various quality measures;
  579. triangulation_rcm, a program which computes the reverse Cuthill-McKee reordering for the nodes of a triangulation that uses 3-node or 6-node triangles;
  580. triangulation_refine, a program which refines a triangulation;
  581. triangulation_t3_to_t4 is a program which reads information about a 3-node triangulation and creates data defining a corresponding 4-node triangulation (vertices + centroid);
  582. triangulation_triangle_neighbors, a program which reads data defining a triangulation, finds the three neighbor triangles for each triangle, and writes them to a file;
  583. tripack, a library which computes constrained Delaunay triangulation in the plane, by Renka, ACM TOMS algorithm 751;
  584. uniform, a library which computes elements of a simple pseudorandom number sequence;
  585. uniform_dataset, a program which creates a uniform random dataset;
  586. van_der_corput, a library which computes elements of the van der Corput one-dimensional quasirandom sequence;
  587. van_der_corput_dataset, a program which creates a dataset of the van der Corput one-dimensional quasirandom sequence;
  588. vec_io, a library which reads and writes vectors of fixed size, to and from a disk file, in any order;
  589. vector_plot, a program which creates a PostScript file containing an image of a vector field (U(X,Y),V(X,Y));
  590. voronoi_plot, a program which plots the Voronoi neighborhoods of points in the 2D unit square, using L1, L2 or LInfinity norms;
  591. voronoi_weight, a program which estimates the volume of the Voronoi cells associated with N points in the M dimensional unit hypercube;
  592. vtk_io, a library which reads and writes VTK files.
  593. wandzura, a library which returns one of 6 Wandzura rules for quadrature in a triangle;
  594. wordsnake, a program which rearranges a list of words so that they have maximum overlap;
  595. wtime is a library which returns a reading of the wall clock time in seconds.
  596. xerror, a library which forms the SLATEC error message package.
  597. xlf_intrinsics, examples which illustrate the use of some of the intrinsic functions included by the IBM XLF compiler, above and beyond those specified in the FORTRAN language standards.
  598. xy_io, a library which reads and writes XY files.
  599. xyz_io, a library which reads and writes XYZ files.
  600. xyz_plot, a program which is an interactive plotter.
  601. xyz_to_pdb, a program which reads an XYZ file of spatial coordinates, and rewrites the information as atomic coordinates in a PDB file.
  602. ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method.
  603. ziggurat_open_mp, a program which demonstrates how the ZIGGURAT library can be used to generate random numbers in an OpenMP parallel program.
  604. zoomin, a library which finds the zero of a scalar function.

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


Last revised on 15 August 2009.