C Codes


  1. allocatable_array_test
  2. 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.
  3. alpert_rule_test
  4. 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.
  5. analemma_test
  6. 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.
  7. annulus_monte_carlo_test
  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. annulus_rule_test
  10. args, a program which reports the command line arguments with which it was invoked;
  11. args_test
  12. 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;
  13. asa005_test
  14. 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;
  15. asa006_test
  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. asa007_test
  18. asa032, a library which evaluates the incomplete Gamma function, by G Bhattacharjee; this is a version of Applied Statistics Algorithm 32;
  19. asa032_test
  20. 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;
  21. asa047_test
  22. 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.
  23. asa053_test
  24. asa058, a library which carries out K-means clustering of data, by David Sparks; this is a version of Applied Statistics Algorithm 58;
  25. asa058_test
  26. asa063, a library which evaluates the incomplete Beta function, by KL Majumder and G Bhattacharjee; this is a version of Applied Statistics Algorithm 63;
  27. asa063_test
  28. 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;
  29. asa066_test
  30. asa076, a library which evaluates Owen's T function, by Young and Minder; this is a version of Applied Statistics Algorithm 76;
  31. asa076_test
  32. 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;
  33. asa091_test
  34. asa103, a library which evaluates the digamma or psi function, by Jose Bernardo; this is a version of Applied Statistics Algorithm 103;
  35. asa103_test
  36. asa109, a library which inverts the incomplete Beta function, by Cran, Martin and Thomas; this is a version of Applied Statistics Algorithm 109;
  37. asa109_test
  38. 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;
  39. asa111_test
  40. 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;
  41. asa113_test
  42. asa121, a library which evaluates the trigamma function, by BE Schneider; this is a version of Applied Statistics Algorithm 121;
  43. asa121_test
  44. asa136, a library which implements a clustering algorithm, by Hartigan and Wong; this is a version of Applied Statistics Algorithm 136;
  45. asa136_test
  46. 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;
  47. asa144_test
  48. asa147, a library which evaluates the incomplete Gamma function, by Chi Leung Lau; this is a version of Applied Statistics Algorithm 147;
  49. asa147_test
  50. 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;
  51. asa152_test
  52. 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;
  53. asa159_test
  54. 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;
  55. asa172_test
  56. asa183, a library which implements a random number generator (RNG), by Wichman and Hill; this is a version of Applied Statistics Algorithm 183;
  57. asa183_test
  58. asa226, a library which evaluates the noncentral incomplete Beta function, by Russell Lenth; this is a version of Applied Statistics Algorithm 226;
  59. asa226_test
  60. asa239, a library which evaluates the incomplete Gamma function, by Shea; this is a version of Applied Statistics Algorithm 239;
  61. asa239_test
  62. 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;
  63. asa241_test
  64. 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;
  65. asa243_test
  66. asa245, a library which evaluates the logarithm of the Gamma function, by Allan Mcleod; this is a version of Applied Statistics Algorithm 245;
  67. asa245_test
  68. asa266, a library which evaluates various properties of the Dirichlet probability density function (PDF); this is a version of Applied Statistics Algorithm 266;
  69. asa266_test
  70. 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;
  71. asa299_test
  72. asa310, a library which evaluates the noncentral incomplete Beta function, by Chattamvelli and Shanmugam; this is a version of Applied Statistics Algorithm 310;
  73. asa310_test
  74. 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.
  75. asa314_test
  76. ascii_to_mri, a program which restores MRI data to its original binary format, having been previously converted to an ASCII text file.
  77. ascii_to_mri_test
  78. atbash, a library which applies the Atbash substitution cipher to a string of text.
  79. atbash_test
  80. backtrack_binary_rc, a library which carries out a backtrack search for a set of binary decisions, using reverse communication (RC).
  81. backtrack_binary_rc_test
  82. ball_grid, a library which computes a grid of points over the interior of the unit ball in 3D.
  83. ball_grid_test
  84. ball_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit ball in 3D.
  85. ball_integrals_test
  86. 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;
  87. ball_monte_carlo_test
  88. 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.
  89. bank_test
  90. 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.
  91. barycentric_interp_1d_test
  92. 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.
  93. bellman_ford_test
  94. bernstein_polynomial, a library which evaluates the Bernstein polynomials;
  95. bernstein_polynomial_test
  96. besselj, a library which evaluates Bessel J functions of noninteger order;
  97. besselj_test
  98. beta_nc, a library which evaluates the cumulative density function (CDF) of the noncentral Beta distribution;
  99. beta_nc_test
  100. 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].
  101. bisection_integer_test
  102. 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).
  103. bisection_rc_test
  104. black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, by Desmond Higham.
  105. black_scholes_test
  106. 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.
  107. blas_osx_test
  108. blas0, a library which contains auxilliary functions for the Basic Linear Algebra Subprograms (BLAS).
  109. blas0_test
  110. blas1_c, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision complex arithmetic;
  111. blas1_c_test
  112. blas1_d, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), using double precision real arithmetic;
  113. blas1_d_test
  114. blas1_s, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision real arithmetic;
  115. blas1_s_test
  116. blas1_z, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), using double precision complex arithmetic;
  117. blas1_z_test
  118. blas2_d, a library which constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS), using double precision real arithmetic.
  119. blas2_d_test
  120. blas2_s, a library which constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS), using single precision real arithmetic.
  121. blas2_s_test
  122. blas3_d, a library which constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS) for matrix-matrix operations, using double precision real arithmetic.
  123. blas3_d_test
  124. blas3_s, a library which constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS) for matrix-matrix operations, using single precision real arithmetic.
  125. blas3_s_test
  126. blend, a library which carries out 1D/2D/3D blending interpolation;
  127. blend_test
  128. 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;
  129. box_behnken_test
  130. 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.
  131. brent_test
  132. brownian_motion_simulation, a library which simulates Brownian motion in an M-dimensional region, creating graphics files for processing by gnuplot.
  133. brownian_motion_simulation_test
  134. burgers_solution, a library which evaluates exact solutions of the time-dependent 1D viscous Burgers equation.
  135. burgers_solution_test
  136. bvec, a library which demonstrates how signed integers can be stored as binary vectors, and arithmetic can be performed on them.
  137. bvec_test
  138. c, programs which illustrate some of the features of the C programming language.
  139. c_arrays_test
  140. c_calls_f77, programs which illustrate a C program calling a FORTRAN77 subroutine.
  141. c_calls_f90, programs which illustrate a C program calling a FORTRAN90 subroutine.
  142. c_files, programs which illustrate the use of files.
  143. c_intrinsics, a program which illustrates the use of intrinsic functions supplied by the C language.
  144. c_mistake, programs which illustrate some simple but devious programming mistakes in C.
  145. c_operators_test
  146. c_random_test
  147. c4_complex_lib, a library which defines a single precision complex (C4) variable as a structure, and implements certain corresponding elementary functions.
  148. c4_complex_lib_test
  149. c4lib, a library which implements certain elementary functions for single precision complex (C4) variables using the C99 "float complex" datatype.
  150. c4lib_test
  151. c8_complex_lib, a library which defines a double precision complex (C8) variable as a structure, and implements certain corresponding elementary functions.
  152. c8_complex_lib_test
  153. c8lib, a library which implements certain elementary functions for double precision complex (C8) variables using the C99 standard "double complex" datatype.
  154. c8lib_test
  155. caesar, a library which can apply a Caesar Shift Cipher to a string of text.
  156. caesar_test
  157. calpak, a library which makes various calendar calculations;
  158. calpak_test
  159. cauchy_principal_value, a library which uses Gauss-Legendre quadrature to estimate the Cauchy Principal Value (CPV) of certain singular integrals.
  160. cauchy_principal_value_test
  161. cblas_test
  162. cc_io, a library which reads and writes sparse linear systems stored in the Compressed Column (CC) format.
  163. cc_io_test
  164. cc_to_st, a library which converts a sparse matrix from compressed column (CC) to sparse triplet (ST) format.
  165. cc_to_st_test
  166. ccn_rule, a program which defines a one of a sequence of Clenshaw Curtis Nested (CCN) quadrature rules of any order.
  167. ccn_rule_test
  168. 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.
  169. cdflib_test
  170. 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.
  171. cell_test
  172. cellular_automaton, a program which demonstrates the 1D Cellular Automaton known as rule #30.
  173. 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.
  174. cg_test
  175. cg_rc, a library which implements the conjugate gradient (CG) method for solving a positive definite sparse linear system A*x=b, using reverse communication (RC).
  176. cg_rc_test
  177. change_making, a library which considers the change making problem, in which a given sum is to be formed using coins of various denominations.
  178. change_making_test
  179. chebyshev, a library which computes the Chebyshev interpolant or approximant to a given function over an interval.
  180. chebyshev_test
  181. 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).
  182. chebyshev_interp_1d_test
  183. 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.
  184. chebyshev_polynomial_test
  185. 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.
  186. chebyshev_series_test
  187. chrpak, a library which can manipulate characters and strings;
  188. chrpak_test
  189. circle_arc_grid, a library which computes grid points along a circular arc.
  190. circle_arc_grid_test
  191. circle_integrals, a library which returns the exact value of the integral of any monomial over the circumference of the unit circle in 2D.
  192. circle_integrals_test
  193. 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;
  194. circle_monte_carlo_test
  195. 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).
  196. circle_rule_test
  197. 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.
  198. circle_segment_test
  199. clapack_test
  200. clausen, a library which evaluates a Chebyshev interpolant to the Clausen function Cl2(x).
  201. clausen_test
  202. clenshaw_curtis_rule, a program which implements a Clenshaw Curtis quadrature rule;
  203. clenshaw_curtis_rule_test
  204. cnoise, a library which generates samples of noise obeying a 1/f^alpha power law, by Miroslav Stoyanov.
  205. cnoise_test
  206. collatz_recursive, a library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
  207. collatz_recursive_test
  208. colored_noise, a library which generates samples of noise obeying a 1/f^alpha power law.
  209. colored_noise_test
  210. 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.
  211. combo_test
  212. communicator_mpi, a program which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.
  213. 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.
  214. compass_search_test
  215. complex_numbers_test
  216. condition, a library which implements methods of computing or estimating the condition number of a matrix.
  217. condition_test
  218. continued_fraction, a library which implements some simple algorithms for dealing with simple and generalized continued fractions.
  219. continued_fraction_test
  220. cordic, a library which computes a few special functions using the CORDIC algorithm.
  221. cordic_test
  222. correlation, a library which contains statistical correlation functions.
  223. correlation_test
  224. cosine_transform, a library which demonstrates some simple properties of the discrete cosine transform (DCT).
  225. cosine_transform_test
  226. csparse, a library which carries out the direct solution of sparse linear systems, by Timothy Davis.
  227. csparse_test
  228. 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.
  229. cube_arbq_rule_test
  230. cube_exactness, a library which investigates the polynomial exactness of quadrature rules over the interior of a cube in 3D.
  231. cube_exactness_test
  232. cube_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a cube in 3D.
  233. cube_felippa_rule_test
  234. cube_grid, a library which computes a grid of points over the interior of a cube in 3D.
  235. cube_grid_test
  236. cube_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit cube in 3D.
  237. cube_integrals_test
  238. 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.
  239. cube_monte_carlo_test
  240. 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.
  241. cuda_loop_test
  242. 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.
  243. cycle_brent_test
  244. 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.
  245. cycle_floyd_test
  246. cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
  247. cyclic_reduction_test
  248. 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.
  249. differ_test
  250. dijkstra, a library which implements a simple version of Dijkstra's minimum distance algorithm for graphs.
  251. dijkstra_test
  252. dijkstra_openmp, a program which uses OpenMP to parallelize a simple example of Dijkstra's minimum distance algorithm for graphs.
  253. 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.
  254. discrete_pdf_sample_2d_test
  255. 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.
  256. disk_grid_test
  257. 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;
  258. disk_monte_carlo_test
  259. disk_rule, a library which computes quadrature rules for the general disk in 2D.
  260. disk_rule_test
  261. disk01_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit disk in 2D.
  262. disk01_integrals_test
  263. 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;
  264. disk01_monte_carlo_test
  265. 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;
  266. disk01_quarter_monte_carlo_test
  267. 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).
  268. disk01_rule_test
  269. dislin_test
  270. divdif, a library which uses divided differences to compute the polynomial interpolant to a given set of data.
  271. divdif_test
  272. 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.
  273. doomsday_test
  274. 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.
  275. dream_test
  276. duel_simulation, a program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
  277. duel_simulation_test
  278. 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.
  279. edge_test
  280. ellipse_grid, a library which computes grid points over the interior of an ellipse in 2D.
  281. ellipse_grid_test
  282. 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.
  283. ellipse_monte_carlo_test
  284. ellipsoid_grid, a library which computes a grid of points over the interior of an ellipsoid in 3D.
  285. ellipsoid_grid_test
  286. 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.
  287. ellipsoid_monte_carlo_test
  288. elliptic_integral, a library which evaluates complete elliptic integrals of first, second and third kind, using Carlson's elliptic integral functions.
  289. elliptic_integral_test
  290. 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).
  291. exactness_test
  292. f77split, a program which splits a file containing multiple FORTRAN77 routines into separate files;
  293. f77split_test
  294. f90split, a program which splits a file containing multiple FORTRAN90 routines into separate files;
  295. f90split_test
  296. fair_dice_simulation, a program which simulates N tosses of 2 dice, making a histogram of the results.
  297. fair_dice_simulation_test
  298. 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.
  299. fastgl_test
  300. fd_predator_prey, a program which solves a pair of predator prey ordinary differential equations (ODE's) using a finite difference method (FDM) approximation.
  301. fd_predator_prey_test
  302. 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.
  303. fd1d_advection_diffusion_steady_test
  304. 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) difference method, writing graphics files for processing by gnuplot.
  305. fd1d_advection_ftcs_test
  306. 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.
  307. fd1d_advection_lax_test
  308. 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.
  309. fd1d_advection_lax_wendroff_test
  310. 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.
  311. fd1d_burgers_lax_test
  312. 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.
  313. fd1d_burgers_leap_test
  314. fd1d_bvp, a program which applies the finite difference method (FDM) to a two point boundary value problem (BVP) in one spatial dimension.
  315. fd1d_bvp_test
  316. fd1d_heat_explicit, a library which implements a finite difference method (FDM), explicit in time, of the time dependent 1D heat equation;
  317. fd1d_heat_explicit_test
  318. fd1d_heat_implicit, a program which implements a finite difference method (FDM), implicit in time, of the time dependent 1D heat equation;
  319. fd1d_heat_implicit_test
  320. fd1d_heat_steady, a program which implements a finite difference method (FDM) for the steady (time independent) 1D heat equation;
  321. fd1d_heat_steady_test
  322. fd1d_wave, a program which applies the finite difference method (FDM) to solve the time-dependent wave equation in one spatial dimension.
  323. fd1d_wave_test
  324. fd2d_heat_steady, a program which implements a finite difference method (FDM) for the steady (time independent) 2D heat equation;
  325. fd2d_heat_steady_test
  326. fem_basis, a library which can define and evaluate finite element method (FEM) basis functions for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
  327. fem_basis_test
  328. 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;
  329. fem_io_test
  330. 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.
  331. fem_to_gmsh_test
  332. 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.
  333. fem_to_triangle_test
  334. 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.
  335. fem_to_xml_test
  336. 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;
  337. fem1d_test
  338. 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;
  339. fem1d_adaptive_test
  340. 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.
  341. fem1d_bvp_linear_test
  342. 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.
  343. fem1d_bvp_quadratic_test
  344. fem1d_heat_steady, a program which implements the finite element method (FEM) for the steady (time independent) 1D heat equation;
  345. fem1d_heat_steady_test
  346. 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.
  347. fem1d_lagrange_test
  348. 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;
  349. fem1d_nonlinear_test
  350. fem1d_pack, a library which contains utilities for 1D finite element method (FEM) calculations.
  351. fem1d_pack_test
  352. 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;
  353. fem1d_pmethod_test
  354. 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 method (FEM) solution from one mesh to another.
  355. fem1d_project_test
  356. 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.
  357. fem1d_sample_tesst
  358. 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.
  359. fem2d_bvp_linear_test
  360. 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.
  361. fem2d_bvp_quadratic_test
  362. 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.
  363. fem2d_bvp_serene_test
  364. fem2d_pack, a library which implements various 2D finite element method (FEM) calculations;
  365. fem2d_pack_test
  366. 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.
  367. fem2d_poisson_rectangle_test
  368. 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.
  369. fem2d_poisson_rectangle_linear_test
  370. fern_opengl, a program which uses OpenGL to display the Barnsley fractal fern.
  371. 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.
  372. feynman_kac_1d_test
  373. 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.
  374. feynman_kac_2d_test
  375. 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.
  376. feynman_kac_3d_test
  377. fft_openmp, a program which demonstrates the computation of a Fast Fourier Transform (FFT) in parallel, using OpenMP.
  378. fft_serial, a program which computes a Fast Fourier Transform (FFT), and is intended as a starting point for implementing an OpenMP parallel version.
  379. fft_serial_test
  380. fftpack4, a library which implements the Fast Fourier Transform (FFT) by Paul Swarztrauber and Dick Valent, translated by Andrew Fernandes;
  381. fftpack4_test
  382. fftw_test
  383. 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.
  384. file_name_sequence_test
  385. 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.
  386. files_multiple_test
  387. filon, a library which can approximate integrals in which the integrand includes an oscillatory factor of sin(k*x) or cos(k*x).
  388. filon_test
  389. filum, a library which performs various operations with files;
  390. filum_test
  391. 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.
  392. fire_serial_test
  393. flood_opengl, a program which uses OpenGL to allow the user to select regions of an image and flood them with color, by Art Wetzel.
  394. floyd, a library which implements Floyd's algorithm for finding the shortest distance between pairs of nodes on a directed graph.
  395. floyd_test
  396. fn, a library which evaluates elementary and special functions using Chebyshev polynomials; functions include Airy, Bessel I, J, K and Y, beta, confluent hypergeometric, error, gamma, log gamma, Pochhammer, Spence; integrals include hyperbolic cosine, cosine, Dawson, exponential, logarithmic, hyperbolic sine, sine; by Wayne Fullerton.
  397. fn_test
  398. forest_fire_simulation, a program which models the occurrence of fires in a forest, and displays the status of the forest using X Windows, by Michael Creutz.
  399. freefem_msh_io, a library which can read and write files used by the FreeFem finite element program to store mesh information.
  400. freefem_msh_io_test
  401. functions_openmp, a program which demonstrates the behavior of a few of the OpenMP library functions.
  402. gcc_intrinsics, a program which demonstrates or tests some of the intrinsic functions made available by the Gnu gcc compiler for C.
  403. gcc_intrinsics_test
  404. gegenbauer_cc, a library which computes the Gegenbauer weighted integral of a function f(x) using a Clenshaw-Curtis approach.
  405. gegenbauer_cc_test
  406. gegenbauer_polynomial, a library which evaluates the Gegenbauer polynomial and associated functions.
  407. gegenbauer_polynomial_test
  408. 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.
  409. geometry_test
  410. 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).
  411. gmsh_io_test
  412. 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.
  413. gmsh_to_fem_test
  414. gnuplot_test
  415. gnuplot_i, a library which allows an executing C, C++ or FORTRAN program to interact with the gnuplot graphics program, by Nicholas Devillard.
  416. gnuplot_i_test
  417. gprof_test
  418. graphics_test
  419. grid, a library which randomly selects N distinct points from a uniform grid in the unit hypercube in M-dimensional space.
  420. grid_test
  421. haar, a library which computes the Haar transform of data.
  422. haar_test
  423. halton, a library which computes elements of a Halton Quasi Monte Carlo (QMC) sequence, using a simple interface.
  424. halton_test
  425. hammersley, a library which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.
  426. hammersley_test
  427. hankel_cholesky, a library which computes the upper Cholesky factor R of a nonnegative definite symmetric H matrix so that H = R' * R.
  428. hankel_cholesky_test
  429. 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'.
  430. hankel_pds_test
  431. hdf5_test
  432. heat_mpi, a program which demonstrates the use of the Message Passing Interface (MPI), by solving the 1D time dependent heat equation.
  433. 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.
  434. heated_plate_openmp, a program which solves the steady (time independent) heat equation in a 2D rectangular region, using OpenMP to run in parallel.
  435. hello, a program which prints out "Hello, world!".
  436. hello_test
  437. hello_mpi, a program which prints out "Hello, world!" using MPI for parallel programming.
  438. hello_openmp, a program which prints out "Hello, world!" within the OpenMP parallel programming environment.
  439. hermite_cubic, a library which can compute the value, derivatives or integral of a Hermite cubic polynomial, or manipulate an interpolant made up of piecewise Hermite cubic polynomials.
  440. hermite_cubic_test
  441. hermite_exactness, a program which tests the polynomial exactness of Gauss-Hermite quadrature rules for approximating the integral of a function with density exp(-x^2) over the interval (-oo,+oo).
  442. hermite_exactness_test
  443. hermite_integrands, a library which defines test integrands for Hermite integrals with density exp(-x^2) over the interval (-oo,+oo).
  444. hermite_integrands_test
  445. hermite_interpolant, a library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
  446. hermite_interpolant_test
  447. hermite_polynomial, a library which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.
  448. hermite_polynomial_test
  449. hermite_product_polynomial, a library which defines Hermite product polynomials, creating a multivariate polynomial as the product of univariate Hermite polynomials.
  450. hermite_product_polynomial_test
  451. hermite_rule, a program which computes and writes out a Gauss-Hermite quadrature rule for approximating the integral of a function with density exp(-x^2) over the interval (-oo,+oo).
  452. hermite_rule_test
  453. 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.
  454. high_card_simulation_test
  455. hilbert_curve, a library which computes the sequence of discrete Hilbert curves whose limit is a space-filling curve.
  456. hilbert_curve_test
  457. 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.
  458. histogram_data_2d_sample_test
  459. 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.
  460. hyperball_integrals_test
  461. 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;
  462. hyperball_monte_carlo_test
  463. hyperball_volume_monte_carlo, a program which applies a Monte Carlo procedure to estimate the volume of the unit ball in M dimensions;
  464. hyperball_volume_monte_carlo_test
  465. hypercube_exactness, a program which tests the polynomial exactness of a quadrature rule over the interior of the unit hypercube in M dimensions.
  466. hypercube_exactness_test
  467. hypercube_grid, a library which computes a grid of points over the interior of a hypercube in M dimensions.
  468. hypercube_grid_test
  469. 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.
  470. hypercube_integrals_test
  471. 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.
  472. hypercube_monte_carlo_test
  473. 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.
  474. hypersphere_integrals_test
  475. 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;
  476. hypersphere_monte_carlo_test
  477. 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.
  478. hypersphere_properties_test
  479. i4lib, a library which contains many utility routines, using single precision integer (I4) arithmetic.
  480. i4lib_test
  481. i8lib, a library which contains many utility routines, using double precision integer (I8) arithmetic.
  482. i8lib_test
  483. image_components, a library which seeks the connected nonzero or nonblack components of an image or integer array.
  484. image_components_test
  485. image_denoise, a library which applies simple filtering operations to a noisy image.
  486. image_denoise_test
  487. image_denoise_openmp, a library which applies simple filtering operations to a noisy image, carrying out the operation in parallel using OpenMP.
  488. image_edge, a library which demonstrates a simple procedure for edge detection in images.
  489. image_edge_test
  490. 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.
  491. index_test
  492. interp, a library which can be used for parameterizing and interpolating data;
  493. interp_test
  494. isbn, a library which can determine the check digit for an International Standard Book Number or report whether a given ISBN is valid.
  495. isbn_test
  496. 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 display the initial and final configurations.
  497. ising_2d_simulation_test
  498. jacobi, a program which implements the Jacobi iteration for the iterative solution of linear systems.
  499. jacobi_test
  500. jacobi_eigenvalue, a library which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.
  501. jacobi_eigenvalue_test
  502. jacobi_openmp, a program which illustrates the use of the OpenMP application program interface to parallelize a Jacobi iteration solving A*x=b.
  503. jacobi_polynomial, a library which evaluates the Jacobi polynomial and associated functions.
  504. jacobi_polynomial_test
  505. julia_set, a program which generates a TGA or TARGA graphics file of a Julia set.
  506. julia_set_test
  507. julia_set_openmp, a program which produces an image of a Julia set, using OpenMP to carry out the computation in parallel.
  508. kmeans, a library which handles the K-Means problem, which organizes a set of N points in M dimensions into K clusters;
  509. kmeans_test
  510. knapsack_01, a library which uses brute force to solve small versions of the 0/1 knapsack problem;
  511. knapsack_01_test
  512. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
  513. kronrod_test
  514. 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)).
  515. lagrange_approx_1d_test
  516. 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).
  517. lagrange_interp_1d_test
  518. 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).
  519. lagrange_interp_2d_test
  520. 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).
  521. lagrange_interp_nd_test
  522. laguerre_exactness, a program which tests the polynomial exactness of Gauss-Laguerre quadrature rules for integrating functions with density exp(-x) over [0,+oo).
  523. laguerre_exactness_test
  524. laguerre_integrands, a library which implements test problems for approximate integration over a semi-infinite interval, often carried out using Gauss-Laguerre quadrature.
  525. laguerre_integrands_test
  526. laguerre_polynomial, a library which evaluates the Laguerre polynomial, the generalized Laguerre polynomials, and the Laguerre function.
  527. laguerre_polynomial_test
  528. laguerre_rule, a program which computes and writes out a Gauss-Laguerre quadrature rule for approximating the integral of a function with density exp(-x) over the interval [0,+oo).
  529. laguerre_rule_test
  530. laplace_mpi, a program which solves Laplace's equation on a rectangle, using the Message Passing Interface (MPI) for parallel execution.
  531. 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.
  532. laplacian_test
  533. latin_cover, a library which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.
  534. latin_cover_test
  535. latin_random, a library which computes Latin Random Squares of N points in M dimensions;
  536. latin_random_test
  537. latinize, a library which adjusts N points in M dimensions to form a Latin Hypercube;
  538. latinize_test
  539. 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.
  540. lebesgue_test
  541. 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].
  542. legendre_exactness_test
  543. legendre_polynomial, a library which evaluates the Legendre polynomial and associated functions.
  544. legendre_polynomial_test
  545. legendre_product_polynomial, a library which defines Legendre product polynomials, creating a multivariate polynomial as the product of univariate Legendre polynomials.
  546. legendre_product_polynomial_test
  547. legendre_rule, a program which writes out a Gauss-Legendre quadrature rule of given order to integrate a function with density 1 over the interval [-1,+1].
  548. legendre_rule)_test
  549. legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order to integrate a function with density 1 over the interval [-1,+1].
  550. legendre_rule_fast_test
  551. legendre_shifted_polynomial, a library which evaluates the shifted Legendre polynomial, with the domain [0,1].
  552. legendre_shifted_polynomial_test
  553. levenshtein, a library which returns the Levenshtein distance between two strings.
  554. levenshtein_test
  555. life_opengl, a program which uses OpenGL to display the evolution of John Conway's Game of Life, by Simon Green.
  556. 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.
  557. life_serial_test
  558. lights_out_opengl, a program which sets up a Lights Out game and allows the user to solve it, using the OpenGL graphics window.
  559. 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.
  560. line_cvt_lloyd_test
  561. 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.
  562. line_fekete_rule_test
  563. line_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a line segment in 1D.
  564. line_felippa_rule_test
  565. line_grid, a library which computes a grid of points over the interior of a line segment in 1D.
  566. line_grid_test
  567. line_integrals, a library which returns the exact value of the integral of any monomial over the length of the unit line in 1D.
  568. line_integrals_test
  569. 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.
  570. line_monte_carlo_test
  571. 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.
  572. line_ncc_rule_test
  573. 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.
  574. line_nco_rule_test
  575. linpack_bench, a program which is a version of the LINPACK benchmark program;
  576. linpack_bench_test
  577. linpack_d, a library which factors matrices in a variety of formats, and solving the associated linear systems, using double precision real arithmetic; it includes a function to compute 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.
  578. linpack_d_test
  579. linpack_s, a library which factors matrices in a variety of formats, and solving the associated linear systems, using single precision real arithmetic; it includes a function to compute 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.
  580. linpack_s_test
  581. 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.
  582. llsq_test
  583. lobatto_polynomial, a library which evaluates Lobatto polynomials similar to Legendre polynomials except that they are 0 at both endpoints.
  584. lobatto_polynomial_test
  585. 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.
  586. local_min_rc_test
  587. log_normal, a library which returns quantities related to the log normal Probability Distribution Function (PDF).
  588. log_normal_test
  589. log_normal_truncated_ab, a library which returns quantities related to the log normal Probability Distribution Function (PDF) truncated to the interval [A,B].
  590. log_normal_truncated_ab_test
  591. lorenz_ode, a program which approximates solutions to the Lorenz system of ordinary differential equations (ODEs), creating output files that can be displayed by gnuplot.
  592. lorenz_ode_test
  593. 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.
  594. luhn_test
  595. machar, a library which dynamically computes the values of various machine characteristic constants, by William Cody;
  596. machar_test
  597. machine, a library which returns tabulated values of the constants associated with computer arithmetic;
  598. machine_test
  599. makefile_test
  600. mandelbrot, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot set;
  601. mandelbrot_test
  602. mandelbrot_ascii, a program which generates an ASCII text image of the Mandelbrot set, using just two lines of C code.
  603. mandelbrot_ascii_test
  604. mandelbrot_openmp, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot fractal set, using OpenMP for parallel execution;
  605. mandelbrot_ppm, a program which generates a binary Portable Pixel Map (PPM) image of the Mandelbrot set, by Eric Weeks.
  606. mandelbrot_ppm_test
  607. mario, a program which creates a sort of "needlepoint" image of Mario, as an array of colored squares.
  608. mario_test
  609. matmul, a program which carries out a matrix multiplication benchmark;
  610. matmul_test
  611. matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix.
  612. matrix_exponential_test
  613. md, a program which carries out a molecular dynamics (MD) simulation, and is intended as a starting point for implementing an OpenMP parallel version.
  614. md_test
  615. md_openmp, a program which carries out a molecular dynamics (MD) simulation in parallel using OpenMP.
  616. memory_test
  617. 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.
  618. mesh_bandwidth_test
  619. metis_test
  620. 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.
  621. mgmres_test
  622. mgs, a library which is an example of legacy code, which the student is encouraged to study, understand, and document. This example is due to Diane O'Leary.
  623. mgs_test
  624. mixed_test
  625. mm_io, a library which reads and writes a Matrix Market (MM) Sparse Matrix File;
  626. mm_io_test
  627. 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.
  628. monomial_test
  629. monomial_value, a library which evaluates a monomial in M dimensions.
  630. monomial_value_test
  631. 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.
  632. monte_carlo_rule_test
  633. mpi, programs which illustrate the use of the Message Passing Interface (MPI) library, for parallel programming;
  634. mri_to_ascii, a program which converts the binary data in a Magnetic Resonance Imaging (MRI) file to ASCII text.
  635. mri_to_ascii_test
  636. mri_to_pgm, a program which converts the binary data in a Magnetic Resonance Imaging (MRI) file to a sequence of Portable Gray Map (PGM) image files.
  637. mri_to_pgm_test
  638. multigrid_poisson_1d, a library which applies the multigrid method to a discretized version of the 1D Poisson equation.
  639. multigrid_poisson_1d_test
  640. multitask_mpi, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.
  641. multitask_openmp, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using OpenMP for parallel execution.
  642. 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.
  643. mxm_test
  644. mxm_openmp, a program which computes a dense matrix product C=A*B, using OpenMP for parallel execution.
  645. mxm_serial, a program which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.
  646. mxm_serial_test
  647. 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.
  648. naca_test
  649. nas, a program which runs the NASA kernel benchmark.
  650. nas_test
  651. navier_stokes_2d_exact, a library which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations (NSE) over an arbitrary domain in 2D.
  652. navier_stokes_2d_exact_test
  653. navier_stokes_3d_exact, a library which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations (NSE) over an arbitrary domain in 3D.
  654. navier_stokes_3d_exact_test
  655. 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.
  656. nearest_interp_1d_test
  657. netcdf_test
  658. newton_interp_1d, a library which finds a polynomial interpolant to data using Newton divided differences.
  659. newton_interp_1d_test
  660. nintlib, a library which implements approximate integration (quadrature) in M dimensions;
  661. nintlib_test
  662. normal, a library which implements random number generators (RNG's) for normally distributed values.
  663. normal_test
  664. obj_to_ply, a program which converts a 3D graphics file from OBJ format to PLY format format, by Greg Turk.
  665. ode, a library which solves a system of ordinary differential equations (ODEs), by Shampine and Gordon;
  666. ode_moshier, a library which implements the Adams-Bashforth-Moulton and Runge-Kutta (RK) methods of solving systems of ordinary differential equations (ODE's), by Steven Moshier.
  667. opengl_test
  668. openmp, programs which illustrate the use of the OpenMP interface for parallel programming shared memory system;
  669. 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.
  670. optimize, a program which looks at the use of automatic optimization by the compiler to make the executable code run faster.
  671. 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.
  672. owens, a library which evaluates Owen's T function;
  673. 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.
  674. partial_digest, a library which solves the partial digest problem;
  675. partition_problem, a library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
  676. 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.
  677. pbma_io, a library which reads or writes an ASCII Portable Bit Map (PBM) bit map graphics file;
  678. pbmb_io, a library which reads or writes a binary Portable Bit Map (PBM) graphics file;
  679. pbmlib, a library which reads or writes graphics files in the Portable Bit Map (PBM) format;
  680. pce_burgers, a program which 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.
  681. 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.
  682. pcl_read, a program which reads a PCL file and extracts the numeric data;
  683. 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.
  684. pentominoes, a library which provides some utilities for manipulating pentominoes.
  685. peri1d, a program which sets up and solves a 1D time-dependent peridynamics problem, by Miroslav Stoyanov;
  686. peri2d, a program which sets up and solves a 2D time-dependent peridynamics problem, by Miroslav Stoyanov;
  687. pgma_io, a library which reads or writes ASCII Portable Gray Map (PGM) 2D graphics files;
  688. pgmb_io, a library which reads or writes a binary Portable Gray Map (PGM) 2D graphics file;
  689. 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).
  690. pig_latin, a program which converts its input to Pig Latin; a winner of the International Obfuscated C Code Competition in the Most Humorous category, by Don Dodson;
  691. pink_noise, a library which computes a pink noise signal obeying a 1/f power law.
  692. plato_ply, a program which writes a PLY graphics file for any platonic solid, by Greg Turk.
  693. ply_io, a library which reads or writes a 3D graphics file in PLY format, by Greg Turk;
  694. ply_to_iv, a program which converts a 3D graphics file from PLY format to Inventor (IV) format, by Greg Turk.
  695. ply_to_obj, a program which converts a 3D graphics file from PLY format to OBJ format, by Greg Turk.
  696. png_io, a library which reads and writes files in the Portable Network Graphics (PNG) format.
  697. point_merge, a library which considers N points in M dimensional space, and counts or indexes the unique or tolerably unique items.
  698. poisson_mpi, a program which computes a solution to the Poisson equation in a rectangle, using the Jacobi iteration to solve the linear system, and MPI to carry out the Jacobi iteration in parallel.
  699. poisson_openmp, a program which computes a 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.
  700. poisson_serial, a program which computes a solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.
  701. 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.
  702. polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
  703. polygon_grid, a library which generates a grid of points over the interior of a polygon in 2D.
  704. polygon_integrals, a library which returns the exact value of the integral of any monomial over the interior of a polygon in 2D.
  705. 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.
  706. 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.
  707. 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.
  708. polynomial, a library which adds, multiplies, differentiates, evaluates and prints multivariate polynomials in a space of M dimensions.
  709. 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.
  710. 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.
  711. polyomino_enumerate, a library which enumerates chiral, fixed and free polyominoes of moderate order.
  712. 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.
  713. 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.
  714. polyomino_transform, a program which transforms the matrix representing a polyomino by reflection and rotation.
  715. power_method, a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
  716. power_rule, a program which constructs a power rule, that is, a product quadrature rule from identical 1D factor rules.
  717. ppc_xmalloc, a library which manages the allocation of memory, from Rostamian's "Programming Projects in C";
  718. ppma_io, a library which reads or writes an ASCII Portable Pixel Map (PPM) 2D graphics file;
  719. ppmb_io, a library which reads or writes a binary Portable Pixel Map (PPM) 2D graphics file;
  720. praxis, a library which minimizes a scalar function of several variables, without requiring derivative information, by Richard Brent.
  721. prime_mpi, a program which counts the number of primes between 1 and N, using MPI for parallel execution.
  722. prime_openmp, a program which counts the number of primes between 1 and N, using OpenMP for parallel execution.
  723. prime_serial, a program which counts the number of primes between 1 and N, and is intended as a starting point for a parallel version.
  724. 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.
  725. product_rule, a program which creates an M-dimensional quadrature rule from a product of distinct 1d quadrature rules;
  726. pthreads_test
  727. pwl_approx_1d, a library which approximates a set of data using a piecewise linear function.
  728. pwl_interp_1d, a library which interpolates a set of data using a piecewise linear function. creating graphics files for processing by gnuplot.
  729. pwl_interp_2d, a library which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.
  730. pwl_interp_2d_scattered, a library which evaluates a piecewise linear interpolant to data which is available at an irregularly arranged set of points.
  731. pyramid_exactness, a program which investigates the polynomial exactness of a quadrature rule over the interior of the unit pyramid in 3D.
  732. pyramid_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3D.
  733. pyramid_grid, a library which computes a grid of points over the interior of the unit pyramid in 3D;
  734. pyramid_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit pyramid in 3D.
  735. 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;
  736. pyramid_rule, a program which computes a quadrature rule over the interior of the unit pyramid in 3D.
  737. qr_solve, a library which computes the linear least squares (LLS) solution of a system A*x=b.
  738. quad_mpi, a program which applies a quadrature rule to estimate an integral, working in parallel by using MPI;
  739. quad_openmp, a program which applies a quadrature rule to estimate an integral over a 1D interval, using OpenMP for parallel execution;
  740. quad_serial, a program which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
  741. quad2d_openmp, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, using OpenMP for parallel execution;
  742. 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.
  743. 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).
  744. quadrature_golub_welsch, a library which computes the points and weights of a Gaussian quadrature rule using the Golub-Welsch procedure.
  745. 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.
  746. quadrature_weights_vandermonde, a library which computes the weights of a quadrature rule using the Vandermonde matrix, assuming that the points have been specified.
  747. 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.
  748. quadrule, a library which defines quadrature rules for approximating integrals;
  749. quaternions, a library which carries out some simple arithmetic operations for quaternions.
  750. r4lib, a library which contains many utility routines, using single precision real (R4) arithmetic.
  751. 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.
  752. r8ge, a library which contains linear algebra routines for R8GE matrices (real, 64 bit, General format).
  753. r8lib, a library which contains many utility routines, using double precision real (R8) arithmetic.
  754. r8lib_test
  755. r8poly, a library which contains a number of utilities for polynomials with R8 coefficients, that is, using double precision or 64 bit real arithmetic.
  756. 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.
  757. rand48, a program which demonstrates the rand48 family of random number generators (RNG's) available in the C/C++ standard library.
  758. randlc, a library which implements a random number generator (RNG) used by the NAS Benchmark programs.
  759. random_data, a library which uses a random number generator (RNG) to sample points for various probability distributions, spatial dimensions, and geometries, including the M-dimensional cube, ellipsoid, simplex and sphere.
  760. 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.
  761. random_openmp, a program which illustrates how a parallel program using OpenMP can generate multiple distinct streams of random numbers.
  762. random_sorted, a library which generates vectors of random values which are already sorted.
  763. 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.
  764. rbf_interp_1d, a library which defines and evaluates radial basis function (RBF) interpolants to 1D data.
  765. rbf_interp_2d, a library which defines and evaluates radial basis function (RBF) interpolants to 2D data.
  766. rbf_interp_nd, a library which defines and evaluates radial basis function (RBF) interpolants to M-dimensional data.
  767. rbox, a program which generates random sets of points for testing computational geometry algorithms;
  768. reactor simulation, a program which is a simple Monte Carlo simulation of the shielding effect of a slab of a certain thickness in front of a neutron source. This program was provided as an example with the book "Numerical Methods and Software."
  769. 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.
  770. 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.
  771. rkf45, a library which applies the Runge-Kutta-Fehlberg (RKF) algorithm to solve a system of ordinary differential equations (ODE's);
  772. 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.
  773. root_rc, a library which seeks a solution of a scalar nonlinear equation f(x)=0, using reverse communication (RC), by Gaston Gonnet.
  774. roots_rc, a library which seeks solutions of a system of nonlinear equations, using reverse communication (RC), by Gaston Gonnet.
  775. rot13, a program which makes a copy of a file which has been encoded using the ROT13 coding and a ROT5 coding for digits.
  776. 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.
  777. 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.
  778. satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem.
  779. satisfy_mpi, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem, using MPI to perform the calculation in parallel.
  780. satisfy_openmp, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem, using OpenMP for parallel execution.
  781. schedule_openmp, a program which demonstrates the default, static, and dynamic methods of scheduling loop iterations in OpenMP to avoid work imbalance.
  782. screenshot_opengl, a program which shows how a program using the OpenGL graphics library can save a screenshot of the graphics being displayed.
  783. 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;
  784. 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.
  785. 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.
  786. set_theory, a library which demonstrates various set theoretic operations using several models of a set.
  787. sftpack, a library which implements the slow Fourier transform, intended as a teaching tool and comparison with the Fast Fourier Transform (FFT).
  788. sgefa_openmp, a program which compares a standard linear algebra solver against a revised version which can be run in parallel with OpenMP.
  789. sgmga, a library which creates sparse grids using a mixture of 1D quadrature rule families, allowing user specified growth rates for each family, allowing anisotropic weights for each dimension.
  790. shallow_water_1d, a program which simulates the evolution of a 1D fluid governed by the time-dependent shallow water equations.
  791. shepard_interp_1d, a library which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
  792. shepard_interp_2d, a library which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.
  793. shepard_interp_nd, a library which defines and evaluates Shepard interpolants to M-dimensional data, based on inverse distance weighting.
  794. showme, a program which displays triangulations and meshes, by Jonathan Shewchuk;
  795. simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
  796. 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.
  797. simplex_grid, a library which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.
  798. 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.
  799. 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.
  800. sine_transform, a library which demonstrates some simple properties of the discrete sine transform.
  801. smolpack, a library which estimates the integral of a function over an M-dimensional hypercube using a sparse grid, by Knut Petras;
  802. snakes_and_ladders, programs which simulate and investigate a one-player version of the game of Snakes and Ladders.
  803. solve, a library which implements a linear solver which makes it easy to create doubly-dimensioned arrays and solve associated linear systems.
  804. sort_rc, a library which can sort a list of any kind of objects, using reverse communication (RC).
  805. 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.
  806. sparse_grid_cc, a library which creates sparse grids based on Clenshaw-Curtis rules.
  807. sparse_grid_cc_dataset, a program which creates a sparse grid dataset based on Clenshaw-Curtis rules.
  808. 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.
  809. sparse_interp_nd, a library which can be used to define a sparse interpolant to a function f(x) of a multidimensional argument.
  810. sphere_exactness, a program which tests the polynomial exactness of a quadrature rule over the surface of the unit sphere in 3D;
  811. 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.
  812. sphere_grid, a library which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, over the surface of the unit sphere in 3D.
  813. sphere_integrals, a library which defines test functions for integration over the surface of the unit sphere in 3D.
  814. sphere_lebedev_rule, a library which computes Lebedev quadrature rules over the surface of the unit sphere in 3D;
  815. sphere_lebedev_rule_test
  816. 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.
  817. 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.
  818. sphere_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function over the surface of the unit sphere in 3D;
  819. sphere_quad, a library which used triangulation to approximate an integral over the surface of the unit sphere in 3D;
  820. sphere_stereograph, a library which computes the stereographic mapping between points on the unit sphere in 3D and points on the plane Z = 1; a generalized mapping is also available.
  821. 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.
  822. 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.
  823. 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.
  824. spline, a library which interpolates or approximates data by piecewise polynomial functions;
  825. spring_ode, a program which shows how line printer 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.
  826. 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.
  827. 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.
  828. square_exactness, a library which investigates the polynomial exactness of quadrature rules for f(x,y) over the interior of a rectangle in 2D.
  829. square_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a square in 2D.
  830. square_grid, a library which computes a grid of points over the interior of a square in 2D.
  831. 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.
  832. 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.
  833. 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.
  834. 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.
  835. st_io a library which reads and writes sparse linear systems stored in the Sparse Triplet (ST) format.
  836. st_to_cc, a library which converts sparse matrix data from Sparse Triplet (ST) format to Compressed Column (CC) format;
  837. star_discrepancy, a program which computes bounds on the star discrepancy of a set of N points in M dimensions, by Eric Thiemard.
  838. stochastic_diffusion, functions which implement several versions of a stochastic diffusivity coefficient.
  839. stochastic_diffusion_test
  840. 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.
  841. stochastic_heat2d_test,
  842. stochastic_rk, a library which applies a Runge-Kutta (RK) scheme to a stochastic ordinary differential equation (SODE).
  843. stokes_2d_exact, a library which evaluates exact solutions to the incompressible steady Stokes equations over the unit square in 2D.
  844. 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.
  845. 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.
  846. subpak, a library which contains many utility routines;
  847. 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.
  848. subset_sum, a program which seeks solutions of the subset sum problem.
  849. subset_sum_serial, a program which seeks solutions of the subset sum problem, intended as a starting point for a parallel computing approach.
  850. super_blas, a library which implements some of the BLAS routines, for particular use by superlu;
  851. 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.
  852. superlu_test
  853. svd_snowfall, a program which reads a file containing historical snowfall data and analyzes the data with the Singular Value Decomposition (SVD).
  854. svd_test, a program which demonstrates the calculation of the singular value decomposition (SVD) and some of its properties;
  855. 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.
  856. table_io, a library which reads and writes a simple dataset stored as a table file;
  857. 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.
  858. test_approx, a library which implements test problems for approximation, provided as a set of (x,y) data.
  859. test_eigen, a library which implements test matrices for eigenvalue analysis.
  860. test_int, a library which implements test problems for approximate integration (quadrature) in one dimension.
  861. test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
  862. test_interp, a library which defines test problems for interpolation, provided as a set of (x,y) data.
  863. test_interp_1d, a library which defines test problems for interpolation of data y(x), which depends on a 1D argument.
  864. test_interp_2d, a library which defines test problems for interpolation of data z(x,y), which depends on a 2D argument.
  865. test_interp_nd, a library which defines test problems for interpolation of data z(x), depending on an M-dimensional argument.
  866. test_lls, a library which implements linear least squares (LLS) test problems of the form A*x=b.
  867. 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.
  868. test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
  869. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  870. test_nearest, a library which tests the time complexity of various procedures for solving the nearest neighbor problem.
  871. 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.
  872. test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
  873. test_partial_digest, a library which can generate example cases of the partial digest problem.
  874. test_values, a library which returns a small set of values for a variety of mathematical functions, suitable for a rough test of accuracy for algorithms;
  875. test_values_test
  876. test_zero, a library which implements test problems for the solution of a single nonlinear equation in one variable.
  877. testpack, a program which demonstrates the use of a set of test integrand functions chosen by Alan Genz.
  878. tet_mesh, a library which carries out various tasks associated with tetrahedral meshes in 3D;
  879. 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.
  880. tetrahedron_exactness, a program which tests the polynomial exactness of a quadrature rule over the interior of a tetrahedron in 3D.
  881. tetrahedron_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.
  882. tetrahedron_grid, a library which computes a grid of points over the interior of a tetrahedron in 3D.
  883. tetrahedron_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit tetrahedron in 3D.
  884. 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.
  885. tetrahedron_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of a general tetrahedron in 3D.
  886. tetrahedron_ncc_rule, a library which defines Newton-Cotes closed (NCC) quadrature rules over the interior of a tetrahedron in 3D.
  887. tetrahedron_nco_rule, a library which defines Newton-Cotes open (NCO) quadrature rules over the interior of a tetrahedron in 3D.
  888. 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.
  889. tetrahedron01_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit tetrahedron in 3D.
  890. 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.
  891. timer, programs which illustrate how to estimate the CPU time taken by a portion of a program;
  892. timestamp, a library which returns the current YMDHMS date as a timestamp, and performs other timing chores;
  893. toeplitz_cholesky, a library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
  894. toms097, a library which computes the distance between all pairs of nodes in a directed graph with weighted edges, using Floyd's algorithm. This is a version of ACM TOMS algorithm 97.
  895. 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.
  896. toms178, a library which seeks the minimizer of a function of several variables, using the Hooke-Jeeves direct search method, by Arthur Kaupe. This is a version of ACM TOMS algorithm 178.
  897. toms179, a library which calculates the incomplete Beta ratio, by Oliver Ludwig; this is a version of ACM TOMS algorithm 179.
  898. toms243, a library which evaluates the logarithm of a complex value, by David Collens. This is a version of ACM TOMS algorithm 243.
  899. toms243_test
  900. toms291 a library which approximates the logarithm of the Gamma function; This is a version of ACM TOMS algorithm 291.
  901. toms322, a library which evaluates the F and Student's T Cumulative Density Function (CDF); This is a version of ACM TOMS algorithm 322.
  902. toms443, a library which evaluates Lambert's W function. This is a version of ACM TOMS algorithm 443.
  903. toms446, a library which manipulates Chebyshev series for interpolation and approximation. This is a version of ACM TOMS algorithm 446, by Roger Broucke.
  904. 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.
  905. 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.
  906. toms577, a library which evaluates Carlson's elliptic integral functions RC, RD, RF and RJ. This is a version of ACM TOMS algorithm 577.
  907. toms655, a library which computes the weights for interpolatory quadrature rule; this library is commonly called IQPACK, by Sylvan Elhay and Jaroslav Kautsky. This is a version of ACM TOMS algorithm 655.
  908. toms722, a library which supports IEEE arithmetic. This is a version of ACM TOMS algorithm 722.
  909. toms743, a library which evaluates Lambert's W function. This is a version of ACM TOMS algorithm 743, by Barry, Barry and Culligan-Hensley.
  910. 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.
  911. toms917, a library which evaluates the Wright Omega function, by Piers Lawrence, Robert Corless, David Jeffrey. This is a version of ACM TOMS algorithm 917.
  912. treepack, a library which carries out computations on trees, a simple kind of graph that is minimally connected.
  913. triangle, a program which generates meshes, Delaunay triangulations, and Voronoi diagrams, by Jonathan Shewchuk;
  914. 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.
  915. triangle_bench, a script which times the execution of the triangle() program on a sequence of sets of randomly generated nodes in the unit square.
  916. triangle_exactness, a program which tests the polynomial exactness of a quadrature rule over the interior of a triangle in 2D.
  917. triangle_fekete_rule, a library which sets up one of seven Fekete rules for interpolation or quadrature over the interior of a triangle in 2D.
  918. triangle_felippa_rule, a library which returns Felippa's quadratures rules for approximating integrals over the interior of a triangle in 2D.
  919. triangle_grid, a library which computes a grid of points over the interior of a triangle in 2D.
  920. triangle_integrals, a library which returns the exact value of the integral of any polynomial over the interior of an arbitrary triangle in 2D.
  921. triangle_interpolate, a library which shows how vertex data can be interpolated at any point in the interior of a triangle.
  922. triangle_io, a library which can read or write some of the files created by Jonathan Shewchuk's triangle program.
  923. triangle_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of a general triangle in 2D.
  924. triangle_ncc_rule, a library which defines Newton-Cotes closed (NCC) quadrature rules over the interior of a triangle in 2D.
  925. triangle_nco_rule, a library which defines Newton-Cotes open (NCO) quadrature rules over the interior of a triangle in 2D.
  926. triangle_properties, a library which computes properties, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality, of a triangle in 2D.
  927. 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.
  928. 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.
  929. 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.
  930. 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.
  931. triangle_twb_rule, a C library which generates the points and weights of quadrature rules over the interior of a triangle in 2D, determined by Taylor, Wingate, and Bos.
  932. triangle_twb_rule_test
  933. triangle01_integrals, a library which returns the integral of any monomial over the interior of the unit triangle in 2D.
  934. triangle01_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit triangle in 2D.
  935. triangulate, a program which triangulates a polygonal region, by Joseph ORourke;
  936. 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.
  937. 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.
  938. triangulation_svg, a program which creates an SVG image of a triangulation, which can be displayed by a web browser.
  939. 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;
  940. trig_to_neib, a program which reads node and ele files, a format prescribed by Shewchuk's triangle program, describing a triangulation, and produces a file defining the neighbor triangles of each element; the program can also produce information about the Voronoi diagram. The program is by Lili Ju.
  941. 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.
  942. 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].
  943. tsp_brute, a program which reads a file of city-to-city distances and solves a (small!) traveling salesperson problem (TSP), using brute force.
  944. ubvec, a library which demonstrates how nonnegative integers can be stored as unsigned binary vectors, and arithmetic can be performed on them.
  945. umfpack_test
  946. unicycle, a library which considers permutations containing a single cycle, sometimes called cyclic permutations.
  947. uniform, a library which contains uniform random number generators (RNG's) for several arithmetic types.
  948. upc, is a library which can compute the check digit associated with a uniform product code (UPC), or it can report whether a 12-digit UPC is actually valid.
  949. valgrind_test
  950. van_der_corput, a library which computes elements of the van der Corput one-dimensional Quasi Monte Carlo (QMC) sequence, using a simple interface.
  951. vandermonde, a library which implements the Bjork-Pereyra algorithm for accurate solution of linear systems involving the Vandermonde matrix.
  952. vandermonde_approx_1d, a library which finds a polynomial approximant to data y(x) of a 1D argument by solving an overdetermined linear system for the polynomial coefficients involving the Vandermonde matrix.
  953. 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.
  954. 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.
  955. 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.
  956. walker_sample, a library which efficiently samples a discrete probability vector using Walker sampling.
  957. walsh, a library which implements versions of the Walsh and Haar transforms.
  958. wathen, a library which compares storage schemes (full, banded, sparse triplet ) and solution strategies (Linpack full, Linpack banded, conjugate gradient (CG)) for linear systems involving the Wathen matrix, which can arise when solving a problem using the finite element method (FEM).
  959. wave_mpi, a program which uses the finite difference method (FDM) and MPI to estimate a solution to the wave equation.
  960. wavelet, a library which does some simple wavelet calculations;
  961. wedge_exactness, a program which investigates the polynomial exactness of a quadrature rule over the interior of the unit wedge in 3D.
  962. wedge_felippa_rule, a library which returns quadrature rules for approximating integrals over the interior of the unit wedge in 3D.
  963. wedge_grid, a library which computes a grid of points over the interior of the unit wedge in 3D.
  964. wedge_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit wedge in 3D.
  965. wedge_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit wedge in 3D.
  966. 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.
  967. wishart, a library which produces sample matrices from the Wishart or Bartlett distributions, useful for sampling random covariance matrices.
  968. wtime, a library which returns a reading of the wall clock time in seconds.
  969. x_window_test
  970. xdr_test
  971. zero_rc, a library which seeks a solution of a scalar nonlinear equation f(x)=0, using reverse communication (RC), by Richard Brent.
  972. ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.
  973. ziggurat_inline, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang. In this original version, the random number generators are implemented inline, for increased speed.
  974. 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 14 June 2019.