Source Codes in
Fortran90


  1. aitch, a FORTRAN90 program which solves for flow in an H-shaped region.
  2. aitch_test
  3. allocatable_array, a program which demonstrates how a FORTRAN main program can declare an allocatable array, pass it to a subroutine, which can then allocate it and fill it with data, and then return the allocated and initialized array to the calling program.
  4. alpert_rule, a library which can set up an Alpert quadrature rule for functions which are regular, log(x) singular, or 1/sqrt(x) singular.
  5. analemma, a program which evaluates the equation of time, a formula for the difference between the uniform 24 hour day and the actual position of the sun, creating data files that can be plotted with gnuplot, based on a C program by Brian Tung.
  6. analemma_test
  7. annulus_monte_carlo, a library which uses the Monte Carlo method to estimate the integral of a function over the interior of a circular annulus in 2D.
  8. annulus_rule, a library which computes a quadrature rule for estimating integrals of a function over the interior of a circular annulus in 2D.
  9. 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;
  10. arby4, a program which analyzes a 2D fluid flow using the reduced basis method.
  11. args, a program which reports the command line arguments of a FORTRAN90 program;
  12. arpack, a library which computes eigenvalues for large matrices, by Richard Lehoucq, Danny Sorensen, Chao Yang;
  13. arpack_test, FORTRAN90 programs which call arpack to compute eigenvalues for large matrices;
  14. asa005, a library which evaluates the lower tail of the noncentral Student's T distribution, by BE Cooper; this is a version of Applied Statistics Algorithm 5;
  15. asa006, a library which computes the Cholesky factor of a positive definite symmetric matrix, by Michael Healy; this is a version of Applied Statistics Algorithm 6;
  16. asa007, a library which computes the inverse of a positive definite symmetric matrix, by Michael Healy; this is a version of Applied Statistics Algorithm 7,
  17. asa032, a library which evaluates the incomplete Gamma function, by G Bhattacharjee; this is a version of Applied Statistics Algorithm 32;
  18. asa047, a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm, by R ONeill. This is a version of Applied Statistics Algorithm 47;
  19. asa053, a library which produces sample matrices from the Wishart distribution, by William Smith and Ronald Hocking. This is a version of Applied Statistics Algorithm 53.
  20. asa058, a library which carries out clustering of data, by David Sparks; this is a version of Applied Statistics Algorithm 58;
  21. asa063, a library which evaluates the incomplete Beta function, by KL Majumder and G Bhattacharjee; this is a version of Applied Statistics Algorithm 63;
  22. asa066, a library which computes the cumulative density function (CDF) of the standard normal distribution, by David Hill; this is a version of Applied Statistics Algorithm 66;
  23. asa076, a library which evaluates Owen's T function, by Young and Minder; this is a version of Applied Statistics Algorithm 76;
  24. asa091, a library which computes the percentage points of the Chi-square distribution, by Best and Roberts; this is a version of Applied Statistics Algorithm 91;
  25. asa103, a library which evaluates the digamma or psi function, by Jose Bernardo; this is a version of Applied Statistics Algorithm 103;
  26. asa109, a library which inverts the incomplete Beta function, by Cran, Martin and Thomas; this is a version of Applied Statistics Algorithm 109;
  27. asa111, a library which evaluates the percentage points of the normal distribution, by Beasley and Springer; this is a version of Applied Statistics Algorithm 111;
  28. asa113, a library which clusters data using a transfer and swap algorithm, by Banfield and Bassill; this is a version of Applied Statistics Algorithm 113;
  29. asa121, a library which evaluates the trigamma function, by BE Schneider; this is a version of Applied Statistics Algorithm 121;
  30. asa136, a library which implements a clustering algorithm, by Hartigan and Wong; this is a version of Applied Statistics Algorithm 136;
  31. asa144, a library which randomly generates tables with given row and column sums, by James Boyett; this is a version of Applied Statistics Algorithm 144;
  32. asa147, a library which evaluates the incomplete Gamma function, by Chi Leung Lau; this is a version of Applied Statistics Algorithm 147;
  33. asa152, a library which evaluates the probability density function (PDF) and cumulative density function (CDF) associated with the hypergeometric distribution, by Richard Lund; this is a version of Applied Statistics Algorithm 152;
  34. asa159, a library which computes a random table with given row and column sums, by Michael Patefield; this is a version of Applied Statistics Algorithm 159;
  35. asa172, a library which generates all multidimensional indices in a given range, simulating the behavior of an arbitrary number of nested loops, by OFlaherty and MacKenzie; this is a version of Applied Statistics Algorithm 172;
  36. asa183, a library which implements a random number generator (RNG), by Wichman and Hill; this is a version of Applied Statistics Algorithm 183;
  37. 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 a version of Applied Statistics Algorithm 189;
  38. asa205, a library which generates tables with given row and column sums; this is a version of Applied Statistics Algorithm 205;
  39. asa226, a library which evaluates the noncentral incomplete Beta function, by Russell Lenth; this is a version of Applied Statistics Algorithm 226;
  40. asa239, a library which evaluates the incomplete Gamma function, by Shea; this is a version of Applied Statistics Algorithm 239;
  41. asa241, a library which computes the inverse of the normal cumulative density function (CDF), by Michael Wichura; this is a version of Applied Statistics Algorithm 241;
  42. asa243, a library which evaluates the lower tail of the noncentral Student's T distribution, by Russell Lenth; this is a version of Applied Statistics Algorithm 243;
  43. asa245, a library which evaluates the logarithm of the Gamma function, by Allan Mcleod; this is a version of Applied Statistics Algorithm 245;
  44. asa266, a library which evaluates various properties of the Dirichlet probability density function (PDF); this is a version of Applied Statistics Algorithm 266;
  45. asa299, a library which computes the lattice points (integer coordinates) in an M-dimensional simplex, by Chasalow and Brand; this is a version of Applied Statistics Algorithm 299;
  46. asa310, a library which evaluates the noncentral incomplete Beta function, by Chattamvelli and Shanmugam; this is a version of Applied Statistics Algorithm 310;
  47. asa314, a library which computes the inverse of a matrix whose elements are subject to modulo arithmetic, by Roger Payne. This is a version of Applied Statistics Algorithm 314.
  48. atbash, a library which applies the Atbash substitution cipher to a string of text.
  49. backtrack_binary_rc, a library which carries out a backtrack search for a set of binary decisions, using reverse communication (RC).
  50. ball_grid, a library which computes grid points inside a 3D ball.
  51. ball_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit ball in 3D.
  52. ball_monte_carlo, a library which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit ball in 3D;
  53. 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.
  54. bank, a library which computes the check digit associated with a US Bank Routing Number check digit, or reports whether a 9-digit code is actually valid.
  55. barycentric_interp_1d, a library which defines and evaluates the barycentric Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i). The barycentric approach means that very high degree polynomials can safely be used.
  56. bdmlib, a library which estimates the weights in a Dirichlet mixtured based on sample data;
  57. bellman_ford, a library which implements the Bellman-Ford algorithm for finding the shortest distance from a given node to all other nodes in a directed graph whose edges have been assigned real-valued lengths.
  58. bernstein_polynomial, a library which evaluates the Bernstein polynomials;
  59. besselj, a library which evaluates Bessel J functions of noninteger order;
  60. beta_nc, a library which evaluates the cumulative density function (CDF) of the noncentral Beta distribution;
  61. bezier_surface, a library which reads, writes, prints and manipulates the data that defines a Bezier surface;
  62. bicycle_lock, a library which simulates the process of determining the secret combination of a bicycle lock, an integer between 000 and 999.
  63. bins, a library which orders, sorts and searches data using bins;
  64. bisection_integer, a library which seeks an integer solution to the equation F(X)=0, using bisection within a user-supplied change of sign interval [A,B].
  65. bisection_rc, a library which seeks a solution to the equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication (RC).
  66. bivar, a library which interpolates scattered bivariate data. This is a version of ACM TOMS algorithm 526, by Hiroshi Akima.
  67. black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, creating graphics files for processing by gnuplot, by Desmond Higham.
  68. blacs_test, FORTRAN90 programs which test blacs, the Basic Linear Algebra Communication Subprograms, which form a linear algebra-oriented message passing interface that may be implemented efficiently and uniformly across a large range of distributed memory platforms.
  69. blas, a library which contains the Basic Linear Algebra Subprograms (BLAS) for level 1, 2 and 3, for single and double precision, and for real and complex arithmetic.
  70. blas_osx, a program which demonstrates how to access the BLAS library on a Macintosh that is running the OSX operating system.
  71. blas0, a library which contains auxilliary functions for the Basic Linear Algebra Subprograms (BLAS).
  72. blas1_c, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), for vector-vector operations using single precision complex arithmetic, by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
  73. blas1_d, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), for vector-vector operations using double precision real arithmetic, by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
  74. blas1_s, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), for vector-vector operations using single precision real arithmetic, by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
  75. blas1_z, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), for vector-vector operations using double precision complex arithmetic, by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
  76. blas2_c, a library which constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS), for matrix-vector operations using single precision complex arithmetic.
  77. blas2_d, a library which constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS), for matrix-vector operations using double precision real arithmetic.
  78. blas2_s, a library which constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS), for matrix-vector operations using single precision real arithmetic.
  79. blas2_z, a library which constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS), for matrix-vector operations using double precision complex arithmetic.
  80. blas3_c, a library which constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS), for matrix-matrix operations using single precision complex arithmetic.
  81. blas3_d, a library which constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS), for matrix-matrix operations using double precision real arithmetic.
  82. blas3_s, a library which constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS), for matrix-matrix operations using single precision real arithmetic.
  83. blas3_z, a library which constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS), for matrix-matrix operations using double precision complex arithmetic.
  84. blend, a library which carries out 1D/2D/3D blending interpolation;
  85. 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;
  86. 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, including a reverse communication (RC) option, by Richard Brent.
  87. brent_test
  88. brownian_motion_simulation, a library which simulates Brownian motion in an M-dimensional region, creating graphics files for processing by gnuplot.
  89. bt_serial, a program which is a serial version of the NAS Parallel Benchmark BT (block tridiagonal solver for a 3D PDE).
  90. burgers_solution, a library which evaluates exact solutions of the time-dependent 1D viscous Burgers equation.
  91. bvec, a library which demonstrates how signed integers can be stored as binary vectors, and arithmetic can be performed on them.
  92. bvls, a library which applies linear least squares (LLS) methods to solve a system for which lower and upper constraints may have been placed on every variable, by Charles Lawson and Richard Hanson.
  93. c_comment, a program which makes a copy of a file in which C++ style comments have been replaced by C-style comments.
  94. c4lib, a library which implements certain elementary functions for single precision complex (C4) variables;
  95. c8lib, a library which implements certain elementary functions for double precision complex (C8) variables;
  96. caesar, a library which can apply a Caesar Shift Cipher to a string of text.
  97. calendar_nyt, a library which shows the correspondence between dates and the New York Times volume and issue number;
  98. calpak, a library which makes various calendar calculations;
  99. cauchy_principal_value, a library which uses Gauss-Legendre quadrature to estimate the Cauchy Principal Value (CPV) of certain singular integrals.
  100. cc_io a library which reads and writes sparse linear systems stored in the Compressed Column (CC) format.
  101. cc_to_st a library which converts a sparse matrix from compressed column (CC) to sparse triplet (ST) format.
  102. ccn_rule, a program which defines a one of a sequence of nested Clenshaw Curtis quadrature rules of any order.
  103. ccvt_box, a program which calculates a Centroidal Voronoi Tessellation (CVT) constrained to a box region, with points projected to the boundary;
  104. ccvt_reflect, a program which carries out a Centroidal Voronoi Tessellation (CVT) calculation that tries to include points on the boundary as well as the interior, using a natural (nonparametric) technique;
  105. cdflib, a library which evaluates the cumulative density function (CDF), inverse CDF, and certain other inverse functions, for distributions including beta, binomial, chi-square, noncentral chi-square, F, noncentral F, gamma, negative binomial, normal, Poisson, and students T, by Barry Brown, James Lovato, Kathy Russell.
  106. cell, a library which defines a cell array, a generalization of an array which can compactly store and retrieve vector or matrix data of varying size, such as the rows of a triangular matrix.
  107. cellular_automaton, a program which demonstrates the 1D Cellular Automaton known as rule #30.
  108. cg, a library which implements a simple version of the conjugate gradient (CG) method for solving a system of linear equations of the form A*x=b, suitable for situations in which the matrix A is positive definite (only real, positive eigenvalues) and symmetric.
  109. cg_rc, a library which implements the conjugate gradient method for solving a positive definite sparse linear system A*x=b, using reverse communication (RC).
  110. cg_serial, a program which is a serial version of the NAS Parallel Benchmark CG (conjugate gradient solver).
  111. change_making, a library which considers the change making problem, in which a given sum is to be formed using coins of various denominations.
  112. chebyshev, a library which computes the Chebyshev interpolant/approximant to a given function over an interval.
  113. chebyshev_interp_1d, a library which determines the combination of Chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).
  114. chebyshev_polynomial, a library which considers the Chebyshev polynomials T(i,x), U(i,x), V(i,x) and W(i,x). Functions are provided to evaluate the polynomials, determine their zeros, produce their polynomial coefficients, produce related quadrature rules, project other functions onto these polynomial bases, and integrate double and triple products of the polynomials.
  115. chebyshev_series, a library which can evaluate a Chebyshev series approximating a function f(x), while efficiently computing one, two or three derivatives of the series, which approximate f'(x), f''(x), and f'''(x), by Manfred Zimmer.
  116. chebyshev1_rule, a program which computes and writes out a Gauss-Chebyshev type 1 quadrature rule of given order.
  117. chebyshev2_rule, a program which computes and writes out a Gauss-Chebyshev type 2 quadrature rule of given order.
  118. chrpak, a library which manipulates characters and strings;
  119. circle_arc_grid, a program which computes grid points along a circular arc.
  120. circle_integrals, a library which returns the exact value of the integral of any monomial over the circumference of the unit circle in 2D.
  121. circle_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function along the circumference of the unit circle in 2D;
  122. circle_rule, a library which computes quadrature rules for the unit circle in 2D, that is, the circumference of the circle of radius 1 and center (0,0).
  123. circle_segment, a library which carries out computations associated with a circle segment, including height, angle, area, centroid, sampling, and quadrature, creating some graphics images using gnuplot.
  124. circle_test, a program which performs a circle-spacing test on sets of points;
  125. cities, a library which works with city-to-city distance matrices;
  126. clausen, a library which evaluates a Chebyshev interpolant to the Clausen function Cl2(x).
  127. clenshaw_curtis_rule, a program which implements a Clenshaw Curtis quadrature rule;
  128. cluster_energy, a program which computes the minimal cluster energy of a set of points;
  129. cnf_io, a library which reads or writes CNF data files, used to store boolean formulas in conjunctive normal form.
  130. codepack, a library which computes graph codes to compare two graphs;
  131. collatz_recursive, a library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
  132. continued_fraction a library which implements some simple algorithms for dealing with simple and generalized continued fractions.
  133. colored_noise, a library which generates samples of noise obeying a 1/f^alpha power law.
  134. colors, a library which converts between various formats for describing colors;
  135. combination_lock, a program which simulates the process of determining the secret combination of a lock.
  136. combo, a library which includes routines for ranking, unranking, enumerating and randomly selecting balanced sequences, cycles, graphs, Gray codes, subsets, partitions, permutations, restricted growth functions, Pruefer codes and trees.
  137. communicator_mpi, a program which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.
  138. 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.
  139. complex_numbers, a program which demonstrates some simple features involved in the use of complex numbers in FORTRAN90 programming.
  140. condition, a library which implements methods of computing or estimating the condition number of a matrix.
  141. cordic, a library which computes a few special functions using the CORDIC algorithm.
  142. correlation, a library which contains statistical correlation functions.
  143. cosine_transform, a library which demonstrates some simple properties of the discrete cosine transform (DCT).
  144. crystal_coordinates, a program which generates the spatial coordinates of a slab of points in 3D, using face-centered cubic (FCC) symmetry; these coordinates may be used for initialization of a molecular dynamics program;
  145. csv_io, a library which reads and writes files using the Comma Separated Value (CSV) format.
  146. cubpack, a library which estimates the integral of a function (or vector of functions) over a collection of M-dimensional hyperrectangles and simplices, by Alan Genz and Ronald Cools.
  147. cube_arbq_rule, a library which returns quadrature rules, with exactness up to total degree 15, over the interior of the symmetric cube in 3D, by Hong Xiao and Zydrunas Gimbutas.
  148. cube_exactness, a library which investigates the polynomial exactness of quadrature rules over the interior of a cube in 3D.
  149. cube_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a cube in 3D.
  150. cube_grid, a library which computes a grid of points over the interior of a cube in 3D.
  151. cube_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit cube in 3D.
  152. cube_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit cube in 3D.
  153. cuda_loop, a library which shows how, in a CUDA program, the user's choice of block and thread factors determines the allocation of tasks to processors.
  154. cvt, a library which computes an N point Centroidal Voronoi Tessellation (CVT) in M dimensions;
  155. cvt_basis, a program which uses discrete Centroidal Voronoi Tessellation (CVT) techniques to produce a small set of basis vectors that are good cluster centers for a large set of data vectors;
  156. cvt_basis_flow, a program which uses Centroidal Voronoi Tessellation (CVT) techniques to extract a small set of representative behaviors from a large set of solutions of a partial differential equation (PDE) representing fluid flow;
  157. cvt_dataset, a program which creates a Centroidal Voronoi Tessellation (CVT) dataset;
  158. cvt_movie5_data, a program which creates and saves data of a Centroidal Voronoi Tessellation (CVT) iteration, for use in a movie;
  159. cvt_triangulation, a program which applies Centroidal Voronoi Tessellation (CVT) techniques to the test_triangulation() set;
  160. cvtp, a library which creates a CVTP dataset, that is, a Centroidal Voronoi Tessellation on a periodic region.
  161. cycle_brent, a library which carries out an iterated function evaluation, and seeks to determine the nearest element of a cycle, and the cycle's length, using Brent's method.
  162. cycle_floyd, a library which carries out an iterated function evaluation, and seeks to determine the nearest element of a cycle, and the cycle's length, using Floyd's method.
  163. cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
  164. 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;
  165. diaphony, a program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.
  166. differ, determines the finite difference coefficients necessary in order to combine function values at known locations to compute an approximation of given accuracy to a derivative of a given order.
  167. dijkstra, a library which implements a simple version of Dijkstra's minimum distance algorithm for graphs.
  168. dijkstra_openmp, a program which uses OpenMP to parallelize a simple case of Dijkstra's minimum distance algorithm for graphs.
  169. discrete_pdf_sample_2d, a program which demonstrates how to construct a Probability Density Function (PDF) from a table of sample data, and then to use that PDF to create new samples.
  170. disk_grid, a library which computes grid points within the interior of a disk of user specified radius and center in 2D, using GNUPLOT to create an image of the grid.
  171. disk_monte_carlo, a library which applies a Monte Carlo method to estimate integrals of a function over the interior of the general disk in 2D;
  172. disk_rule, a library which computes quadrature rules for the general disk in 2D.
  173. disk01_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit disk in 2D.
  174. disk01_monte_carlo, a library which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit disk in 2D;
  175. disk01_quarter_monte_carlo, a library which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit quarter disk in 2D;
  176. disk01_rule, a library which computes quadrature rules for the unit disk in 2D, that is, the interior of the circle of radius 1 and center (0,0).
  177. dislin_test, programs which illustrate the use of DISLIN, a scientific graphics package, by Helmut Michels.
  178. distance_to_position, a program which estimates positions of cities based on a city-to-city distance table.
  179. divdif, a library which uses divided differences to compute the polynomial interpolant to a given set of data.
  180. dlap, a library which solves linear systems involving a large sparse matrix, by Anne Greenbaum and Mark Seager.
  181. dlap_io, a library which reads and writes DLAP sparse matrix files;
  182. doomsday, a library which is given the year, month and day of a date, and uses John Conway's doomsday algorithm to determine the corresponding day of the week.
  183. dqed, a library which solves bounded and constrained least squares problems and systems of nonlinear equations; a reverse communication (RC) option is included. The library is by Richard Hanson and Fred Krogh;
  184. dream, a program which implements the DREAM algorithm for accelerating Markov Chain Monte Carlo (MCMC) convergence using differential evolution, using five user functions to define the problem, by Guannan Zhang.
  185. duel_simulation, a program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
  186. dutch, a library which performs certain tasks in computational geometry;
  187. edge, a library which defines some test functions in 1D, 2D and 3D for the detection of edges or discontinuities, and using gnuplot to display the curves or surfaces.
  188. eispack, a library which carries out eigenvalue computations. It includes a function to compute the singular value decomposition (SVD) of a rectangular matrix. This library was superseded by LAPACK;
  189. eispack_test
  190. ellipse_grid, a library which computes grid points over the interior of an ellipse in 2D.
  191. ellipse_monte_carlo, a library which uses the Monte Carlo method to estimate the value of integrals over the interior of an ellipse in 2D.
  192. ellipsoid_grid, a library which computes a grid of points over the interior of an ellipsoid in 3D.
  193. ellipsoid_monte_carlo, a library which uses the Monte Carlo method to estimate the value of integrals over the interior of an ellipsoid in M dimensions.
  194. elliptic_integral, a library which evaluates complete elliptic integrals of first, second and third kind, using Carlson's elliptic integral functions.
  195. ep_serial, a program which is a serial version of the NAS Embarassingly Parallel (EP) benchmark program.
  196. errors, programs which illustrate the failure of numerical algorithms;
  197. exactness, a library which investigates the exactness of quadrature rules that estimate the integral of a function with a density, such as 1, exp(-x) or exp(-x^2), over an interval such as [-1,+1], [0,+oo) or (-oo,+oo).
  198. extract, a program which extracts one routine from a FORTRAN77 or FORTRAN90 file;
  199. f77_cleanup, a program which makes some minor improvements to the text of a FORTRAN77 file;
  200. f77_to_f90, a program which converts a FORTRAN77 file to FORTRAN90 format, by Michael Metcalfe;
  201. f90, programs which illustrate the use of various FORTRAN90 programming features;
  202. f90_calls_c, programs which illustrates how a FORTRAN90 program can call a C function.
  203. f90_calls_c_and_mpi, programs which illustrate how a FORTRAN90 program can call a C function while executing under the MPI parallel programming environment.
  204. f90_calls_c++, programs which illustrate how a FORTRAN90 program can call a C++ function.
  205. f90_calls_c++_and_mpi, programs which illustrate how a FORTRAN90 program can call a C++ function while executing under the MPI parallel programming environment.
  206. f90_calls_matlab, programs which illustrate how a FORTRAN90 program can interact with MATLAB;
  207. f90_condor, programs which illustrate how a FORTRAN90 program can be run in batch mode using the condor queueing system.
  208. f90_files, programs which illustrate the use of files.
  209. f90_intrinsics, programs which illustrate the use of various FORTRAN90 intrinsic functions and subroutines;
  210. f90_mistake, programs which illustrate some simple but devious programming mistakes in FORTRAN90.
  211. f90_module, programs which illustrate the use of FORTRAN90's module feature.
  212. f90_random, programs which illustrate FORTRAN90's random number generator (RNG) routines.
  213. f90_return, programs which illustrates how a FORTRAN90 program can return a program status value to the calling environment.
  214. f90_to_f77, a program which assists in the conversion of a FORTRAN90 file to FORTRAN77 format.
  215. f90split, a program which splits FORTRAN77 or FORTRAN90 source into individual files;
  216. fair_dice_simulation, a program which simulates N tosses of 2 dice, writing graphics files for processing by gnuplot.
  217. fastgl, a library which carries out the rapid computation of the Kth value and weight of an N point Gauss-Legendre quadrature rule, by Ignace Bogaert.
  218. faure, a library which computes elements of the Faure Quasi Mont Carlo (QMC) M-dimensional sequence;
  219. faure_dataset, a program which creates a Faure Quasi Mont Carlo (QMC) dataset;
  220. fd_predator_prey, a program which solves a pair of predator prey ordinary differential equations (ODE's) using the finite difference method (FDM).
  221. fd1d_advection_diffusion_steady, a program which applies the finite difference method (FDM) to solve the steady advection diffusion equation v*ux-k*uxx=0 in one spatial dimension, with constant velocity v and diffusivity k, writing graphics files for processing by gnuplot.
  222. fd1d_advection_ftcs, a program which applies the finite difference method (FDM) to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the forward time centered space (FTCS) method, writing graphics files for processing by gnuplot.
  223. fd1d_advection_lax, a program which applies the finite difference method (FDM) to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the Lax method to approximate the time derivative, writing graphics files for processing by gnuplot.
  224. fd1d_advection_lax_wendroff, a program which applies the finite difference method (FDM) to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the Lax-Wendroff method to approximate the time derivative, writing graphics files for processing by gnuplot.
  225. fd1d_burgers_lax, a program which applies the finite difference method (FDM) and the Lax Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  226. fd1d_burgers_leap, a program which applies the finite difference method (FDM) and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  227. fd1d_bvp, a program which applies the finite difference method (FDM) to a two point boundary value problem (BVP) in one spatial dimension.
  228. fd1d_heat_explicit, a library which implements a finite difference method (FDM), explicit in time, of the time dependent 1D heat equation;
  229. fd1d_heat_implicit, a program which implements a finite difference method (FDM), implicit in time, of the time dependent 1D heat equation;
  230. fd1d_heat_steady, a program which implements a finite difference method (FDM) for the steady (time independent) 1D heat equation;
  231. fd1d_predator_prey, a program which implements the finite difference method (FDM) for a 1D predator-prey system, creating graphics files for processing by gnuplot, by Marcus Garvie.
  232. fd1d_wave, a program which applies the finite difference method (FDM) to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.
  233. fd2d_heat_steady, a program which implements a finite difference method (FDM) for the steady (time independent) 2D heat equation;
  234. fd2d_predator_prey, a program which implements the finite difference method (FDM) for a 2D predator-prey system, by Marcus Garvie.
  235. fem_basis, a library which can define and evaluate basis functions associated with the finite element method (FEM) for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
  236. fem_io, a library which reads or writes FEM files, which describe the nodes, elements, and function values associated with a finite element method (FEM) model;
  237. fem_to_gmsh, a program which reads a pair of FEM files defining node coordinates and elements, of a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a Gmsh mesh file.
  238. fem_to_mesh, a program which reads a set of FEM files defining the node coordinates, boundary nodes, and elements of a finite element mesh, and rewrites the data as a MESH file.
  239. fem_to_medit, a program which reads a pair of FEM files defining node coordinates and elements, of a 2D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding MEDIT mesh file.
  240. 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 TECPLOT file.
  241. fem_to_triangle, a program which reads FEM files defining a 2D mesh of triangles, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding pair of node and element files for use by Jonathan Shewchuk's triangle() program.
  242. fem_to_xml, reads a pair of FEM files defining node coordinates and elements, of a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding XML file for input to dolfin() or fenics().
  243. fem1d, a program which applies the finite element method (FEM), using piecewise linear basis functions, to a linear two point boundary value problem (BVP) in 1D;
  244. fem1d_adaptive, a program which uses an adaptive mesh when applying the finite element method (FEM), with piecewise linear basis functions, to a linear two point boundary value problem (BVP) in 1D;
  245. fem1d_bvp_linear, a program which applies the finite element method (FEM), with piecewise linear elements, to a two point boundary value problem (BVP) in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
  246. fem1d_bvp_quadratic, a program which applies the finite element method (FEM), with piecewise quadratic elements, to a two point boundary value problem (BVP) in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
  247. fem1d_heat_steady, a program which implements the finite element method (FEM) for the steady (time independent) 1D heat equation;
  248. fem1d_lagrange, a library which sets up the matrices and vectors associated with the finite element method (FEM) solution of a boundary value problem (BVP) -u''+u=f(x), using Lagrange basis polynomials.
  249. fem1d_nonlinear, a program which applies the finite element method (FEM), with piecewise linear basis functions, to a nonlinear two point boundary value problem (BVP) in 1D;
  250. fem1d_pack, a library which contains utilities for 1D finite element method (FEM) calculations.
  251. fem1d_pmethod, a program which applies the p-method version of the finite element method (FEM) to a linear two point boundary value problem (BVP) in 1D;
  252. 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.
  253. 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.
  254. fem2d_bvp_linear, a program which applies the finite element method (FEM), with piecewise linear elements, to a 2D boundary value problem (BVP) in a rectangle, and compares the computed and exact solutions with the L2 and seminorm errors.
  255. fem2d_bvp_quadratic, a program which applies the finite element method (FEM), with piecewise quadratic elements, to a 2D boundary value problem (BVP) in a rectangle, and compares the computed and exact solutions with the L2 and seminorm errors.
  256. fem2d_bvp_serene, a program which applies the finite element method (FEM), with serendipity elements, to a 2D boundary value problem (BVP) in a rectangle, and compares the computed and exact solutions with the L2 and seminorm errors.
  257. fem2d_heat, a program which uses the finite element method (FEM) 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.
  258. fem2d_heat_rectangle, a program which implements the finite element method (FEM) for the time dependent heat equation on a triangulated square in 2D;
  259. fem2d_heat_square, a library which defines the geometry of a square region, as well as boundary and initial conditions for a given heat problem, and is called by fem2d_heat as part of a solution procedure.
  260. fem2d_pack, a library which implements simple 2D finite element method (FEM) calculations;
  261. fem2d_poisson, a program which uses the finite element method (FEM) to solve Poisson's equation on an arbitrary triangulated region in 2D; The user supplies some information in some problem-dependent subroutines.
  262. fem2d_poisson_cg, a program which solves Poisson's equation on a triangulated region, using the finite element method (FEM), sparse storage, and a conjugate gradient solver.
  263. fem2d_poisson_cg_baffle, a library which defines the geometry of a channel with 13 hexagonal baffles, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_cg as part of a solution procedure.
  264. fem2d_poisson_cg_ell, a library which defines the geometry of an L-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_cg as part of a solution procedure.
  265. fem2d_poisson_cg_lake, a library which defines the geometry of a lake-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_cg as part of a solution procedure.
  266. fem2d_poisson_ell, a library which defines the geometry of an L-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson as part of a solution procedure.
  267. fem2d_poisson_lake, a library which defines the geometry of a lake-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson as part of a solution procedure.
  268. fem2d_poisson_rectangle, a program which solves the 2D Poisson equation on a rectangle, using the finite element method (FEM), and piecewise quadratic triangular elements.
  269. fem2d_poisson_rectangle_linear, a program which solves the 2D Poisson equation on a rectangle, using the finite element method (FEM), and piecewise linear triangular elements.
  270. fem2d_poisson_sparse, a program which uses the finite element method (FEM) to solve Poisson's equation on an arbitrary triangulated region in 2D; This is a version of fem2d_poisson which replaces the banded storage and direct solver by a sparse storage format and an iterative solver.
  271. fem2d_poisson_sparse_baffle, a library which defines the geometry of a rectangular channel with 13 baffles, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_sparse as part of a solution procedure.
  272. fem2d_poisson_sparse_ell, a library which defines the geometry of an L-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_sparse as part of a solution procedure.
  273. fem2d_poisson_sparse_lake, a library which defines the geometry of a lake-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_sparse as part of a solution procedure.
  274. fem2d_project, a program which projects a function F(X,Y), given as data, into a given finite element space of piecewise linear triangular elements.
  275. fem2d_project_function, a program which projects a function F(X,Y), given as a formula, into a given finite element space of piecewise linear triangular elements.
  276. fem2d_sample, a program which samples at arbitray points a finite element function, defined by FEM files, three text files describing the nodes, triangles, and coefficients.
  277. fem3d_pack, a library which contains utilities for 3D finite element method (FEM) calculations.
  278. fem3d_project, 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.
  279. fem3d_sample, a program library which evaluates a finite element function defined on a 3D tetrahedral mesh.
  280. feynman_kac_1d, a program which demonstrates the use of the Feynman-Kac algorithm to solve Poisson's equation in a 1D interval by averaging stochastic paths to the boundary.
  281. 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.
  282. 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.
  283. fft_openmp, a program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.
  284. fft_serial, a program which computes a Fast Fourier Transform, and is intended as a starting point for implementing an OpenMP parallel version.
  285. fftpack5, a library which computes Fast Fourier transforms by Paul Swarztrauber and Dick Valent;
  286. fftpack5.1, a library which contains version 5.1 of the FFTPACK Fast Fourier Transform package, using single precision arithmetic, by Paul Swarztrauber and Dick Valent;
  287. fftpack5.1d, a library which contains version 5.1 of the FFTPACK Fast Fourier Transform package, using double precision arithmetic, by Paul Swarztrauber and Dick Valent;
  288. fftw_test, FORTRAN90 programs which illustrate the use of fftw, a Fast Fourier Transform package, by Matteo Frigo and Steven Johnson.
  289. file_column_reverse, a program which creates a copy of a file in which the columns are reverse, that is, the characters on each line appear in reverse order.
  290. file_name_sequence, a program which demonstrates ways to generate a sequence of filenames, which can be useful when generating a sequence of still snapshots to be animated later.
  291. file_row_reverse, a program which makes a copy of a file with the lines listed in reverse order.
  292. file_transpose, a program which makes a transposed copy of a file, in which the I-th word of the J-th line becomes the J-th word of the I-th line.
  293. files_multiple, a program which demonstrates how a program can open multiple output files at one time, and write data to any one specific file it chooses.
  294. filon, a library which can approximate integrals in which the integrand includes an oscillatory factor of sin(k*x) or cos(k*x).
  295. filum, a library which performs various operations on files;
  296. fire_serial, a program which simulates a forest fire over a rectangular array of trees, starting at a single random location. It is intended as a starting point for the development of a parallel version.
  297. fixcon, a program which converts FORTRAN77 continuation statements to the FORTRAN90 format;
  298. floyd, a library which implements Floyd's algorithm for finding the shortest distance between pairs of nodes on a directed graph.
  299. fn, a library which evaluates elementary and special functions using Chebyshev polynomials, including Airy, Bessel I, Bessel J, Bessel K, Bessel Y, beta, confluent hypergeometric, cosine integral, Dawson's integral, digamma (psi), error, exponential integral, gamma, hyperbolic cosine integral, hyperbolic sine integral, incomplete gamma, log gamma, logarithmic integral, Pochhammer, psi, sine integral, Spence; by Wayne Fullerton.
  300. football, a program which ranks football teams based on scores;
  301. freefem++_msh_io, a library which can read and write files used by the FreeFem++ finite element program to store mesh information.
  302. gdb, programs which illustrate the use of the gnu debugger program on a FORTRAN90 program;
  303. gegenbauer_cc, a library which computes the Gegenbauer weighted integral of a function f(x) using a Clenshaw-Curtis approach.
  304. gegenbauer_exactness, a program which tests the polynomial exactness of Gauss-Gegenbauer quadrature rules.
  305. gegenbauer_polynomial, a library which evaluates the Gegenbauer polynomial and associated functions.
  306. gegenbauer_rule, a program which computes and writes out a Gauss-Gegenbauer quadrature rule of given order.
  307. gen_hermite_rule, a program which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value.
  308. gen_hermite_rule_ss, a program which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value, using a Stroud and Secrest algorithm.
  309. gen_laguerre_rule, a program which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value.
  310. gen_laguerre_rule, a program which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value, using a Stroud and Secrest algorithm.
  311. gene_cluster, a program which clusters sets of genetic expression data;
  312. geometry, a library which performs geometric calculations in 2, 3 and M dimensional space, including the computation of angles, areas, containment, distances, intersections, lengths, and volumes.
  313. geqp3, a library which contains the portion of the LAPACK library that carries out the QR factorization, with column pivoting, of an M by N rectangular matrix, with N <= M.
  314. gfortran, programs which investigate the use of the gfortran compiler with FORTRAN90 code.
  315. 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.
  316. gfortran_quadmath, a program which illustrates the use of quadruple precision real arithmetic, as provided on some systems by the gfortran compiler for FORTRAN90.
  317. gmsh_io, a library which can read or write some of the files created by the Gmsh program for 1D, 2D or 3D meshes used by the finite element method (FEM).
  318. gmsh_to_fem, a program which reads a mesh data file created by the GMSH program and writes a pair of node and element files that correspond to the FEM format.
  319. gnufor, a library which provides an interface between a program and the gnuplot graphics library.
  320. gnuplot_test, programs which illustrate how a program can write data and command files so that gnuplot can create plots of the program results.
  321. gprof_test, programs which illustrate the use of the gprof program performance monitor;
  322. grafpack, a library which performs calculations on graphs;
  323. graph_paper, a library which makes PostScript (PS) graph paper;
  324. graphics_examples, programs which illustrate how various kinds of data can be displayed and analyzed graphically.
  325. grf_io, a library which reads or writes a GRF file which displays a mathematical graph;
  326. grf_to_eps, a program which converts a 2D graphics file from GRF format to Encapsulated PostScript (EPS) format;
  327. grf_to_xyl, a program which converts information describing an abstract graph from GRF to XYL format.
  328. grid, a library which randomly selects N distinct points from a uniform grid in the unit hypercube in M-dimensional space.
  329. haar, a library which computes the Haar transform of data.
  330. halton, a library which computes elements of a Halton Quasi Monte Carlo (QMC) sequence, using a simple interface.
  331. halton_advanced, a library which calculates the Halton M dimensional Quasi Mont Carlo (QMC) sequence, using an advanced interface with many input quantities.
  332. halton_dataset, a program which creates a Halton Quasi Mont Carlo (QMC) dataset;
  333. hammersley, a library which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.
  334. hammersley_advanced, a library which computes elements of the Hammersley M-dimensional Quasi Mont Carlo (QMC) sequence using an advanced interface with many input options;
  335. hammersley_dataset, a program which creates a Hammersley Quasi Mont Carlo (QMC) dataset;
  336. hankel_cholesky, a library which computes the upper Cholesky factor R of a nonnegative definite symmetric H matrix so that H = R' * R.
  337. hankel_pds, a library which can compute a lower triangular matrix L which is the Cholesky factor of a positive definite (symmetric) Hankel matrix H, that is, H = L * L'.
  338. hb_io, a library which reads and writes files in the Harwell Boeing (HB) sparse matrix format; It is intended to handle the full variety of such formats.
  339. hb_read, a library which reads files in the Harwell Boeing (HB) sparse matrix format; This is a simplified interface intended to handle only the most common format, complex unsymmetric assembled (CUA) or real unsymmetric assembled (RUA).
  340. hb_to_st, a program which reads a sparse matrix in a Harwell Boeing (HB) file and writes an equivalent Sparse Triplet (ST) file.
  341. hdf5_test, programs which demonstrate the use of the HDF5 library and file format.
  342. heat_mpi, a program which solves the 1D time dependent heat equation using the Message Passing Interface (MPI).
  343. 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.
  344. heated_plate_openmp, a program which solves the steady (time independent) heat equation in a 2D rectangular region, using OpenMP to run in parallel.
  345. heated_plate_workshare, a program which solves the steady (time independent) heat equation in a 2D rectangular region, using OpenMP's workshare directive to run in parallel; the results suggest that workshare is not supported by the gfortran and ifort compilers!
  346. hello, a program which prints out "Hello, world!".
  347. hello_mpi, a program which prints out "Hello, world!" using MPI for parallel programming.
  348. hello_openmp, a program which prints out "Hello, world!" within the OpenMP parallel programming environment.
  349. hermite, a library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
  350. 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.
  351. hermite_exactness, a program which tests the polynomial exactness of Gauss-Hermite quadrature rules to estimate the integral of f(x) with density exp(-x^2) over the interval (-oo,+oo).
  352. hermite_polynomial, a library which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.
  353. hermite_product_polynomial, a library which defines Hermite product polynomials, creating a multivariate polynomial as the product of univariate Hermite polynomials.
  354. hermite_rule, a program which computes and writes out a Gauss-Hermite quadrature rule to estimate the integral of a function with density exp(-x^2) over the interval (-oo,+oo).
  355. hermite_rule_ss, a program which computes and writes out a Gauss-Hermite quadrature rule to estimate the integral of a function with density exp(-x^2) over the interval (-oo,+oo), using a Stroud and Secrest algorithm.
  356. hermite_test_int, a library which defines test integrands for Hermite integrals with density exp(-x^2) over the interval (-oo,+oo).
  357. hex_grid_angle a library which produces a hexagonal grid of points in the unit square or an arbitrary box, allowing the user to specify an arbitrary center, angle, and grid density.
  358. hex_grid_dataset a program which allows the user to interactively create a dataset of points on a hexagonal grid.
  359. hex_grid_triangulate a program which picks out those points on a hex grid which lie inside a given triangulation region.
  360. high_card_simulation, a program which simulates a situation in which you see the cards in a deck one by one, and must select the one you think is the highest and stop; the program uses gnuplot to create a graph of the results.
  361. hilbert_curve, a library which computes the sequence of discrete Hilbert curves whose limit is a space-filling curve.
  362. histogram_data_2d_sample, a program which demonstrates how to construct a Probability Density Function (PDF) from sample data over a 2D domain, and then to use that PDF to create new samples.
  363. hyperball_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit hyperball in M dimensions.
  364. hyperball_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit ball in M dimensions;
  365. hyperball_volume_monte_carlo, a program which applies a Monte Carlo procedure to estimate the volume of the unit ball in M dimensions;
  366. hyperball_volume_quad, a program which applies a quadrature rule to estimate the volume of the unit ball in M dimensions.
  367. hypercube_exactness, a program which tests the polynomial exactness of a quadrature rule over the interior of the unit hypercube in M dimensions.
  368. hypercube_grid, a library which computes a grid of points over the interior of a hypercube in M dimensions.
  369. hypercube_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit hypercube in M dimensions.
  370. hypercube_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit hypercube in M dimensions.
  371. hypersphere_integrals, a library which returns the exact value of the integral of any monomial over the surface of the unit hypersphere in M dimensions.
  372. hypersphere_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in M dimensions;
  373. hypersphere_properties, a library which carries out various operations for an M dimensional hypersphere, including converting between Cartesian and spherical coordinates, stereographic projection, sampling the surface of the sphere, and computing the surface area and volume.
  374. i4lib, a library which contains many utility routines, using single precision integer (I4) arithmetic.
  375. i8lib, a library which contains many utility routines, using double precision integer (I8) arithmetic.
  376. ice_io, a library which can read or write an ICE dataset, which defines a 3D grid, using the NETCDF file format.
  377. ice_to_mesh, a program which reads a NETCDF file containing an ICE dataset and rewrites the information as a MESH file.
  378. ieee_uniform_sample, a library which tries to uniformly sample the discrete set of values that represent the legal IEEE real numbers;
  379. ihs, a library which implements the Improved Distributed Hypercube Sampling method, regarded as a Quasi Mont Carlo (QMC) M-dimensional sequence;
  380. ihs_dataset, a program which creates an Improved Distributed Hypercube Sampling dataset;
  381. image_components, a library which seeks the connected nonzero or nonblack components of an image or integer array.
  382. image_denoise, a library which applies simple filtering operations to a noisy image.
  383. image_edge, a library which demonstrates a simple procedure for edge detection in images.
  384. include_files, a program which reads a FORTRAN90 file with include statements, and makes a copy in which the indicated files have been included;
  385. index, a library which converts a multidimensional vector index to a one-dimensional vector index; it can handle zero and one based indexing schemes, as well as column major and row major conventions.
  386. int_exactness, a program which tests polynomial exactness of quadrature rules for a finite interval;
  387. int_exactness_chebyshev1, a program which tests polynomial exactness of Gauss-Chebyshev type 1 quadrature rules.
  388. int_exactness_chebyshev2, a program which tests polynomial exactness of Gauss-Chebyshev type 2 quadrature rules.
  389. int_exactness_gen_hermite, a program which tests the polynomial exactness of generalized Gauss-Hermite quadrature rules.
  390. int_exactness_gen_laguerre, a program which tests the polynomial exactness of generalized Gauss-Laguerre quadrature rules.
  391. integral_test, a program which tests the use of Quasi Mont Carlo (QMC) points (or any set of points) to approximate an M-dimensional integral;
  392. interp, a library which can be used for parameterizing and interpolating data;
  393. intlib, a library which carries out approximate integration (quadrature) in one dimension;
  394. isbn, a library which can determine the check digit for an International Standard Book Number or report whether a given ISBN is valid.
  395. ising_2d_simulation, a program which simulates evolution of a 2D array of positive and negative charges, each of which is likely to flip to be in agreement with neighbors, using gnuplot to make images of the initial and final configurations.
  396. ising_3d_simulation, a program which simulates evolution of a 3D array of positive and negative charges, each of which is likely to flip to be in agreement with neighbors.
  397. ivread, a program which carries out 3D graphic file conversion;
  398. jacobi, a program which implements the Jacobi iteration for the iterative solution of linear systems.
  399. jacobi_eigenvalue, a library which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.
  400. jacobi_exactness, a program which tests the polynomial exactness of rules for integrals with a Jacobi weight function.
  401. jacobi_openmp, a program which illustrates the use of the OpenMP application program interface to parallelize a Jacobi iteration solving A*x=b.
  402. jacobi_polynomial, a library which evaluates the Jacobi polynomial and associated functions.
  403. jacobi_rule, a program which computes and writes out a Gauss-Jacobi quadrature rule of given order.
  404. jacobi_rule_ss, a program which computes and writes out a Gauss-Jacobi quadrature rule of given order, using a Stroud and Secrest algorithm.
  405. jacobi_rule_ss, a program which computes and writes out a Gauss-Jacobi quadrature rule of given order, using Stroud and Secrest algorithms.
  406. kmeans, a library which handles the K-Means problem, which organizes a set of N points in M dimensions into K clusters;
  407. knapsack_01, a library which uses brute force to solve small versions of the 0/1 knapsack problem;
  408. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
  409. l4lib, a library which contains many utility routines, using one byte logical (L4) variables.
  410. lagrange_approx_1d, a library which defines and evaluates the Lagrange polynomial p(x) of degree m which approximates a set of nd data points (x(i),y(i)).
  411. lagrange_interp_1d, a library which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data depending on a 1D argument, so that p(x(i)) = y(i).
  412. lagrange_interp_2d, a library which defines and evaluates the Lagrange polynomial p(x,y) which interpolates a set of data depending on a 2D argument that was evaluated on a product grid, so that p(x(i),y(j)) = z(i,j).
  413. lagrange_interp_nd, a library which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data depending on a multidimensional argument that was evaluated on a product grid, so that p(x(i)) = z(i).
  414. lagrange_nd, a library which implements several multivariate Lagrange interpolation schemes developed by Tomas Sauer.
  415. laguerre_exactness, a program which tests the polynomial exactness of Gauss-Hermite quadrature rules for estimating the integral of a function with density exp(-x) over the interval [0,+oo).
  416. laguerre_polynomial, a library which evaluates the Laguerre polynomial, the generalized Laguerre polynomials, and the Laguerre function.
  417. laguerre_rule, a program which computes and writes out a Gauss-Laguerre quadrature rule for estimating the integral of a function with density exp(-x) over the interval [0,+oo).
  418. laguerre_rule_ss, a program which computes a Gauss-Laguerre quadrature rule of given order, and writes it to a file, using a Stroud and Secrest algorithm.
  419. laguerre_test_int, a library which implements test problems for quadrature rules for estimating the integral of a function with density exp(-x) over the interval [0,+oo).
  420. lapack_eigen_test, a program which tests some of the LAPACK eigenvalue functions.
  421. lapack_d, a library which is a FORTRAN90 version of the double precision real LAPACK linear algebra library.
  422. lapack_f77, a program which calls the FORTRAN77 LAPACK linear algebra library.
  423. lapack_osx, a program which calls the Apple Macintosh OSX version of the LAPACK linear algebra library.
  424. lapack_s, a library which is a FORTRAN90 version of the single precision real LAPACK linear algebra library.
  425. laplacian, a library which carries out computations related to the discrete Laplacian operator, including full or sparse evaluation, evaluation for unequally spaced data sampling points, application to a set of data samples, solution of associated linear systems, eigenvalues and eigenvectors, and extension to 2D and 3D geometry.
  426. latin_center, a library which produces N points in an M-dimensional Latin Center Hypercube.
  427. latin_center_dataset, a program which creates a Latin Center Hypercube dataset;
  428. latin_cover, a library which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.
  429. latin_edge, a library which produces N points in an M-dimensional Latin Edge Hypercube.
  430. latin_edge_dataset, a program which creates a Latin Edge Hypercube dataset;
  431. latin_random, a library which produces N points in an M-dimensional Latin Random Hypercube.
  432. latin_random_dataset, a program which creates a Latin Random Hypercube dataset;
  433. latinize, a library which adjusts N points in M dimensions to form a Latin hypercube.
  434. lattice_rule, a library which returns lattice rules for M-dimensional integration;
  435. lau_np, a library which implements heuristic algorithms for various NP-hard combinatorial problems, including the integer linear programming problem, the K-center problem, the K-median problem, the 0-1 knapsack problem, the multiple knapsack problem, the graph matching problem, the graph partitioning problem, the minimal Steiner tree problem, and the traveling salesman problem;
  436. laupack, a library which carries out various operations on graphs.
  437. lawson, a library which contains routines for solving linear least squares (LLS) problems and using the singular value decomposition (SVD), by Lawson and Hanson.
  438. lcvt, a library which creates a sort of Latin Square Centroidal Voronoi Tessellation (CVT);
  439. lcvt_dataset, a program which creates a Latin Square Centroidal Voronoi Tessellation (CVT) dataset
  440. lebesgue, a library which is given a set of nodes in 1D, and plots the Lebesgue function, and estimates the Lebesgue constant, which measures the maximum magnitude of the potential error of Lagrange polynomial interpolation.
  441. legendre_exactness, a program which tests the monomial exactness of quadrature rules for the Legendre problem of integrating a function with density 1 over the interval [-1,+1].
  442. legendre_polynomial, a library which evaluates the Legendre polynomial and associated functions.
  443. legendre_product_polynomial, a library which defines Legendre product polynomials, creating a multivariate polynomial as the product of univariate Legendre polynomials.
  444. legendre_rule, a program which computes and writes out a Gauss-Legendre quadrature rule of given order.
  445. legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule.
  446. legendre_shifted_polynomial, a library which evaluates the shifted Legendre polynomial, with the domain [0,1].
  447. levenshtein, a library which returns the Levenshtein distance between two strings.
  448. life_serial, a program which computes a few steps of the evolution of John Conway's Game of Life, intended as a starting point for implementing a parallel version.
  449. line_cvt_lloyd, a library which applies Lloyd's iteration repeatedly to a set of N points, to compute a Centroidal Voronoi Tessellation (CVT) over the interior of a line segment in 1D.
  450. line_fekete_rule, a library which estimates the location of N Fekete points, for polynomial interpolation or quadrature, over the interior of a line segment in 1D.
  451. line_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a line segment in 1D.
  452. line_grid, a library which computes a grid of points over the interior of a line segment in 1D.
  453. line_integrals, a library which returns the exact value of the integral of any monomial over the length of the unit line in 1D.
  454. line_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the length of the unit line in 1D.
  455. line_ncc_rule, a library which computes a Newton Cotes Closed (NCC) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.
  456. line_nco_rule, a library which computes a Newton Cotes Open (NCO) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.
  457. linpack, a library which solves linear systems for a variety of matrix storage schemes, real or complex arithmetic, and single or double precision. It includes a routine for computing the singular value decomposition (SVD) of a rectangular matrix. The original version of this library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
  458. linpack_bench, a program which carries out the LINPACK benchmark;
  459. linpack_c, a library which factors and solves linear systems using single precision complex arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
  460. linpack_d, a library which factors and solves linear systems using double precision real arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
  461. linpack_q, a library which implements a few of the LINPACK library of linear solvers, using quadruple precision.
  462. linpack_s, a library which factors and solves linear systems using single precision real arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
  463. linpack_z, a library which factors and solves linear systems using double precision complex arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
  464. linplus_c8, a library which carries out various linear algebra operations on complex matrices for matrices in a variety of formats, including tridiagonal, circulant, general, and toeplitz.
  465. llsq, a library which solves the simple linear least squares (LLS) problem of finding the formula of a straight line y=a*x+b which minimizes the root mean square error to a set of N data points.
  466. llsq_test
  467. lobatto_polynomial, a library which evaluates Lobatto polynomials similar to Legendre polynomials except that they are 0 at both endpoints.
  468. local_min_rc, a library which finds a local minimum of a scalar function of a scalar variable, without the use of derivative information, using reverse communication (RC), by Richard Brent.
  469. log_normal, a library which returns quantities related to the log normal Probability Distribution Function (PDF).
  470. log_normal_truncated_ab, a library which returns quantities related to the log normal Probability Distribution Function (PDF) truncated to the interval [A,B].
  471. lorenz_ode, a program which approximates solutions to the Lorenz system, creating output files that can be displayed by Gnuplot.
  472. luhn, a library which can compute the Luhn check digit for a string, or verify a string, as used for error detection in credit card numbers.
  473. machar, a library which dynamically computes the values of various machine characteristic constants by William Cody;
  474. machine, a library which returns tabulated values of the constants associated with computer arithmetic;
  475. makefiles, programs which illustrate the use of makefiles for maintaining a software project;
  476. mandelbrot, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot fractal set;
  477. mandelbrot_openmp, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot fractal set, using OpenMP for parallel execution;
  478. mario, a program which creates a sort of "needlepoint" image of Mario, as an array of colored squares.
  479. matman, a program which manipulates matrices;
  480. matmul, a program which carries out a matrix multiplication benchmark;
  481. matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix;
  482. md, a program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version;
  483. md_openmp, a program which carries out a molecular dynamics simulation in parallel using OpenMP;
  484. medit_io, a library which can read or write files used by the MEDIT program, which can be used to define the a mesh associated with the finite element method (FEM) in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.
  485. medit_to_fem, a program which reads a mesh file created by the MEDIT program and writes a corresponding pair of node and element files that correspond to the FEM format.
  486. memory_test, a program which tests the memory available on the computer by declaring and using big vectors;
  487. mesh_bandwidth, a program which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of M dimensions.
  488. mesh_io, a library which reads or writes MESH files defining a finite element mesh.
  489. mesh_to_ice, a program which reads a MESH file containing an ICE dataset and rewrites the information as a NETCDF file.
  490. meshless, a library which uses a centroidal Voronoi tessellation (CVT) to determine a meshless grid;
  491. metis_test, programs which use metis to partition unstructured graphs or meshes, and compute fill-reducing reorderings of sparse matrices.
  492. mgmres, a library which applies the restarted Generalized Minimum Residual (GMRES) algorithm to solve a sparse linear system, using compressed row (CR) or sparse triplet (ST) format, by Lili Ju.
  493. mgs, a library which is a legacy code, which the student is encouraged to study, understand, and document, by Diane O'Leary.
  494. minpack, a library which solves linear least square (LLS) and nonlinear least squares (NLS) problems, by Jorge More, Danny Sorenson, Burton Garbow, Kenneth Hillstrom.
  495. mixed, programs which illustrate the used of mixed language programming in which the main program is written in FORTRAN90;
  496. mixture, a program which simulates a process governed by a Dirichlet mixture distribution.
  497. mm_io, a library which reads or writes sparse matrices that use the Matrix Market (MM) sparse matrix file format.
  498. monomial, a library which enumerates, lists, ranks, unranks and randomizes multivariate monomials in a space of M dimensions, with total degree less than N, equal to N, or lying within a given range.
  499. monomial_value, a library which evaluates a monomial in M dimensions.
  500. monte_carlo_rule, a program which generates a dataset of N random M-dimensional points, regards it as a quadrature rule for the unit hypercube, and writes out three files of information.
  501. movie_data_reformat, a program which reformats movie data, copied from THE NUMBERS movie data web page, into a CSV format suitable for input to Excel, or a statistical analysis package such as R.
  502. mpi, programs which illustrate the use of the message passing interface (MPI) for parallel processing on distributed memory systems;
  503. 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.
  504. multigrid_poisson_1d, a library which applies the multigrid method to a discretized version of the 1D Poisson equation.
  505. multitask_mpi, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.
  506. multitask_openmp, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using OpenMP for parallel execution.
  507. mumps_test, FORTRAN90 programs which illustrate the use of MUMPS, which is a package for the solution of large linear systems.
  508. 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.
  509. mxm_openmp, a program which computes a dense matrix product C=A*B, using OpenMP for parallel execution.
  510. mxm_serial, a program which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.
  511. naca, a library which can take the parameters of certain NACA airfoils and return the coordinates of a sequence of points that outline the wing shape. The points can be plotted with gnuplot.
  512. nas, a program which runs the NASA kernel benchmark.
  513. navier_stokes_2d_exact, a library which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations over an arbitrary domain in 2D.
  514. navier_stokes_3d_exact, a library which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations over an arbitrary domain in 3D.
  515. nearest_interp_1d, a library which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion, creating graphics files for processing by gnuplot.
  516. neighbors_to_metis_graph, a program which reads a file describing the neighbor structure of a triangulation or tet mesh, and writes a metis graph file suitable for input to one of the family of programs based on metis;
  517. netcdf_test, programs which read and write netcdf files.
  518. newton_interp_1d, a library which finds a polynomial interpolant to data using Newton divided differences.
  519. niederreiter, a library which computes elements of the Niederreiter Quasi Mont Carlo (QMC) M-dimensional sequence, using an arbitrary base;
  520. niederreiter2, a library which computes elements of the Niederreiter Quasi Mont Carlo (QMC) M-dimensional sequence, using base 2;
  521. niederreiter2_dataset, a program which creates a Niederreiter Quasi Mont Carlo (QMC) dataset with base 2;
  522. nint_exactness_mixed, a program which measures the polynomial exactness of a M-dimensional quadrature rule based on a mixture of 1D quadrature rule factors.
  523. nintlib, a library which carries out approximate integration (quadrature) in M dimensions;
  524. nl2sol, a library which implements an adaptive nonlinear least squares (NLS) algorithm, by John Dennis, David Gay, Roy Welsch.
  525. nms,- a library which includes a wide variety of numerical software, including solvers for linear systems of equations, interpolation of data, numerical quadrature, linear least squares (LLS) data fitting, the solution of nonlinear equations, ordinary differential equations (ODE's), optimization and nonlinear least squares (NLS), simulation and random numbers, trigonometric approximation and Fast Fourier Transforms (FFT).
  526. normal, a library which implements a random number generator (RNG) for normally distributed values;
  527. normal_dataset, a program which creates a multivariate normal random dataset;
  528. nsasm, a library which computes the jacobian matrix associated with a finite element approximation of the incompressible steady (time independent) Navier-Stokes equations in 2D, and to store these as a sparse matrix.
  529. nspcg, a library which carries out the iterative solution of large nonsymmetric systems of linear equations. The package includes a variety of matrix storage formats, preconditioners, and solvers.
  530. obj_io, a library which reads and writes the 3D graphics information in an Alias OBJ file;
  531. ode, a library which solves a system of ordinary differential equations, by Shampine and Gordon;
  532. openmp, programs which illustrate the use of OpenMP for parallel execution;
  533. 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.
  534. optimize, a program which looks at the use of automatic optimization by the compiler to make the executable code run faster.
  535. ornstein_uhlenbeck, a library which approximates solutions of the Ornstein-Uhlenbeck stochastic ordinary differential equation (SODE) using the Euler method, the Euler-Maruyama method, and the Milstein method, and creating graphics files for processing by gnuplot.
  536. owens, a library which evaluates Owen's T function;
  537. padua, a library which returns the coordinates of the 2D Padua points, as well as interpolation weights or quadrature weights, and images of the points in gnuplot graphics files.
  538. partial_digest, a library which solves the partial digest problem;
  539. partition_problem, a library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
  540. patterson_rule, a program which returns the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.
  541. patterson_rule_compute, a program which computes the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.
  542. pblas_test, FORTRAN90 programs which test pblas, the parallel basic linear algebra subprograms;
  543. pbma_io, a library which reads or writes ASCII Portable Bit Map (PBM) 2D graphics files;
  544. pbmlib, a library which reads or writes graphics files in the Portable Bit Map (PBM) format;
  545. pce_burgers, a program which defines and solves a version of the time-dependent viscous Burgers equation, with uncertain viscosity, using a polynomial chaos expansion in terms of Hermite polynomials, by Gianluca Iaccarino.
  546. pce_ode_hermite, a program which sets up a simple scalar ordinary differential equation (ODE) for exponential decay with an uncertain decay rate, using a polynomial chaos expansion in terms of Hermite polynomials.
  547. pchip, a library which can construct a piecewise cubic Hermite interpolant to data, and carry out various related operations, by Fred Fritsch.
  548. pdflib, a library which evaluates Probability Density Functions (PDF's) and produces random samples from them, including beta, binomial, chi, exponential, gamma, inverse chi, inverse gamma, multinomial, normal, scaled inverse chi, and uniform.
  549. pentominoes, a library which provides some utilities for manipulating pentominoes.
  550. petsc_test, FORTRAN90 programs which illustrate the use of PETSC, a suite of data structures and routines for the scalable parallel solution of scientific applications modeled by partial differential equations.
  551. pgma_io, a library which reads or writes ASCII Portable Gray Map (PGM) 2D graphics files;
  552. 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).
  553. pink_noise, a library which computes a pink noise signal obeying a 1/f power law.
  554. plot_to_ps, a program which reads simple text commands and creates a PostScript (PS) image;
  555. 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 partial differential equation (PDE) involving fluid flow;
  556. 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.
  557. 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.
  558. poisson_simulation, a library which simulates a Poisson process in which events randomly occur with an average waiting time of Lambda, creating graphics files for processing by gnuplot.
  559. polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
  560. polygon_grid, a library which generates a grid of points over the interior of a polygon in 2D.
  561. polygon_integrals, a library which returns the exact value of the integral of any monomial over the interior of a polygon in 2D.
  562. polygon_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the interior of a polygon in 2D.
  563. polygon_properties, a library which computes properties of an arbitrary polygon in the plane, defined by a sequence of vertices, including interior angles, area, centroid, containment of a point, convexity, diameter, distance to a point, inradius, lattice area, nearest point in set, outradius, uniform sampling.
  564. polygon_triangulate, a library which triangulates a possibly nonconvex polygon in 2D, and which can use gnuplot to display the external edges and internal diagonals of the triangulation.
  565. polynomial, a library which adds, multiplies, differentiates, evaluates and prints multivariate polynomials in a space of M dimensions.
  566. polynomials, a library which defines multivariate polynomials over rectangular domains, for which certain information is to be determined, such as the maximum and minimum values.
  567. polyomino_condense, a program which cleans up a matrix that represents a polyomino by setting all nonzero entries to 1, and removing initial and final rows and columns of zeros.
  568. polyomino_embed, a library which is given matrices defining a region R and a polyomino P, and determines the number of possible embeddings of the polyomino into the region, and the translations necessary to achieve them.
  569. polyomino_enumerate, a library which enumerates chiral, fixed and free polyominoes of moderate order.
  570. polyomino_index, a library which is given a matrix defining a polyomino P, and determines a correspondingly shaped matrix which contains an index for each nonzero entry in P.
  571. polyomino_lp_write, a program which writes an LP file describing a (binary) integer programming problem related to the tiling of a region R by copies of polyomino shapes, with possible reflections and rotations.
  572. polyomino_transform, a program which transforms the matrix representing a polyomino by reflection and rotation.
  573. power_method, a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
  574. power_rule, a program which constructs a power rule, that is, a product quadrature rule from identical 1D factor rules.
  575. ppma_io, a library which reads or writes ASCII Portable Pixel Map (PPM) 2D color graphics files;
  576. ppma_to_ppmb, a program which converts an ASCII Portable Pixel Map (PPM) file to a binary PPM file;
  577. pppack, a library which computes piecewise polynomial interpolants and approximants, in particular, cubic splines, by Carl de Boor.
  578. praxis, a library which minimizes a scalar function of several variables, without requiring derivative information, by Richard Brent.
  579. prime_mpi, a program which counts the number of primes between 1 and N, using MPI for parallel execution.
  580. prime_openmp, a program which counts the number of primes between 1 and N, using OpenMP for parallel execution.
  581. prime_serial, is a program which counts the number of primes between 1 and N, and is intended as a starting point for a parallel version.
  582. prob, a library which evaluates, samples, inverts, and characterizes a number of Probability Density Functions (PDF's) and Cumulative Density Functions (CDF's), including anglit, arcsin, benford, birthday, bernoulli, beta_binomial, beta, binomial, bradford, burr, cardiod, cauchy, chi, chi squared, circular, cosine, deranged, dipole, dirichlet mixture, discrete, empirical, english sentence and word length, error, exponential, extreme values, f, fisk, folded normal, frechet, gamma, generalized logistic, geometric, gompertz, gumbel, half normal, hypergeometric, inverse gaussian, laplace, levy, logistic, log normal, log series, log uniform, lorentz, maxwell, multinomial, nakagami, negative binomial, normal, pareto, planck, poisson, power, quasigeometric, rayleigh, reciprocal, runs, sech, semicircular, student t, triangle, uniform, von mises, weibull, zipf.
  583. product_rule, a program which creates an M-dimensional quadrature rule from a product of distinct 1d quadrature rules;
  584. ps_write, a library which creates a PostScript (PS) file of line drawings;
  585. puzzles, programs which solve simple puzzles;
  586. pwl_approx_1d, a library which approximates a set of data using a piecewise linear function.
  587. pwl_interp_1d, a library which interpolates a set of data using a piecewise linear function.
  588. pwl_interp_2d, a library which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.
  589. pwl_interp_2d_scattered, a library which evaluates a piecewise linear interpolant to data which is available at an irregularly arranged set of points.
  590. pyramid_exactness, a program which investigates the polynomial exactness of a quadrature rule over the interior of the unit pyramid in 3D.
  591. pyramid_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3D.
  592. pyramid_grid, a library which computes a grid of points over the interior of the unit pyramid in 3D;
  593. pyramid_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit pyramid in 3D.
  594. pyramid_monte_carlo, a library which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit pyramid in 3D;
  595. pyramid_rule, a program which computes a quadrature rule over the interior of the unit pyramid in 3D.
  596. qr_solve, a library which computes the linear least squares (LLS) solution of a system A*x=b.
  597. quad_mesh, a library which handles meshes of quadrilaterals over a 2D region;
  598. quad_mesh_rcm, a program which computes the Reverse Cuthill McKee (RCM) reordering for nodes in a mesh of 4-node quadrilaterals.
  599. quad_mpi, a program which applies a quadrature rule to estimate an integral, using MPI;
  600. quad_openmp, a program which applies a quadrature rule to estimate an integral over a 1D interval, using OpenMP for parallel execution;
  601. quad_serial, a program which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
  602. quad2d_openmp, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, using OpenMP for parallel execution;
  603. 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.
  604. quadmom, a library which computes a Gaussian quadrature rule for a weight function rho(x) based on the Golub-Welsch procedure that only requires knowledge of the moments of rho(x).
  605. quadpack, a library which estimates integrals using numerical quadrature, using single precision arithmetic, by Piessens, deDoncker-Kapenga, Ueberhuber, and Kahaner.
  606. quadpack_double, a library which estimates integrals using numerical quadrature, using double precision arithmetic, by Piessens, deDoncker-Kapenga, Ueberhuber, and Kahaner.
  607. quadrature_golub_welsch, a library which computes the points and weights of a Gaussian quadrature rule using the Golub-Welsch procedure.
  608. quadrature_least_squares, a library which computes weights for sub-interpolatory quadrature rules, that is, it estimates integrals by integrating a polynomial that approximates the function data in a least squares sense.
  609. quadrature_test, a program which reads the definition of a M-dimensional quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.
  610. 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.
  611. quadrature_test_genz, a program which reads the definition of a M-dimensional 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.
  612. quadrature_weights_vandermonde, a library which computes the weights of a quadrature rule using the Vandermonde matrix, assuming that the points have been specified.
  613. quadrature_weights_vandermonde_2d, a library which computes the weights of a 2D quadrature rule using the Vandermonde matrix, assuming that the points have been specified.
  614. quadrule, a library which implements rules for approximate integration (quadrature) in one dimension;
  615. quality, a library which computes quality of distribution measures for pointsets in M dimensions;
  616. quaternions, a library which carries out some simple arithmetic operations for quaternions.
  617. quotes, a program which prints a random quote from a file;
  618. r4lib, a library which contains many utility routines, using single precision real (R4) arithmetic.
  619. r83, a library which contains linear algebra routines for R83 matrices (real, 64 bit, tridiagonal 3xN format).
  620. r83_np, a library which contains linear algebra routines for R83_NP matrices (real, 64 bit, tridiagonal 3xN format, nonpivoting factorization).
  621. r83p, a library which contains linear algebra routines for R83P matrices (real, 64 bit, tridiagonal periodic format).
  622. r83s, a library which contains linear algebra routines for R83S matrices (real, 64 bit, tridiagonal scalar format).
  623. r83t, a library which contains linear algebra routines for R83t matrices (real, 64 bit, tridiagonal Mx3 format).
  624. r83v, a library which contains linear algebra routines for R83V matrices (real, 64 bit, tridiagonal three vector format).
  625. r85, a library which contains linear algebra routines for R85 matrices (real, 64 bit, pentadiagonal format).
  626. r8bb, a library which contains linear algebra routines for R8BB matrices (real, 64 bit, border banded format).
  627. r8blt, a library which contains linear algebra routines for R8BLT matrices (real, 64 bit, band lower triangular format).
  628. r8bto, a library which contains linear algebra routines for R8BTO matrices (real, 64 bit, block Toeplitz format).
  629. r8but, a library which contains linear algebra routines for R8BUT matrices (real, 64 bit, band upper triangular format).
  630. r8cb, a library which contains linear algebra routines for R8CB matrices (real, 64 bit, Compressed Band format).
  631. r8cbb, a library which contains linear algebra routines for R8CBB matrices (real, 64 bit, Compressed Border Banded format).
  632. r8cc, a library which contains linear algebra routines for R8CC matrices (real, 64 bit, Compressed Column (Colptr,Row,Value) format).
  633. r8ci, a library which contains linear algebra routines for R8CI matrices (real, 64 bit, circulant format).
  634. r8col, a library which contains utility routines for R8COL's, that is, double precision real MxN arrays, considered as N column vectors, each of length M. The data may be thought of as a matrix of multiple columns, and many operations will be carried out columnwise.
  635. r8gb, a library which contains linear algebra routines for R8GB matrices (real, 64 bit, General Banded format).
  636. r8gd, a library which contains linear algebra routines for R8GD matrices (real, 64 bit, general diagonal format).
  637. r8ge, a library which contains linear algebra routines for R8GE matrices (real, 64 bit, General format).
  638. r8ge_np, a library which contains nonpivoting linear algebra routines for R8GE_NP matrices (real, 64 bit, General nonpivoting format).
  639. r8lib, a library which contains many utility routines, using double precision real (R8) arithmetic.
  640. r8lib_test
  641. r8lt, a library which contains linear algebra routines for R8LT matrices (real, 64 bit, lower triangular format).
  642. r8ltt, a library which contains linear algebra routines for R8LTT matrices (real, 64 bit, lower triangular Toeplitz format).
  643. r8ncf, a library which contains linear algebra routines for R8NCF matrices (real, 64 bit, nonsymmetric coordinate format).
  644. r8pbl, a library which contains linear algebra routines for R8PBL matrices (real, 64 bit, positive definite symmetric band lower format).
  645. r8pbu, a library which contains linear algebra routines for R8PBU matrices (real, 64 bit, positive definite symmetric band upper format).
  646. r8po, a library which contains linear algebra routines for R8PO matrices (real, 64 bit, positive definite symmetric format).
  647. r8poly, a library which contains a number of utilities for polynomials with R8 coefficients, that is, using double precision or 64 bit real arithmetic.
  648. r8pp, a library which contains linear algebra routines for R8PP matrices (real, 64 bit, positive definite symmetric packed format).
  649. r8ri, a library which contains linear algebra routines for R8RI matrices (real, 64 bit, row-indexed format).
  650. r8row, a library which contains utility routines for R8ROW's, that is, double precision real MxN arrays, considered as M row vectors, each of length N. The data may be thought of as a matrix of multiple rows, and many operations will be carried out rowwise.
  651. r8s3, a library which contains linear algebra routines for R8S3 matrices (real, 64 bit, SLAP triad (I,J,AIJ) format).
  652. r8sd, a library which contains linear algebra routines for R8SD matrices (real, 64 bit, symmetric diagonal format).
  653. r8sm, a library which contains linear algebra routines for R8SM matrices (real, 64 bit, Sherman-Morrison A-u*v' format).
  654. r8sp, a library which contains linear algebra routines for R8SP matrices (real, 64 bit, SLAP triad (I,J,AIJ) format).
  655. r8sr, a library which carries out linear algebra operations for R8SR matrices (real, 64 bit, diagonal + compressed row offdiagonal format).
  656. r8ss, a library which carries out linear algebra operations for R8SS matrices (real, 64 bit, symmetric skyline format).
  657. r8sto, a library which contains linear algebra routines for R8STO matrices (real, 64 bit, symmetric Toeplitz N format).
  658. r8to, a library which contains linear algebra routines for R8TO matrices (real, 64 bit, Toeplitz 2*N-1 format).
  659. r8ut, a library which contains linear algebra routines for R8UT matrices (real, 64 bit, upper triangular format).
  660. r8utt, a library which contains linear algebra routines for R8UTT matrices (real, 64 bit, upper triangular Toeplitz format).
  661. r8vm, a library which contains linear algebra routines for R8VM matrices (real, 64 bit, Vandermonde format).
  662. randlc, a library which implements a random number generator (RNG) used by the NAS Benchmark programs.
  663. random_data, a library which uses a random number generator (RNG) to sample points distributed according to various probability density functions (PDF's), spatial dimensions, and geometries, including the M-dimensional cube, ellipsoid, simplex and sphere.
  664. 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.
  665. random_openmp, a program which illustrates how a parallel program using OpenMP can generate multiple distinct streams of random numbers.
  666. random_sorted, a library which generates vectors of random values which are already sorted.
  667. 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.
  668. ranlib, a library which produces random samples from Probability Density Functions (PDF's), including Beta, Chi-square Exponential, F, Gamma, Multivariate normal, Noncentral chi-square, Noncentral F, Univariate normal, random permutations, Real uniform, Binomial, Negative Binomial, Multinomial, Poisson and Integer uniform, by Barry Brown and James Lovato.
  669. ranmap, a program which creates a PostScript (PS) file of images of iterated affine mappings;
  670. rbf_interp_1d, a library which defines and evaluates radial basis function (RBF) interpolants to 1D data.
  671. rbf_interp_2d, a library which defines and evaluates radial basis function (RBF) interpolants to 2D data.
  672. rbf_interp_nd, a library which defines and evaluates radial basis function (RBF) interpolants to multidimensional data.
  673. rcm, a library which applies the Reverse Cuthill McKee (RCM) algorithm for reordering the nodes of a graph, and reducing the bandwidth of a corresponding sparse matrix;
  674. 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 with the book "Numerical Methods and Software."
  675. real_precision, programs which investigate the occasionally awkward methods for requesting a real data type with given precision. This is the preferred method for requesting double or quadruple precision arithmetic;
  676. reformat, a program which makes a copy of a data file with a given number of items per line;
  677. region, a library which reads 3D MRI voxel data, and groups the voxels into connected regions;
  678. ring_mpi, a program which uses the MPI parallel programming environment, and measures the time necessary to copy a set of data around a ring of processes.
  679. rk4, a library which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE) at the next time step.
  680. rkf45, a library which applies a Runge-Kutta-Fehlberg (RKF) solver to a system of ordinary differential equations (ODE's);
  681. rnglib, a library which implements a random number generator (RNG) with splitting facilities, allowing multiple independent streams to be computed, by L'Ecuyer and Cote.
  682. romberg, a library which approximates the integral of a function using the trapezoid rule, the composite trapezoid rule, a sequence of composite trapezoid rules with error estimation, or a sequence of composite trapezoid rules with error estimation and Romberg extrapolation.
  683. root_rc, a library which seeks a solution of a scalar nonlinear equation f(x)=0, using reverse communication (RC), by Gaston Gonnet.
  684. roots_rc, a library which seeks solutions of a system of nonlinear equations, using reverse communication (RC), by Gaston Gonnet.
  685. rot13, a program which makes a copy of a file which has been encoded using the ROT13 coding and a ROT5 coding for digits.
  686. row_echelon_integer, a library which carries out the exact computation of the integer row echelon form (IREF) and integer reduced row echelon form (IRREF) of an integer matrix.
  687. sandia_cubature, a library which implements quadrature rules for certain M-dimensional regions and weight functions.
  688. sandia_cvt, a program which positions a given number of points in an arbitrary region, using probabilistic centroidal Voronoi tessellation (CVT) techniques to achieve good coverage and separation; developed for Sandia National Laboratories;
  689. 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.
  690. sandia_sgmgg, a library which explores a generalized construction method for sparse grids.
  691. sandia_sparse, a library which can produce an M-dimensional 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.
  692. satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.
  693. 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.
  694. 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.
  695. scalapack_test FORTRAN90 programs which demonstrate scalapack, a linear algebra library for parallel computing.
  696. schedule_openmp, a program which demonstrates the default, static, and dynamic methods of scheduling loop iterations in OpenMP to avoid work imbalance.
  697. sde, a library which illustrates properties of stochastic ordinary differential equations (SODE's), and common algorithms for their analysis, including the Euler method, the Euler-Maruyama method, and the Milstein method, making graphics files for processing and display by gnuplot, by Desmond Higham;
  698. search_mpi, a program which searches integers between A and B for a solution J such that F(J)=C, carried out in parallel using MPI.
  699. search_serial, a program which searches the integers from A to B for a value J such that F(J) = C. this version of the program is intended as a starting point for a parallel approach.
  700. select, a library which carries out Nijenhuis and Wilf's generalized combinatorial selection algorithm;
  701. sequence, a program which reads a numeric sequence with missing values, and fills in the missing values.
  702. set_theory, a library which demonstrates various set theoretic operations using several models of a set.
  703. sftpack, a library which implements the slow Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
  704. sgefa_openmp, a program which compares a standard linear algebra solver against a revised version which can be run in parallel with OpenMP.
  705. sgmga, a library which creates sparse grids based on a mixture of 1D quadrature rules, allowing anisotropic weights for each dimension.
  706. shallow_water_1d, a program which simulates the evolution of a 1D fluid governed by the time-dependent shallow water equations.
  707. shepard_interp_1d, a library which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
  708. shepard_interp_2d, a library which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.
  709. shepard_interp_nd, a library which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.
  710. simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
  711. simplex_gm_rule, a library which defines Grundmann-Moeller quadrature rules over the interior of a triangle in 2D, a tetrahedron in 3D, or over the interior of the simplex in M dimensions.
  712. simplex_grid, a library which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.
  713. simplex_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit simplex in M dimensions.
  714. simplex_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit simplex in M dimensions.
  715. sine_transform, a library which demonstrates some simple properties of the discrete sine transform (DST).
  716. snakes_and_ladders, programs which simulate and investigate a one-player version of the game of Snakes and Ladders.
  717. sobol, a library which evaluates the Sobol Quasi Mont Carlo (QMC) M dimensional sequence, by Bennett Fox.
  718. sobol_dataset, a program which creates a Sobol Quasi Mont Carlo (QMC) dataset;
  719. solve, a library which demonstrates how Gauss elimination can be used to solve a linear system A*x=b.
  720. sort_rc, a library which can sort a list of any kind of objects, using reverse communication (RC).
  721. spaeth, a library which performs the cluster analysis of data, by Helmut Spaeth;
  722. spaeth2, a library which performs the cluster analysis of data, by Helmut Spaeth;
  723. sparse_count, a library which can analyze and create sparse grids in which a single family of 1D quadrature rules is used for all spatial dimensions, but various growth rules are considered.
  724. sparse_display, a library which can read information defining a matrix of numbers and display the sparsity pattern or location of the nonzero elements using gnuplot. This operation is already available in the built-in MATLAB "spy" command.
  725. sparse_grid_cc, a library which creates sparse grids based on Clenshaw-Curtis rules.
  726. sparse_grid_cc_dataset, a program which creates a sparse grid dataset based on Clenshaw-Curtis rules.
  727. sparse_grid_gl, a library which creates sparse grids based on Gauss-Legendre rules.
  728. sparse_grid_gl_dataset, a program which creates a sparse grid dataset based on Gauss-Legendre rules.
  729. sparse_grid_hermite, a library which creates sparse grids based on Gauss-Hermite rules.
  730. sparse_grid_hermite_dataset, a program which creates a sparse grid dataset based on Gauss-Hermite rules.
  731. sparse_grid_hw, a library which creates sparse grids based on Gauss-Legendre, Gauss-Hermite, Gauss-Patterson, or a nested variation of Gauss-Hermite rules, by Florian Heiss and Viktor Winschel.
  732. sparse_grid_laguerre, a library which creates sparse grids based on Gauss-Laguerre rules.
  733. sparse_grid_laguerre_dataset, a program which creates a sparse grid dataset based on Gauss-Laguerrre rules.
  734. sparse_grid_mixed, a library which creates sparse grids based on a mixture of 1D quadrature rules.
  735. sparse_grid_mixed_dataset, a program which creates a sparse grid dataset based on a mixture of 1D rules.
  736. sparse_grid_open, a library which creates sparse grids based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
  737. sparse_grid_open_dataset, a program which creates a sparse grid dataset based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
  738. sparse_interp_nd, a library which can be used to define a sparse interpolant to a function f(x) of a multidimensional argument.
  739. sparsekit, a library which performs sparse matrix operations, by Yousef Saad;
  740. specfun, a library which evaluates special functions, including Bessel I, J, K and Y functions, Dawson Integral, Error (Erf), Exponential Integral (E1 and EI), Gamma, log Gamma, and Psi/Digamma, by William Cody and Laura Stoltz;
  741. special_functions, a library which evaluates special functions, including Airy, Associated Legendre Bessel, Beta, Complete Elliptic Integral, Confluent Hypergeometric, Cosine Integral, Elliptic Integral, Error, Exponential Integral, Fresnel Integral, Gamma, Hankel, Hypergeometric, Incomplete Beta, Incomplete Gamma, Jacobian Elliptic, Kelvin, Lambda, Legendre, Mathieu, Modified Spherical Bessel, Parabolic Cylinder, Psi, Riccati-Bessel, Sine Integral, Spheroidal Wave, Struve, Whittaker, as well as Bernoulli Numbers, Euler Numbers, Hermite Polynomials, Laguerre Polynomials, Legendre Polynomials, by Shanjie Zhang, Jianming Jin;
  742. sphere_cubed_grid, a library which uses the projection of a cube to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.
  743. sphere_cvt, a program which uses a Centroidal Voronoi Tessellation (CVT) to generate a mesh of well-separated points on the surface of the unit sphere in 3D.
  744. sphere_delaunay, a program which reads a file containing the coordinates of points on the surface of the unit sphere in 3D, computes the Delaunay triangulation, and outputs a PostScript (PS) file of the image;
  745. sphere_design_rule, a library which defines spherical designs for quadrature on the surface of the unit sphere in 3D;
  746. sphere_exactness, a program which tests the polynomial exactness of a quadrature rule on the surface of the unit sphere in 3D.
  747. sphere_fibonacci_grid, a library which uses a Fibonacci spiral to create a grid of points on the surface of the unit sphere in 3D.
  748. 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, on the surface of the unit sphere in 3D.
  749. sphere_integrals, a library which returns the exact value of the integral of any monomial over the surface of the unit sphere in 3D.
  750. sphere_lebedev_rule, a library which computes Lebedev quadrature rules on the surface of the unit sphere in 3D.
  751. sphere_llq_grid, a library which uses longitudes and latitudes to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.
  752. sphere_llt_grid, a library which uses longitudes and latitudes to create grids of points, lines, and triangles on the surface of the unit sphere in 3D.
  753. sphere_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in 3D;
  754. sphere_quad, a library which uses triangulation to approximate an integral on the surface of the unit sphere in 3D;
  755. sphere_stereograph, a library which computes the stereographic mapping between points on the surface of the unit sphere in 3D and points on the plane Z = 1; a generalized mapping is also available.
  756. sphere_triangle_monte_carlo, a library which used the Monte Carlo method to estimate the integral of a function defined in a triangle on the surface of the unit sphere in 3D.
  757. sphere_triangle_quad, a library which uses quadrature to estimate the integral of a function in a spherical triangle on the surface of the unit sphere in 3D.
  758. sphere_voronoi, a program which reads a file containing the coordinates of points on the surface of the unit sphere in 3D, computes the Voronoi diagram, and outputs a PostScript (PS) file of the image;
  759. spiral_data, a library which computes a velocity vector field that satisfies the continuity equation, writing the data to a file that can be plotted by gnuplot.
  760. spline, a library which interpolates and approximates via splines;
  761. spring_ode, a program which shows how line printer graphics can be used to make a crude illustration of a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.
  762. spring_ode2, a program which shows how gnuplot graphics can be used to illustrate a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.
  763. square_arbq_rule, a library which returns quadrature rules, with exactness up to total degree 20, over the interior of the symmetric square in 2D, by Hong Xiao and Zydrunas Gimbutas.
  764. square_exactness, a library which investigates the polynomial exactness of quadrature rules for f(x,y) over the interior of a square in 2D.
  765. square_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a square in 2D.
  766. square_grid, a library which computes a grid of points over the interior of a square in 2D.
  767. square_hex_grid, a library which defines a hexagonal grid of points over the interior of the unit square in 2D.
  768. square_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit square or symmetric unit square in 2D.
  769. square_minimal_rule, a library which returns "almost minimal" quadrature rules, with exactness up to total degree 55, over the interior of the symmetric square in 2D, by Mattia Festa and Alvise Sommariva.
  770. square_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit square in 2D.
  771. square_symq_rule, a library which returns symmetric quadrature rules, with exactness up to total degree 20, over the interior of the symmetric square in 2D, by Hong Xiao and Zydrunas Gimbutas.
  772. st_io, a library which reads and writes sparse linear systems stored in the Sparse Triplet (ST) format.
  773. st_to_cc, a library which converts sparse matrix data from Sparse Triplet (ST) format to Compressed Column (CC) format;
  774. st_to_hb, a program which converts a sparse matrix file from Sparse Triplet (ST) format to Harwell Boeing (HB) format;
  775. steam, a library which is based on the National Bureau of Standards (NBS) steam table package;
  776. stla_io, a library which reads and writes the 3D graphics information in an ASCII stereolithography (STL) file;
  777. stochastic_diffusion, functions which implement several versions of a stochastic diffusivity coefficient.
  778. stochastic_heat2d, a program which implements a finite difference method (FDM) for the steady (time independent) 2D heat equation, with a stochastic heat diffusivity coefficient, using gnuplot to illustrate the results.
  779. stochastic_rk, a library which applies a Runge-Kutta (RK) scheme to a stochastic ordinary differential equation (SODE).
  780. stokes_2d_exact, a library which evaluates exact solutions to the incompressible steady Stokes equations over the unit square in 2D.
  781. string_simulation, a program which simulates the behavior of a vibrating string by solving the corresponding initial boundary value problem (IBVP), creating files that can be displayed by gnuplot.
  782. stripack, a library which computes Delaunay triangulations and Voronoi diagrams on the surface of the unit sphere in 3D, a version of ACM TOMS algorithm 772, by Robert Renka.
  783. stripack_bench, a program which benchmarks the Delaunay triangulation calculation of STRIPACK by timing computations involving random sets of nodes of increasing size.
  784. stripack_delaunay, a program which reads a file of points on the surface of the unit sphere in 3D, calls stripack to determine the Delaunay triangulation, and writes out a file describing it.
  785. stripack_voronoi, a program which reads a file of points on the surface of the unit sphere sphere in 3D, calls stripack to determine the Voronoi diagram, and writes out a file describing it.
  786. stripper, a program which can perform a variety of file modifications such as capitalization, removal of control characters, and so on;
  787. stroud, a library which defines quadrature rules for a variety of M-dimensional regions, including the interior of the square, cube and hypercube, the pyramid, cone and ellipse, the hexagon, the M-dimensional octahedron, the circle, sphere and hypersphere, the triangle, tetrahedron and simplex, and the surface of the circle, sphere and hypersphere.
  788. subanagram, a program which finds words which are anagrams formed from some of the letters of a given master word.
  789. subpak, a library which implements a wide variety of operations on real and integer vectors and matrices;
  790. subset, a library which enumerates, generates, randomizes, ranks and unranks combinatorial objects including combinations, compositions, Gray codes, index sets, partitions, permutations, polynomials, subsets, and Young tables. Backtracking routines are included to solve some combinatorial problems.
  791. subset_sum, a library which seeks solutions of the subset sum problem.
  792. subset_sum_serial, a program which seeks solutions of the subset sum problem, intended as a starting point for a parallel computing approach.
  793. superlu_test, programs which illustrate how a FORTRAN90 program can call the SUPERLU library, (which is written in C), which applies a fast direct solution method to solve sparse linear systems, by James Demmel, John Gilbert, and Xiaoye Li.
  794. superlu_openmp, programs which illustrate how to use the SUPERLU library with the OpenMP parallel programming interface, which applies a fast direct solution method to solve sparse linear systems, by James Demmel, John Gilbert, and Xiaoye Li.
  795. svd_basis, a program which applies the singular value decomposition (SVD) to a collection of data vectors, extracting dominant modes;
  796. svd_basis_weight, a program which applies the singular value decomposition (SVD) to a collection of weighted data vectors, extracting dominant modes;
  797. svd_snowfall, a program which reads a file containing historical snowfall data and analyzes the data with the Singular Value Decomposition (SVD), displaying the results using gnuplot.
  798. svd_test, a program which demonstrates the calculation of the singular value decomposition (SVD) and some of its properties;
  799. svd_truncated, a program which demonstrates the computation of the reduced or truncated Singular Value Decomposition (SVD) that is useful for cases when one dimension of the matrix is much smaller than the other.
  800. table_delaunay, a program which reads a table file of N points in 2 dimensions and writes out the Delaunay triangulation;
  801. table_io, a library which reads and writes a set of data as a table file.
  802. table_latinize, a program which reads a table file of N points in M dimensions and adjusts it to form a Latin hypercube.
  803. 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;
  804. table_tet_mesh, a program which reads a table file of N points in 3 dimensions and produces a tet mesh;
  805. table_top, a program which is given a table file of M-dimensional points, makes plots of all coordinate pairs;
  806. 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;
  807. 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.
  808. tec_io, a library which reads or writes a tecplot ASCII file containing finite element information;
  809. tec_to_fem, a program which reads a tecplot ASCII file, extracts the information, and writes a corresponding set of FEM files, three text files describing the finite element model;
  810. tec_to_obj, a program which converts a tecplot ASCII file to OBJ format.
  811. tec_to_obj2, a program which converts a tecplot ASCII file to OBJ format.
  812. templates, a library which forms basic implementations of iterative methods for solving large sparse linear systems;
  813. test_approx, a library which implements test problems for approximation, provided as a set of (x,y) data.
  814. test_con, a library which implements test problems for numerical continuation.
  815. test_eigen, a library which implements test matrices for eigenvalue analysis.
  816. test_int, a library which implements test problems for approximate integration in one dimension.
  817. test_int_2d, a library which implements test problems for approximate integration in two dimensions.
  818. test_interp, a library which defines test problems for interpolation, provided as a set of (x,y(x)) data.
  819. test_interp_1d, a library which defines test problems for interpolation of data y(x), which depends on a 1D argument.
  820. test_interp_2d, a library which defines test problems for interpolation of data z(x,y), depending on a 2D argument.
  821. test_interp_4d, a library which defines test problems for interpolation of data u(w,x,y,z), depending on a 4D argument.
  822. test_interp_nd, a library which defines test problems for interpolation of data z(x), depending on an M-dimensional argument.
  823. test_lls, a library which implements linear least squares (LLS) test problems of the form A*x=b.
  824. test_mat, a library which defines test matrices for which some of the determinant, eigenvalues, inverse, null vectors, P*L*U factorization or linear system solution are already known, including the Vandermonde and Wathen matrix.
  825. test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
  826. test_mesh, a library which implements some sample 2D meshes.
  827. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  828. test_nearest, a library which tests the time complexity of various procedures for solving the nearest neighbor problem.
  829. test_nint, a library which implements test problems for approximate integration (quadrature) in M dimensions.
  830. test_nls, a library which implements nonlinear least squares (NLS) test problems.
  831. test_nonlin, a library which implements test problems for the solution of systems of nonlinear equations.
  832. test_ode, a library which implements tests for solvers of systems of ordinary differential equations (ODE's).
  833. test_opt, a library which implements test problems for optimization of a scalar function of several variables.
  834. test_opt_con, a library which defines test problems for the minimization of a scalar function of several variables, with the search constrained to lie within a specified hyper-rectangle.
  835. test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
  836. test_partial_digest, a library which can generate cases of the partial digest problem.
  837. test_tet_mesh, a library which implements test problems for tetrahedralization or meshing of arbitrary regions in 3 dimensions.
  838. test_triangulation, a library which implements test problems for triangularization or meshing of arbitrary regions in 2 dimensions.
  839. 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.
  840. test_values_test
  841. test_zero, a library which implements test problems for the solution of a single nonlinear equation in one variable.
  842. testpack, a program which demonstrates the use of a set of test integrand functions chosen by Alan Genz.
  843. tet_mesh, a library which carries out various tasks associated with tetrahedral meshes in 3D;
  844. tet_mesh_boundary, a program which reads information defining a tetrahedral mesh of points in 3D, and determines the triangular faces that form the boundary of the mesh; it writes out TRI_SURFACE files containing the nodes and elements defining this surface.
  845. 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;
  846. 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;
  847. tet_mesh_quad, a program which estimates the integral of a function over a region defined by a tetrahedral mesh.
  848. tet_mesh_quality, a program which reads information about a tet mesh of points in 3D and computes various quality measures;
  849. tet_mesh_rcm, a program which computes the Reverse Cuthill-McKee (RCM) reordering for the nodes of a tet_mesh that uses 4-node or 10-node tetrahedrons;
  850. tet_mesh_refine, a program which refines all the tetrahedrons in a tet mesh;
  851. 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;
  852. tet_mesh_volumes, a program which computes the volume of each tetrahedron in a tet mesh;
  853. tetrahedron_arbq_rule, a library which returns quadrature rules, with exactness up to total degree 15, over the interior of a tetrahedron in 3D, by Hong Xiao and Zydrunas Gimbutas.
  854. tetrahedron_exactness, a program which tests the polynomial exactness of a quadrature rule over the interior of a tetrahedron in 3D;
  855. tetrahedron_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.
  856. tetrahedron_grid, a library which computes a grid of points over the interior of a tetrahedron in 3D.
  857. tetrahedron_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit tetrahedron in 3D.
  858. tetrahedron_keast_rule, a library which defines ten quadrature rules, of degree of exactness 0 through 8, over the interior of the tetrahedron in 3D.
  859. tetrahedron_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of a general tetrahedron in 3D.
  860. tetrahedron_ncc_rule, a library which defines Newton-Cotes closed (NCC) quadrature rules over the interior of a tetrahedron in 3D.
  861. tetrahedron_nco_rule, a library which defines Newton-Cotes open (NCO) quadrature rules over the interior of a tetrahedron in 3D.
  862. tetrahedron_properties, a program which computes properties, including the centroid, circumsphere, dihedral angles, edge lengths, face angles, face areas, insphere, quality, solid angles, and volume, of a tetrahedron in 3D,
  863. tetrahedron01_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit tetrahedron in 3D.
  864. three_body_simulation, a program which simulates the behavior of three planets, constrained to lie in a plane, and moving under the influence of gravity, by Walter Gander and Jiri Hrebicek.
  865. timer, a library which implements various real time and CPU time tests.
  866. timestamp, a library which prints the current YMDHMS date as a timestamp.
  867. toeplitz, a library which implements Toeplitz matrix system solvers.
  868. toeplitz_cholesky, a library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
  869. toms097, a library which computes the distance between all pairs of nodes in a directed graph with weighted edges, using Floyd's algorithm.
  870. toms112, a library which determines whether a point is contained in a polygon, by Moshe Shimrat. This is a version of ACM TOMS algorithm 112.
  871. toms178, a library which seeks the minimizer of a scalar function of several variables using the Hooke-Jeeves method, by Arthur Kaupe. This is a version of ACM TOMS algorithm 178.
  872. toms179, a library which calculates the incomplete Beta ratio, by Oliver Ludwig; This is a version of ACM TOMS algorithm 179.
  873. toms243, a library which evaluates the logarithm of a complex value, by David Collens. This is a version of ACM TOMS algorithm 243.
  874. toms243_test
  875. toms291, a library which approximates the logarithm of the Gamma function; This is a version of ACM TOMS algorithm 291.
  876. toms358, a library which computes the singular value decomposition (SVD) of a complex matrix; this is a version of ACM TOMS algorithm 358, translated by Alexsander Schwarzenberg-Czerny.
  877. toms443, a library which evaluates Lambert's W function. This is a version of ACM TOMS algorithm 443.
  878. toms446, a library which manipulates Chebyshev series for interpolation and approximation. This is a version of ACM TOMS algorithm 446, by Roger Broucke.
  879. toms453, a library which determines the abscissas and weights for a Gaussian quadrature formula for Bromwich's integral. This is a version of ACM TOMS algorithm 453.
  880. toms462, a library which evaluates the upper right tail of the bivariate normal distribution; that is, the probability that normal variables X and Y with correlation R will satisfy H <= X and K <= Y. This is a version of ACM TOMS algorithm 462.
  881. toms515, a library which can select subsets of size K from a set of size N, This is a version of ACM TOMS Algorithm 515, by Bill Buckles, Matthew Lybanon.
  882. toms526, a library which interpolates scattered bivariate data. This is a version of ACM TOMS algorithm 526, by Hiroshi Akima.
  883. toms552, a library which computes a solution of a constrained linear system. of a scalar function, this is a version of ACM TOMS algorithm 552;
  884. toms577, a library which evaluates Carlson's elliptic integral functions RC, RD, RF and RJ. This is a version of ACM TOMS algorithm 577.
  885. toms611, a library which implements unconstrained minimization of a scalar function; a reverse communication (RC) option is included; this is a version of ACM TOMS algorithm 611, by David Gay.
  886. toms647, a library which evaluates the Faure, Halton, and Sobol Quasi Mont Carlo (QMC) sequences; this is a version of ACM TOMS algorithm 647;
  887. toms655, a library which computes the weights for interpolatory quadrature rule; this library is commonly called IQPACK, and is by Sylvan Elhay and Jaroslav Kautsky. This is a version of ACM TOMS algorithm 655.
  888. toms659, a library which computes elements of the Sobol Quasi Mont Carlo (QMC) sequence. This is a version of ACM TOMS algorithm 659.
  889. toms660, a library which takes scattered data in 2D and creates an interpolating function F(X,Y); this program is often called qshep2d. This is a version of ACM TOMS algorithm 660, by Robert Renka.
  890. toms661, a library which takes scattered data in 3D and creates an interpolating function F(X,Y,Z), called qshep3d. This is a version of ACM TOMS algorithm 661, by Robert Renka.
  891. 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 a version of ACM TOMS algorithm 672.
  892. toms708, a library which evaluates the incomplete Beta function, by Armido Didonato, Alfred Morris; this is a version of ACM TOMS algorithm 708;
  893. toms715, a library which evaluates special functions, including the Bessel I, J, K, and Y functions of order 0, of order 1, and of any real order, Dawson's integral, the error function, exponential integrals, the gamma function, the normal distribution function, the psi function. This is a version of ACM TOMS algorithm 715.
  894. 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, and is by Walter Gautschi. This is a version of ACM TOMS algorithm 726.
  895. toms738, a library which evaluates Niederreiter's Quasi Mont Carlo (QMC) sequence. This is a version of ACM TOMS algorithm 738;
  896. toms743, a library which evaluates Lambert's W function. This is a version of ACM TOMS algorithm 743, by Barry, Barry and Culligan-Hensley.
  897. toms757, a library which evaluates uncommon special functions, by Allan McLeod. this is a version of ACM TOMS algorithm 757;
  898. 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 a version of ACM TOMS algorithm 790.
  899. toms792, a library which tests functions that interpolate scattered data in the plane; by Robert Renka. This is a version of ACM TOMS algorithm 792.
  900. toms886, a library which defines the Padua points for interpolation in a 2D region, including the rectangle, triangle, and ellipse, by Marco Caliari, Stefano de Marchi, Marco Vianello. This is a version of ACM TOMS algorithm 886.
  901. treepack, a library which carries out computations on trees, a simple kind of graph that is minimally connected.
  902. tri_surface_io, a library which reads and writes the 3D graphics information in a TRI_SURFACE file;
  903. triangle_analyze, a program which reads a triangle defined in a file, and uses the triangle_properties() library to compute angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality.
  904. triangle_dunavant_rule, a library which defines Dunavant quadrature rules over the interior of a triangle in 2D.
  905. triangle_exactness, a program which tests the polynomial exactness of a quadrature rule over the interior of a triangle in 2D.
  906. triangle_fekete_rule, a library which returns Fekete rules for interpolation or quadrature over the interior of a triangle in 2D.
  907. triangle_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a triangle in 2D.
  908. triangle_grid, a library which computes a grid of points over the interior of a triangle in 2D.
  909. triangle_histogram, a program which computes histograms of data over the interior of the unit triangle in 2D.
  910. triangle_integrals, a library which returns the exact value of the integral of any polynomial over the interior of an arbitrary triangle in 2D.
  911. triangle_interpolate, a library which shows how vertex data can be interpolated at any point in the interior of a triangle.
  912. triangle_io, a library which can read or write some of the files created by Jonathan Shewchuk's triangle program.
  913. triangle_lyness_rule, a library which returns Lyness-Jespersen quadrature rules over the interior of a triangle in 2D;
  914. triangle_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of a general triangle in 2D.
  915. triangle_ncc_rule, a library which defines Newton-Cotes closed (NCC) quadrature rules over the interior of a triangle in 2D.
  916. triangle_nco_rule, a library which defines Newton-Cotes open (NCO) quadrature rules over the interior of a triangle in 2D.
  917. triangle_properties, a library which can compute properties, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality, of a triangle in 2D.
  918. triangle_svg, a library which uses Scalable Vector Graphics (SVG) to plot a triangle and any number of points, to illustrate quadrature rules and sampling techniques.
  919. triangle_symq_rule, a library which returns efficient symmetric quadrature rules, with exactness up to total degree 50, over the interior of a triangle in 2D, by Hong Xiao and Zydrunas Gimbutas.
  920. triangle_to_fem, a program which reads the NODE and ELE files created by the triangle() program to describe a triangular mesh, and writes a corresponding pair of node and element files in the 2D FEM format.
  921. triangle_to_medit, a program which reads the NODE and ELE files created by the triangle() program to describe a triangular mesh, and writes a corresponding MESH file for input to medit().
  922. triangle_to_xml, a program which reads the NODE and ELE files created by triangle() to describe a triangular mesh in 2D, and writes out a corresponding XML mesh file for use by DOLFIN or FENICS.
  923. triangle_wandzura_rule, a library which returns quadrature rules of exactness 5, 10, 15, 20, 25 and 30 over the interior of the triangle in 2D.
  924. triangle01_integrals, a library which returns the integral of any monomial over the interior of the unit triangle in 2D.
  925. triangle01_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit triangle in 2D.
  926. triangulation, a library which computes the triangulation of a set of points in the plane, and performs various operations using a triangulation, including searching a Delaunay triangulation to find which triangle contains a given point.
  927. 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;
  928. triangulation_corner, a program which modifies triangulations in which one or more triangles have more than one boundary edge.
  929. triangulation_delaunay_discrepancy, a program which measures the amount by which a triangulation fails the local Delaunay test;
  930. triangulation_histogram, a program which computes histograms of data over a triangulation.
  931. triangulation_l2q, a program which reads information about a 3-node (linear) triangulation and creates data defining a corresponding 6-node (quadratic) triangulation;
  932. triangulation_mask, a program which reads a triangulation and calls a user-supplied routine to consider each triangle for deletion;
  933. triangulation_node_to_element, a program which reads files describing a set of nodes, their triangulation, and the value of one or more quantities at each node, and outputs a file that averages the quantities for each element. This operation in effect creates an "order1" finite element model of the data.
  934. triangulation_orient, a program which ensures that the triangles in an order 3 or order 6 triangulation have positive orientation;
  935. triangulation_plot, a program which plots the nodes and elements of a triangulation as a PostScript (PS) file;
  936. triangulation_q2l, a program which reads information about a 6-node triangulation and creates data defining a corresponding 3-node triangulation;
  937. 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.
  938. triangulation_quality, a program which reads information about a triangulation and computes various quality measures;
  939. triangulation_rcm, a program which computes the Reverse Cuthill-McKee (RCM) reordering for the nodes of a triangulation that uses 3-node or 6-node triangles;
  940. triangulation_refine, a program which refines a triangulation;
  941. triangulation_svg, a program which creates an SVG image of a triangulation, which can be displayed by a web browser.
  942. triangulation_t3_to_t4, a program which reads information about a 3-node triangulation and creates data defining a corresponding 4-node triangulation (vertices + centroid);
  943. 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;
  944. tripack, a library which computes constrained Delaunay triangulation in the plane, ACM TOMS algorithm 751, by Robert Renka;
  945. truncated_normal, a library which works with the truncated normal distribution over [A,B], or [A,+oo) or (-oo,B], returning the probability density function (PDF), the cumulative density function (CDF), the inverse CDF, the mean, the variance, and sample values.
  946. truncated_normal_rule, a program which computes a quadrature rule for a normal probability density function (PDF), sometimes called a Gaussian distribution, that has been truncated to [A,+oo), (-oo,B] or [A,B].
  947. tsg, programs which demonstrate the use of the TasmanianSparseGrid (TSG) package, which implements routines for working with sparse grids, to efficiently estimate integrals or compute interpolants of scalar functions of multidimensional arguments, by Miroslav Stoyanov. The FORTRAN90 implementation is only experimental, and currently very limited.
  948. tsp_brute, a program which reads a file of city-to-city distances and solves a (small!) traveling salesperson problem (TSP), using brute force.
  949. tsp_brute_test
  950. tsp_io, a library which reads or writes files in the TSP format used for the traveling salesperson problem.
  951. tsp_lau, a library which implements a heuristic algorithm for the solution of the traveling salesperson problem (TSP).
  952. two_body_simulation, a program which simulates the behavior of two bodies, constrained to lie in a plane, moving under the influence of gravity, with one body much more massive than the other, creating graphics files for processing by gnuplot.
  953. ubvec, a library which demonstrates how nonnegative integers can be stored as unsigned binary vectors, and arithmetic can be performed on them.
  954. umfpack_test, FORTRAN90 programs which call umfpack to solve a sparse linear system.
  955. unicycle, a library which considers permutations containing a single cycle, sometimes called cyclic permutations.
  956. uniform, a library which implements random number generators (RNG's) for a variety of arithmetic types.
  957. uniform_dataset, a program which creates a uniform random dataset;
  958. upc, is a library which can compute the check digit for a uniform product code (UPC), or report whether a 12-digit UPC is actually valid.
  959. valgrind_test, programs which illustrate the use of the VALGRIND suite of programs which includes a memory leak detector.
  960. van_der_corput, a library which computes elements of the van der Corput one-dimensional Quasi Mont Carlo (QMC) sequence, using a simple interface.
  961. van_der_corput_advanced, a library which computes elements of the van der Corput 1-dimensional Quasi Mont Carlo (QMC) sequence, allowing more sophisticated input and control.
  962. van_der_corput_dataset, a program which creates a dataset of the van der Corput one-dimensional Quasi Mont Carlo (QMC) sequence;
  963. vandermonde, a library which implements the Bjork-Pereyra algorithm for accurate solution of linear systems involving the Vandermonde matrix.
  964. vandermonde_approx_1d, a library which finds a polynomial approximant to data y(x) of a 1D argument by setting up and solving an overdetermined linear system for the polynomial coefficients involving the Vandermonde matrix.
  965. vandermonde_approx_2d, a library which finds a polynomial approximant p(x,y) to data z(x,y) of a 2D argument by setting up and solving an overdetermined linear system for the polynomial coefficients involving the Vandermonde matrix
  966. vandermonde_interp_1d, a library which finds a polynomial interpolant to data y(x) of a 1D argument by setting up and solving a linear system for the polynomial coefficients involving the Vandermonde matrix, creating graphics files for processing by gnuplot.
  967. vandermonde_interp_2d, a library which finds a polynomial interpolant to data z(x,y) of a 2D argument by setting up and solving a linear system for the polynomial coefficients involving the Vandermonde matrix.
  968. voronoi_plot, a program which plots the Voronoi neighborhoods of points in the 2D unit square, using L1, L2 or Loo norms;
  969. voronoi_weight, a program which estimates the volume of the Voronoi cells associated with N points in the M-dimensional unit hypercube;
  970. vtk_io, a library which reads and writes VTK graphics files.
  971. walker_sample, a library which efficiently samples a discrete probability vector using Walker sampling.
  972. walsh, a library which implements versions of the Walsh and Haar transforms.
  973. wathen, a library which compares storage schemes (full, banded, sparse triplet ) and solution strategies (Linpack full, Linpack banded, conjugate gradient) for linear systems involving the Wathen matrix, which can arise when solving a problem using the finite element method (FEM).
  974. wave_mpi, a program which uses finite differences and MPI to estimate a solution to the wave equation.
  975. wavelet, a library which does some simple wavelet calculations;
  976. wedge_exactness, a program which investigates the polynomial exactness of a quadrature rule over the interior of the unit wedge in 3D.
  977. wedge_felippa_rule, a library which returns quadrature rules for approximating integrals over the interior of the unit wedge in 3D.
  978. wedge_grid, a library which computes a grid of points over the interior of the unit wedge in 3D.
  979. wedge_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit wedge in 3D.
  980. wedge_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit wedge in 3D.
  981. weekday, a library which determines the day of the week corresponding to a given date, such as 14 October 1066, Julian calendar, ... which was a Saturday.
  982. wishart, a library which produces sample matrices from the Wishart or Bartlett distributions, useful for sampling random covariance matrices.
  983. wordsnake, a program which rearranges a list of words so that they have maximum overlap;
  984. wtime, a library which returns a reading of the wall clock time in seconds.
  985. xerror, a library which reports and handles errors detected during program execution.
  986. xy_io, a library which reads and writes XY files for storing 2D point information.
  987. xyz_io, a library which reads and writes XYZ files for storing 3D point information.
  988. zero_rc, a library which seeks a solution of a scalar nonlinear equation f(x)=0, using reverse communication (RC), by Richard Brent.
  989. ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.
  990. ziggurat_openmp, a program which demonstrates how the ziggurat library can be used as a random number generator (RNG) in an OpenMP parallel program.


Last revised on 02 May 2019.