C++ Source Codes


  1. anagram, a program which determines anagrams of a string, by James Cherry;
  2. ann, a library which computes Approximate Nearest Neighbors, by David Mount and Sunil Arya;
  3. ann_test, a program which uses the ann library to approximate the nearest neighbors of a set of points stored in a file;
  4. ann_to_fig, a program which plots the search tree used by the ann library, while seeking the approximate nearest neighbors of a set of points;
  5. args, a program which reports the command line arguments with which it was invoked;
  6. asa005, a library which evaluates the lower tail of the noncentral Student's T distribution; this is a C++ version of Applied Statistics Algorithm 5;
  7. asa006, a library which computes the Cholesky factor of a positive definite symmetric matrix; this is a C++ version of Applied Statistics Algorithm 6;
  8. asa007, a library which computes the inverse of a positive definite symmetric matrix; this is a C++ version of Applied Statistics Algorithm 7;
  9. asa032, a library which evaluates the incomplete Gamma function; this is a C++ version of Applied Statistics Algorithm 32;
  10. asa047, a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm; this is a C++ version of Applied Statistics Algorithm 47;
  11. asa058, a library which carries out K-means clustering of data; this is a C++ version of Applied Statistics Algorithm 58;
  12. asa063, a library which evaluates the incomplete Beta function; this is a C++ version of Applied Statistics Algorithm 63;
  13. asa066, a library which computes the cumulative density function of the standard normal distribution; this is a C++ version of Applied Statistics Algorithm 66;
  14. asa076, a library which evaluates Owen's T function; this is a C++ version of Applied Statistics Algorithm 76;
  15. asa091, a library which computes the percentage points of the Chi-square distribution; this is a C++ version of Applied Statistics Algorithm 91;
  16. asa103, a library which evaluates the digamma or psi function; this is a C++ version of Applied Statistics Algorithm 103;
  17. asa109, a library which inverts the incomplete Beta function; this is a C++ version of Applied Statistics Algorithm 109;
  18. asa111, a library which evaluates the percentage points of the normal distribution; this is a C++ version of Applied Statistics Algorithm 111;
  19. asa113, a library which clusters data using the Banfield and Bassill transfer and swap algorithm; this is a C++ version of Applied Statistics Algorithm 113;
  20. asa121, a library which evaluates the trigamma function; this is a C++ version of Applied Statistics Algorithm 121;
  21. asa136, a library which clusters data using the Hartigan and Wong algorithm; this is a C++ version of Applied Statistics Algorithm 136;
  22. asa144, a library which randomly generates tables with given row and column sums; this is a C++ version of Applied Statistics Algorithm 144;
  23. asa147, a library which evaluates the incomplete Gamma function; this is a C++ version of Applied Statistics Algorithm 147;
  24. asa152, a library which evaluates point and cumulative probabilities associated with the hypergeometric distribution; this is a C++ version of Applied Statistics Algorithm 152;
  25. asa159, a library which computes a random table with given row and column sums; this is a C++ version of Applied Statistics Algorithm 159;
  26. asa172, a library which simulates the generation of a set of multi-indices by nested DO-Loops; this is a C++ version of Applied Statistics Algorithm 172;
  27. asa183, a library which implements the Wichman-Hill pseudorandom number generator; this is a C++ version of Applied Statistics Algorithm 183;
  28. asa226, a library which evaluates the noncentral incomplete Beta function; this is a C++ version of Applied Statistics Algorithm 226;
  29. asa239, a library which evaluates the incomplete Gamma function; this is a C++ version of Applied Statistics Algorithm 239;
  30. asa241, a library which computes the inverse of the normal CDF; this is a C++ version of Applied Statistics Algorithm 241;
  31. asa243, a library which evaluates the lower tail of the noncentral Student's T distribution; this is a C++ version of Applied Statistics Algorithm 243;
  32. asa245, a library which evaluates the logarithm of the Gamma function; this is a C++ version of Applied Statistics Algorithm 245;
  33. asa299, a library which computes the lattice points (integer coordinates) in an M-dimensional simplex; this is a C++ version of Applied Statistics Algorithm 299;
  34. asa310, a library which evaluates the noncentral incomplete Beta function; this is a C++ version of Applied Statistics Algorithm 310;
  35. ball_grid, a library which computes grid points inside a 3D ball.
  36. ball_volume_monte_carlo, a program which applies a Monte Carlo procedure to estimate the volume of the M-dimensional unit ball;
  37. bernstein, a library which evaluates the Bernstein polynomials;
  38. beta_nc, a library which evaluates the CDF of the noncentral Beta distribution;
  39. bins, a library which handles geometric data partially sorted into bins;
  40. bits_to_ui, a program which reads a text file of bits and writes a binary file in which groups of 32 bits have been interpreted as an unsigned integer;
  41. black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, by Desmond Higham.
  42. blas1, a library which contains the Basic Linear Algebra Subprograms (BLAS) for level 1 (vector-vector operations), for single and double precision, and for real and complex arithmetic.
  43. blas1_c, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision complex arithmetic;
  44. blas1_d, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), using double precision real arithmetic;
  45. blas1_s, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision real arithmetic;
  46. blas1_z, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), using double precision complex arithmetic;
  47. blend, a library which uses transfinite interpolation to fill in data within a square or a cube based on boundary values;
  48. bmp_io, a library which reads and writes graphics information stored in a Microsoft BMP file;
  49. bmp_to_ppma, a program which converts a Microsoft BMP file to an ASCII Portable Pixel Map (PPM) file;
  50. bmp_to_ppmb, a program which converts a Microsoft BMP file to a binary Portable Pixel Map (PPM) file;
  51. boost, programs which illustrate the use of some of the Boost libraries;
  52. 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;
  53. brent, a library which contains routines for finding zeroes or minima of a scalar function of a scalar variable, without the use of derivative information, by Richard Brent. The C++ version includes some customizations by John Denker.
  54. brent_old, a library which contains routines for finding zeroes or minima of a scalar function of a scalar variable, without the use of derivative information, by Richard Brent.
  55. burgers_solution, a library which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
  56. c++_calls_f77, programs which illustrate a C++ program calling a FORTRAN77 subroutine.
  57. c++_calls_f90, programs which illustrate a C++ program calling a FORTRAN90 subroutine.
  58. c4lib, a library which implements a basic level of single precision complex (C4) arithmetic.
  59. c8_complex_lib, a C++ class for double precision complex (C8) numbers;
  60. c8lib, a library which implements certain elementary functions for double precision complex (C8) variables;
  61. calendar_rd, a program which computes the representation of a given date in a number of calendrical systems, by Edward Reingold and Nachum Dershowitz
  62. calpak, a library which makes various calendar calculations;
  63. caustic_opengl, a program which computes a caustic curve and displays it using OpenGL.
  64. ccn_rule, a program which defines a nested Clenshaw Curtis quadrature rule.
  65. ccvt_box, a program which carries out a CVT calculation constrained to a box region, with points projected to the boundary;
  66. chebyshev, a library which computes the Chebyshev interpolant/approximant to a given function over an interval.
  67. chebyshev_polynomial, a library which evaluates the Chebyshev polynomial and associated functions.
  68. chebyshev1_rule, a program which computes and writes out a Gauss-Chebyshev type 1 quadrature rule of given order.
  69. chebyshev2_rule, a program which computes and writes out a Gauss-Chebyshev type 2 quadrature rule of given order.
  70. chrpak, a library which can manipulate characters and strings;
  71. circle_arc_grid, a program which computes grid points along a circular arc.
  72. circle_grid, a library which computes grid points inside a circle.
  73. cities, a library which works with city-to-city distance matrices;
  74. clenshaw_curtis_rule, a program which implements a Clenshaw Curtis quadrature rule;
  75. cnf_io, a library which reads or writes Conjunctive Normal Form (CNF) data files, used to store boolean formulas.
  76. collatz_recursive, a library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
  77. colored_noise, a library which generates samples of noise obeying a 1/f^alpha power law.
  78. combination_lock, a program which simulates the process of determining the secret combination of a lock.
  79. combo, a library which handles combinatorial problems;
  80. communicator_mpi, a program which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.
  81. 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.
  82. complex_numbers, a program which demonstrates some simple features involved in the use of complex numbers in C programming.
  83. condition, a library which implements methods of computing or estimating the condition number of a matrix.
  84. cordic, a library which computes a few special functions using the CORDIC algorithm.
  85. cpp, programs which illustrate some features of the C++ language;
  86. cpp_intrinsics, a program which illustrates the use of intrinsic functions supplied by the C++ language.
  87. cr2crlf, a program which converts carriage returns to carriage returns + linefeeds in a file;
  88. cr2lf, a program which converts carriage returns to linefeeds in a file;
  89. crc, a library which computes the cyclic redundancy checksum (CRC) as used by the PNG data format.
  90. crrm, a program which removes carriage returns from a file;
  91. cvt, a library which computes an N point CVT Centroidal Voronoi Tessellation (CVT) in M dimensions;
  92. cvt_dataset, a program which creates a Centroidal Voronoi Tessellation (CVT) dataset;
  93. cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
  94. dcdflib, a library which evaluates and inverts of various cumulative distribution functions;
  95. deblank, a program which removes all blank lines from a file;
  96. decomment, a program which removes from a file every line that begins with "#" (a common convention for indicating comments);
  97. delaunay_tree_2d, a program which computes the Delaunay triangulation of a 2D dataset, by Olivier Devillers.
  98. detroff, a program which removes from a file every occurrence of the troff overprint pair character+backspace, which can make a MAN page printable;
  99. diaphony, a program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.
  100. dijkstra, a program which runs a simple example of Dijkstra's minimum distance algorithm for graphs.
  101. dijkstra_openmp, a program which uses OpenMP to parallelize a simple example of Dijkstra's minimum distance algorithm for graphs.
  102. discrete_pdf_sample, 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.
  103. dislin, programs which illusrate the use of DISLIN, a scientific plotting package;
  104. divdif, a library which computes divided difference polynomials from data;
  105. duel_simulation, a program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
  106. dunavant, a library which defines Dunavant quadrature rules in a triangle;
  107. ellipse_grid, a library which computes grid points inside an ellipse.
  108. ellipsoid_grid, a library which computes grid points inside a 3D ellipsoid.
  109. emps, a program which expands a compressed MPS linear programming file, by David Gay.
  110. faure, a library which computes elements of the Faure M-dimensional quasirandom sequence;
  111. faure_dataset, a program which creates a Faure quasirandom dataset;
  112. fd_predator_prey, a program which solves a pair of predator prey ODE's using a finite difference approximation.
  113. fd1d_burgers_lax, a program which applies the finite difference method and the Lax Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  114. fd1d_burgers_leap, a program which applies the finite difference method and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  115. fd1d_bvp, a program which applies the finite difference method to a two point boundary value problem in one spatial dimension.
  116. fd1d_heat_explicit, a library which implements a finite difference solution, explicit in time, of the time dependent 1D heat equation;
  117. fd1d_heat_implicit, a program which implements a finite difference solution, implicit in time, of the time dependent 1D heat equation;
  118. fd1d_heat_steady, a program which implements a finite difference solution for the steady (time independent) 1D heat equation;
  119. fd1d_wave, a program which applies the finite difference method to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.
  120. fair_dice_simulation, a program which simulates N tosses of 2 dice, making a histogram of the results.
  121. fekete, a library which sets up one of seven Fekete rules for interpolation or quadrature in a triangle;
  122. felippa, a library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.
  123. fem_basis, a library which can define and evaluate basis functions for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
  124. fem_io, a library which reads or writes FEM files (three text files describing a finite element model);
  125. fem_to_mesh, a program which reads a pair of FEM files defining node coordinates and elements, and creates a corresponding MESH file.
  126. fem1d, a program which applies the finite element method, using piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  127. fem1d_adaptive, a program which uses an adaptive mesh when applying the finite element method, with piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  128. fem1d_bvp_linear, a program which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
  129. fem1d_heat_steady, a program which implements the finite element method for the steady (time independent) 1D heat equation;
  130. fem1d_nonlinear, a program which applies the finite element method, with piecewise linear basis functions, to a nonlinear two point boundary value problem in 1D;
  131. fem1d_pack, a library which contains utilities for 1D finite element calculations.
  132. fem1d_pmethod, a program which applies the p-method version of the finite element method to a linear two point boundary value problem in 1D;
  133. fem1d_project, a program which projects data into a finite element space, including the least squares approximation of data, or the projection of a finite element solution from one mesh to another.
  134. 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.
  135. fem2d_heat, a program which applies the finite element method to solve the time-dependent heat equation in an arbitrary triangulated region in 2D;
  136. fem2d_heat_rectangle, a program which applies the finite element method to solve the time dependent heat equation on a square in 2D;
  137. fem2d_heat_square, a library which defines the geometry of a square region, as well as boundary and initial conditions for a given heat problem, and is called by fem2d_heat as part of a solution procedure.
  138. fem2d_navier_stokes, a program which applies the finite element method to solve the steady incompressible Navier Stokes equations in an arbitrary triangulated region in 2D;
  139. fem2d_navier_stokes_cavity, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the cavity problem.
  140. fem2d_navier_stokes_channel, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the channel problem.
  141. fem2d_navier_stokes_inout, a library which contains the user-supplied routines necessary to run fem2d_navier_stokes on the inout problem.
  142. fem2d_pack, a library which implements various 2D finite element calculations;
  143. fem2d_poisson, a program which applies the finite element method to solve Poisson's equation in an arbitrary triangulated region in 2D;
  144. fem2d_poisson_ell, a library which defines the geometry of an L-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson as part of a solution procedure.
  145. fem2d_poisson_lake, a library which defines the geometry of a lake-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson as part of a solution procedure.
  146. fem2d_poisson_rectangle, a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise quadratic triangular elements.
  147. fem2d_poisson_rectangle_linear, a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise linear triangular elements.
  148. fem2d_poisson_sparse, a program which uses the finite element method to solve Poisson's equation on an arbitrary triangulated region in 2D; (This is a version of fem2d_poisson which replaces the banded storage and direct solver by a sparse storage format and an iterative solver.)
  149. fem2d_poisson_sparse_ell, a library which defines the geometry of an L-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_sparse as part of a solution procedure.
  150. fem2d_poisson_sparse_lake, a library which defines the geometry of a lake-shaped region, as well as boundary conditions for a given Poisson problem, and is called by fem2d_poisson_sparse as part of a solution procedure.
  151. fem2d_project, a program which projects a function f(x,y), given as data, into a given finite element space of piecewise linear triangular elements.
  152. fem2d_project_function, a program which projects a function f(x,y), given as a formula, into a given finite element space of piecewise linear triangular elements.
  153. fem2d_sample, a program which samples a finite element function, defined by FEM files, (three text files describing the nodes, triangles, and coefficients); at arbitrary points.
  154. fem2d_stokes, a program which applies the finite element method to solve the steady incompressible Stokes's equations in an arbitrary triangulated region in 2D;
  155. fem2d_stokes_cavity, a library which contains the user-supplied routines necessary to run fem2d_stokes on the cavity problem.
  156. fem2d_stokes_channel, a library which contains the user-supplied routines necessary to run fem2d_stokes on the channel problem.
  157. fem2d_stokes_inout, a library which contains the user-supplied routines necessary to run fem2d_stokes on the inout problem.
  158. fem3d_pack, a library which contains utilities for 3D finite element calculations.
  159. fem3d_project, a program which projects a function f(x,y,z), given as a data, into a given finite element space of piecewise linear tetrahedral elements.
  160. fem3d_sample, a program library which evaluates a finite element function defined on a 3D tetrahedral mesh.
  161. fern_opengl, a program which uses OpenGL to display the Barnsley fractal fern.
  162. 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.
  163. 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.
  164. fft_openmp, a program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.
  165. fft_serial, a program which computes a Fast Fourier Transform, and is intended as a starting point for implementing an OpenMP parallel version.
  166. filum, a library which performs various operations with files;
  167. floyd, a library which implements Floyd's algorithm for finding the shortest distance between pairs of nodes on a directed graph.
  168. fn, a library which evaluates elementary and special functions, by Wayne Fullerton.
  169. fsu_dakota, a library which implements a variety of methods for the generation of quasirandom numbers, submitted for inclusion in the Sandia Labs DAKOTA package;
  170. g++_intrinsics, a program which tests or demonstrates some of the intrinsic functions provided by the Gnu G++ compiler for C++.
  171. g++_quadmath, a program which illustrates the use of quadruple precision real arithmetic, as provided on some systems by the Gnu G++ compiler for C++.
  172. gegenbauer_rule, a program which computes and writes out a Gauss-Gegenbauer quadrature rule of given order.
  173. gen_hermite_rule, a program which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value ALPHA.
  174. gen_laguerre_rule, a program which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value alpha.
  175. geometry, a library which carries out geometrical algorithms for 2D, 3D, ND;
  176. geompack, a library which computes the Delaunay triangulation of 2D data;
  177. gm_rule, a library which defines Grundmann-Moeller quadratures rules for an M-dimensional simplex.
  178. gnuplot_i_examples, programs which demonstrate the use of the gnuplot_i library for interactive runtime gnuplot graphics.
  179. gprof, programs which illustrate the use of the gprof program performance monitor;
  180. graphics_examples, programs which illustrate how various kinds of data can be displayed and analyzed graphically.
  181. grf_display_opengl, a program which reads a GRF file defining a mathematical graph and displays it in the OpenGL graphics window.
  182. grf_io, a library which reads or writes a GRF file;
  183. grid, a library which generates N random points on an M-dimensional uniform grid;
  184. grid_dataset, a program which creates a file of grid values;
  185. grid_to_bmp, a program which reads a text file of data on a rectangular grid and creates a BMP file containing a color image of the data.
  186. gsl, programs which illustrate the use of the Gnu Scientific Library (GSL);
  187. haar, a library which computes the Haar transform of data.
  188. halton, a library which computes elements of the Halton M-dimensional quasirandom sequence;
  189. halton_dataset, a program which creates a Halton quasirandom sequence;
  190. hammersley, a library which computes elements of the Hammersley M-dimensional quasirandom sequence;
  191. hammersley_dataset, a program which creates a Hammersley quasirandom sequence;
  192. hb_io, a library which reads and writes matrices in the Harwell Boeing (HB) sparse matrix format;
  193. heat_mpi, a program which demonstrates the use of MPI, by solving the 1D time dependent heat equation.
  194. 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.
  195. heated_plate_openmp, a program which solves the steady (time independent) heat equation in a 2D rectangular region, using OpenMP to run in parallel.
  196. hello, a program which prints out "Hello, world!".
  197. hello_mpi, a program which prints out "Hello, world!" using MPI for parallel programming.
  198. hello_openmp, a program which prints out "Hello, world!" within the OpenMP parallel programming environment.
  199. hermite, a library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
  200. hermite_cubic, a library which can compute the value, derivatives or integral of a Hermite cubic polynomial, or manipulate an interpolating function made up of piecewise Hermite cubic polynomials.
  201. hermite_polynomial, a library which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.
  202. hermite_rule, a program which computes and writes out a Gauss-Hermite quadrature rule of given order.
  203. hex_grid, a library which creates a hexagonal grid of points in the unit square or an arbitrary rectangle;
  204. hex_grid_dataset, a program which creates a hexagonal grid of points, using the hex_grid library;
  205. hexdump, a program which produces a hexadecimal dump of a file;
  206. htmlindex, a program which creates a skeleton HTML page for a marked-up C, C++ or FORTRAN file;
  207. i4lib, a library which contains many utility routines, using single precision integer (I4) arithmetic.
  208. i8lib, a library which contains many utility routines, using double precision integer (I8) arithmetic.
  209. ice_io, a library which reads or writes ICE grid files stored in netcdf format.
  210. ice_to_mesh, a program which reads a netcdf file containing an ICE dataset and rewrites the information as a MESH file.
  211. ihs, a library which computes elements of the Improved Hypercube Sampling (IHS) M-dimensional quasirandom sequence;
  212. ihs_dataset, a program which creates an Improved Hypercube Sampling (IHS) dataset;
  213. image_components, a library which seeks the connected nonzero or nonblack components of an image or integer array.
  214. image_denoise, a library which applies simple filtering operations to a noisy image.
  215. image_edge, a library which demonstrates a simple procedure for edge detection in images.
  216. index, a program which extracts routine definition lines from a marked-up C, C++, FORTRAN77 or FORTRAN90 file;
  217. int_exactness, a program which tests the polynomial exactness of a 1D quadrature rule for a finite interval;
  218. int_exactness_chebyshev1, a program which tests the polynomial exactness of Gauss-Chebyshev type 1 quadrature rules.
  219. int_exactness_chebyshev2, a program which tests the polynomial exactness of Gauss-Chebyshev type 2 quadrature rules.
  220. int_exactness_gegenbauer, a program which tests the polynomial exactness of Gauss-Gegenbauer quadrature rules.
  221. int_exactness_gen_hermite, a program which tests the polynomial exactness of generalized Gauss-Hermite quadrature rules.
  222. int_exactness_gen_laguerre, a program which tests the polynomial exactness of generalized Gauss-Laguerre quadrature rules.
  223. int_exactness_hermite, a program which tests the polynomial exactness of Gauss-Hermite quadrature rules.
  224. int_exactness_jacobi, a program which tests the polynomial exactness of Gauss-Jacobi quadrature rules.
  225. int_exactness_laguerre, a program which tests the polynomial exactness of Gauss-Laguerre quadrature rules.
  226. int_exactness_legendre, a program which tests the polynomial exactness of Gauss-Legendre quadrature rules.
  227. ising_2d_simulation, a program which simulates the evolution of a 2D array of positive and negative charges, each of which is likely to flip to be in agreement with neighbors.
  228. ivcon, a program which converts between various 3D graphic file formats;
  229. jacobi, a program which implements the Jacobi iteration for linear systems.
  230. jacobi_polynomial, a library which evaluates the Jacobi polynomial and associated functions.
  231. jacobi_rule, a program which computes and writes out a Gauss-Jacobi quadrature rule of given order.
  232. keast, a library which defines Keast quadrature rules in a tetrahedron;
  233. kmeans, a library which handles the K-Means problem, which organizes a set of N points in M dimensions into K clusters;
  234. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
  235. laguerre_polynomial, a library which evaluates the Laguerre polynomial, the generalized Laguerre polynomials, and the Laguerre function.
  236. laguerre_rule, a program which computes and writes out a Gauss-Laguerre quadrature rule of given order.
  237. latin_center, a library which computes Latin Center Squares of N points in M dimensions;
  238. latin_center_dataset, a program which creates a Latin Center Hypercube dataset;
  239. latin_edge, a library which computes Latin Edge Squares of N points in M dimensions;
  240. latin_edge_dataset, a program which creates a Latin Edge Hypercube dataset;
  241. latin_random, a library which computes Latin Random Squares of N points in M dimensions;
  242. latin_random_dataset, a program which creates a Latin Random Hypercube dataset;
  243. latinize, a library which adjusts N points in M dimensions to form a Latin Hypercube;
  244. lattice_rule, a library which returns lattice rules for M-dimensional integration;
  245. lcvt, a library which creates a Latinized Centroidal Voronoi Tessellation (CVT);
  246. lcvt_dataset, a program which creates a Latinized Centroidal Voronoi Tessellation (CVT);
  247. legendre_polynomial, a library which evaluates the Legendre polynomial and associated functions.
  248. legendre_rule, a program which writes out a Gauss-Legendre quadrature rule of given order.
  249. legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order.
  250. lf2cr, a program which converts linefeeds to carriage returns in a file;
  251. lf2crlf, a program which converts linefeeds to carriage return + linefeeds in a file;
  252. lfrm, a program which removes all linefeed characters from a file;
  253. life_opengl, a program which uses OpenGL to display the evolution of John Conway's Game of Life.
  254. lights_out_opengl, a program which sets up a Lights Out game and allows the user to solve it, using the OpenGL graphics window.
  255. linpack, a library which solves linear systems for a variety of matrix storage schemes, real or complex arithmetic, and single or double precision.
  256. linpack_bench, a program which is a version of the LINPACK benchmark program;
  257. linpack_c, a library which factors matrices in a variety of formats, and solving the associated linear systems, using single precision complex arithmetic;
  258. linpack_d, a library which factors matrices in a variety of formats, and solving the associated linear systems, using double precision real arithmetic;
  259. linpack_s, a library hich factors matrices in a variety of formats, and solving the associated linear systems, using single precision real arithmetic;
  260. linpack_z, a library which factors matrices in a variety of formats, and solving the associated linear systems, using double precision complex arithmetic;
  261. linplus, a library which factors/solves/multiplies matrices in a variety of formats;
  262. lissajous_opengl, a program which computes a Lissajous curve and displays it using OpenGL.
  263. llsq, a library which solves the simple linear least squares 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.
  264. lyness_rule, a library which returns Lyness-Jespersen quadrature rules for the triangle.
  265. machar, a library which dynamically computes the value of various machine characteristic constants;
  266. machine, a library which returns tabulated values of the constants associated with computer arithmetic
  267. makefiles, programs which illustrate the use of makefiles for maintaining a software project;
  268. mandelbrot, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot set;
  269. mandelbrot_ppm, a program which generates a binary Portable Pixel Map (PPM) image of the Mandelbrot set, by Eric Weeks.
  270. matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix.
  271. md, a program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.
  272. md_openmp, a program which carries out a molecular dynamics simulation in parallel using OpenMP.
  273. memory_test, a program which tests the memory available on the computer by declaring and using big vectors.
  274. 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.
  275. mesh_display_opengl, a program which reads data defining a polygonal mesh and displays it using OpenGL.
  276. mesh_io, a library which can read or write MESH files, which can be used to define the geometry of a finite element mesh in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.
  277. mesh_to_ice, a program which reads the ICE dataset information from a MESH files and rewrites it to a netcdf file.
  278. mgmres, a library which applies the restarted GMRES algorithm to a sparse linear system, by Lili Ju;
  279. 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.
  280. minesweeper, a program which is a text-based implementation of the Minesweeper game, by Detelina Stoyanova.
  281. minpack, a library which solves linear and nonlinear least squares problems.
  282. mixed, programs which illustrate mixed language programming in which the main program is written in C++;
  283. mpas_draw, a program which reads an MPAS netcdf file and allows the interactive user to select grid and solution information to be displayed using OpenGL, by Doug Jacobsen, John Burkardt, Geoff Womeldorff.
  284. mpas_grid_display_opengl, programs which can read an MPAS netcdf grid file and display the primary polygonal mesh or the dual triangular mesh, using OpenGL.
  285. mpi, programs which illustrate the use of the MPI Message Passing Interface library, for parallel programming;
  286. mpi_stubs, a library which may be used if a parallel program is to be compiled, loaded and run in a serial machine;
  287. multigrid_poisson_1d, a library which applies the multigrid method to a discretized version of the 1D Poisson equation.
  288. multitask_mpi, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.
  289. multitask_openmp, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using OpenMP for parallel execution.
  290. 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.
  291. mxm_openmp, a program which computes a dense matrix product C=A*B, using OpenMP for parallel execution.
  292. mxm_serial, a program which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.
  293. mxv, a program which compares the performance of (for i, for j) loops and (for j, for i) loops for computing the product of an MxN matrix A and an N vector X.
  294. mxv_openmp, a program which compares the performance of the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.
  295. my_calendar, a program which checks a calendar file and prints any line containing the current date;
  296. nas, a program which runs the NASA kernel benchmark.
  297. nast2d, a program which applies the 2D finite volume method to solve transient Navier Stokes flow, by Griebel, Dornseifer and Neunhoffer;
  298. ncc_tetrahedron, a library which defines Newton-Cotes closed quadrature rules in a tetrahedron;
  299. ncc_triangle, a library which defines Newton-Cotes closed quadrature rules in a triangle;
  300. nco_tetrahedron, a library which defines Newton-Cotes open quadrature rules in a tetrahedron;
  301. nco_triangle, a library which defines Newton-Cotes open quadrature rules in a triangle;
  302. neighbors_to_metis_graph, a program which reads a file describing the neighbor structure of a triangulation or tet mesh, and writes a metis graph file suitable for input to one of the family of programs based on metis;
  303. netcdf, programs which read and write netcdf files.
  304. netcdf_mpas, a library which reads MPAS grid data stored as a netcdf file.
  305. niederreiter, a library which computes elements of the Niederreiter quasirandom M-dimensional sequence [arbitrary base];
  306. niederreiter2, a library which computes elements of the Niederreiter M-dimensional quasirandom sequence using base 2;
  307. niederreiter2_dataset, a program which creates a Niederreiter quasirandom dataset with base 2;
  308. nint_exactness, a program which tests the polynomial exactness of an M-dimensional quadrature rule defined over a finite rectangular product region.
  309. nint_exactness_mixed, a program which measures the polynomial exactness of an M-dimensional quadrature rule based on a mixture of 1D quadrature rule factors.
  310. nintlib, a library which implements approximate integration (quadrature) in M dimensions;
  311. normal, a library which generates pseudorandom normal numbers;
  312. normal_dataset, a program which creates a multivariate normal random dataset;
  313. obj_io, a library which reads and writes the data in an OBJ 3D graphics file;
  314. ode, a library which solves a system of ordinary differential equations, by Shampine and Gordon;
  315. opengl, programs which illustrate the use of the OpenGL graphics library;
  316. openmp, programs which illustrate the use of the OpenMP interface for parallel programming shared memory system;
  317. 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.
  318. optimize, a program which looks at the use of automatic optimization by the compiler to make the executable code run faster.
  319. owens, a library which evaluates Owen's T function;
  320. pages, a program which counts the number of pages (sets of 60 lines) in a file;
  321. partition_problem, a library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
  322. patterson_rule, a program which looks up and writes out a Gauss-Patterson quadrature rule of given order.
  323. pbma_io, a library which reads or writes an ASCII Portable Bit Map (PBM) graphics file;
  324. pbma_to_pbmb, a program which converts an ASCII Portable Bit Map (PBM) file to a binary PBM file;
  325. pbmb_io, a library which reads or writes a binary Portable Bit Map (PBM) graphics file;
  326. pbmb_to_pbma, a program which converts a binary Portable Bit Map (PBM) file to an ASCII PBM file;
  327. pce_burgers, a program which defines and solves a version of the time-dependent viscous Burgers equation, with uncertain viscosity, using a polynomial chaos expansion in terms of Hermite polynomials, by Gianluca Iaccarino.
  328. 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.
  329. pcl_read, a program which reads a PCL file and extracts the numeric data;
  330. pgma_io, a library which reads or writes an ASCII Portable Gray Map (PGM) gray map graphics file;
  331. pgma_to_pgmb, a program which converts an ASCII Portable Gray Map (PGM) file to a binary PGM file;
  332. pgmb_io, a library which reads or writes a binary Portable Gray Map (PGM) file, a 2D gray map graphics format;
  333. pgmb_to_pgma, a program which converts a binary Portable Gray Map (PGM) file to an ASCII PGM file;
  334. 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).
  335. pink_noise, a library which computes a pink noise signal obeying a 1/f power law.
  336. png_crc, a program which computes the Cyclic Redundancy Checksum (CRC) for a PNG graphics file (or any other file, for that matter);
  337. point_merge, a library which considers N points in M dimensional space, and counts or indexes the unique or tolerably unique items.
  338. poisson_openmp, a program which computes an approximate solution to the Poisson equation in a rectangle, using the Jacobi iteration to solve the linear system, and OpenMP to carry out the Jacobi iteration in parallel.
  339. poisson_serial, a program which computes an approximate solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.
  340. polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
  341. polygonal_surface_display_opengl, a program which displays a surface in 3D described as a set of polygons using OpenGL;
  342. power_method, a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
  343. power_rule, a program which constructs a power rule, that is, a product quadrature rule from identical 1D factor rules.
  344. ppma_io, a library which reads or writes an ASCII Portable Pixel Map (PPM) graphics file;
  345. ppma_to_bmp, a program which converts an ASCII Portable Pixel Map (PPM) graphics file to a Microsoft BMP file;
  346. ppma_to_ppmb, a program which converts an ASCII Portable Pixel Map (PPM) graphics file to binary PPM format;
  347. ppmb_io, a library which reads or writes a binary Portable Pixel Map (PPM) 2D pixel map graphics file;
  348. ppmb_to_bmp, a program which converts a binary Portable Pixel Map (PPM) file to a Microsoft BMP file;
  349. ppmb_to_ppma, a program which converts a binary Portable Pixel Map (PPM) file to ASCII PPM format;
  350. prime_mpi, a program which counts the number of primes between 1 and N, using MPI for parallel execution.
  351. prime_openmp, a program which counts the number of primes between 1 and N, using OpenMP for parallel execution.
  352. 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.
  353. prob, a library which evaluates the PDF, CDF, mean, variance and samples of various probability distributions;
  354. product_rule, a program which creates an M-dimensional quadrature rule from a product of distinct 1d quadrature rules;
  355. pthreads, programs which illustrate the use of the POSIX thread library to carry out parallel program execution.
  356. pyramid_exactness, a program which investigates the polynomial exactness of a quadrature rule for the pyramid.
  357. pyramid_rule, a program which computes a quadrature rule for a pyramid.
  358. qr_solve, a library which computes the least squares solution of a linear system A*x=b.
  359. quad_mesh, a library which handles meshes of quadrilaterals over a 2D region;
  360. quad_mesh_rcm, a program which computes the Reverse Cuthill-McKee (RCM) reordering for nodes in a mesh of 4-node quadrilaterals.
  361. quad_mpi, a program which applies a quadrature rule to estimate an integral, working in parallel by using MPI;
  362. quad_openmp, a program which applies a quadrature rule to estimate an integral over a 1D interval, using OpenMP for parallel execution;
  363. quad_serial, a program which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
  364. quad2d_openmp, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, using OpenMP for parallel execution;
  365. 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.
  366. quadrature_test, a program which reads the definition of an M-dimensional quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.
  367. quadrature_test_2d, a program which reads the definition of a 2D quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.
  368. quadrule, a library which defines quadrature rules for approximating integrals;
  369. quality, a library which computes quality of distribution measures for pointsets in M dimensions;
  370. r4lib, a library which contains many utility routines, using single precision real (R4) arithmetic.
  371. r8lib, a library which contains many utility routines, using double precision real (R8) arithmetic.
  372. rand48, a program which demonstrates the use of the RAND48 family of random number generators available in the C/C++ standard library.
  373. randlc, a library which generates a sequence of pseudorandom numbers, used by the NAS Benchmark programs.
  374. random_data, a library which generates sample points for various probability distributions, spatial dimensions, and geometries;
  375. 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.
  376. rcm, a library which applies the Reverse Cuthill McKee (RCM) algorithm for reordering the nodes of a graph, and reducing the bandwidth of a corresponding sparse matrix;
  377. recomment, a program which converts C style comments to C++ style;
  378. reword, a program which makes a copy of a file in which every line has the same number of words;
  379. rk4, a library which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation at the next time step.
  380. rkf45, a library which applies the Runge-Kutta-Fehlberg (RKF) algorithm to solve a system of ordinary differential equations;
  381. rot13, a program which makes a copy of a file which has been encoded using the ROT13 coding (and a ROT5 coding for digits).
  382. rotating_cube_display_opengl, a program which displays a rotating color cube in 3D, using OpenGL;
  383. rsites, a program which generates random pointsets with integer coordinates for testing computational geometry algorithms;
  384. sandia_cubature, a library which implements quadrature rules for certain M-dimensional regions and weight functions.
  385. 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.
  386. sandia_rules2, a library which contains a very small selection of functions which serve as an interface between sandia_sgmg or sandia_sgmga and sandia_rules.
  387. sandia_sgmg, a library which creates sparse grids based a mixture of 1D factor rules, and which experiments with the idea of using linear growth rate for the 1D quadrature rules. This is a version of SPARSE_GRID_MIXED_GROWTH that uses a different procedure for supplying the parameters needed to evaluate certain quadrature rules.
  388. sandia_sgmga, a library which creates sparse grids based on a mixture of 1D quadrature rules, allowing anisotropic weights for each dimension. This is a version of sgmga that uses a different procedure for supplying the parameters needed to evaluate certain quadrature rules.
  389. sandia_sgmgg, a library which explores a generalized construction method for sparse grids.
  390. sandia_sparse, a library which can produce an M-dimensional sparse grid, based on a variety of 1D quadrature rules; only isotropic grids are generated, that is, the same rule is used in each dimension, and the same maximum order is used in each dimension.
  391. satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem.
  392. 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.
  393. 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.
  394. schedule_openmp, a program which demonstrates the default, static, and dynamic methods of scheduling loop iterations in OpenMP to avoid work imbalance.
  395. set_theory, a library which demonstrates various set theoretic operations using several models of a set.
  396. sftpack, a library which implements the slow Fourier transform, intended as a teaching tool and comparison with the Fast Fourier Transform (FFT).
  397. sgefa_openmp, a program which compares a standard linear algebra solver against a revised version which can be run in parallel with OpenMP.
  398. sgmg, a library which creates sparse grids based a mixture of 1D factor rules, and which experiments with the idea of using linear growth rate for the 1D quadrature rules.
  399. sgmga, a library which creates sparse grids based on a mixture of 1D quadrature rule families, allowing user specified growth rates for each family, allowing anisotropic weights for each dimension.
  400. simple_ga, a program which is a simple example of a genetic algorithm, by Dennis Cormier and Sita Raghavan.
  401. simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
  402. sine_transform, a library which demonstrates some simple properties of the discrete sine transform.
  403. sobol, a library which computes elements of the Sobol M-dimensional quasirandom sequence, extended to a maximal spatial dimension of 1111;
  404. sobol_dataset, a program which creates a Sobol quasirandom dataset;
  405. sor, a library which implements a simple version of the Successive Over-Relaxation (SOR) method for the iteration solution of a linear system of equations.
  406. sparse_grid_cc, a library of routines which creates sparse grids based on Clenshaw-Curtis rules.
  407. sparse_grid_cc_dataset, a program which creates a sparse grid dataset based on Clenshaw-Curtis rules.
  408. sparse_grid_gl, a library which creates sparse grids based on Gauss-Legendre rules.
  409. sparse_grid_gl_dataset, a program which creates a sparse grid dataset based on Gauss-Legendre rules.
  410. sparse_grid_hermite, a library which creates sparse grids based on Gauss-Hermite rules.
  411. sparse_grid_hermite_dataset, a program which creates a sparse grid dataset based on Gauss-Hermite rules.
  412. sparse_grid_laguerre, a library which creates sparse grids based on Gauss-Laguerre rules.
  413. sparse_grid_laguerre_dataset, a program which creates a sparse grid dataset based on Gauss-Laguerrre rules.
  414. sparse_grid_mixed, a library which creates sparse grids based on a mixture of 1D factor rules.
  415. sparse_grid_mixed_dataset, a program which creates a sparse grid dataset based on a mixture of 1D rules.
  416. sparse_grid_open, a library which creates sparse grids based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
  417. sparse_grid_open_dataset, a program which creates a sparse grid dataset based on open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
  418. sparse_grid_pure, a library which for the analysis and creation of sparse grids in which a single family of 1D quadrature rules is used for all spatial dimensions.
  419. sphere_exactness, a program which tests the polynomial exactness of a quadrature rule for the unit sphere;
  420. sphere_grid, a library which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, over the unit sphere.
  421. sphere_lebedev_rule, a library which computes Lebedev quadrature rules for the unit sphere;
  422. 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;
  423. sphere_quad, a library which approximates an integral over the surface of the unit sphere by applying a triangulation to the surface;
  424. sphere_stereograph, a library which computes the stereographic mapping between points on the unit sphere and points on the plane Z = 1; a generalized mapping is also available.
  425. sphere_triangle_quad, a library which estimates the integral of a function over a spherical triangle.
  426. sphere_voronoi_display_opengl, a program which displays a sphere and randomly selected generator points, and then gradually colors in points in the sphere that are closest to each generator.
  427. sphere_xyz_display_opengl, a program which reads XYZ information defining points in 3D that lie (presumably) on the unit sphere, and displays an image of the unit sphere and the points, using OpenGL;
  428. spline, a library which interpolates or approximates data by piecewise polynomial functions;
  429. spring_ode, a program which shows how line printer graphics can be used to make a crude illustration of a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.
  430. star_discrepancy, a program which computes bounds on the star discrepancy of a set of N points in M dimensions, stored as a table file, by Eric Thiemard.
  431. stla_io, a library which reads and writes ASCII stereolithography (STL) 3d graphics files;
  432. stochastic_rk, a library which applies a Runge-Kutta (RK) scheme to a stochastic differential equation.
  433. stroud, a library which defines rules for numerical integration (quadrature) over M-dimensional regions, including spheres, toruses and other shapes;
  434. subpak, a library which contains many utility routines;
  435. subset, a library which ranks, unranks and generates random subset, combinations, permutations and other combinatorial objects;
  436. subset_sum, a program which seeks solutions of the subset sum problem.
  437. sum_million, a program which sums the integers from 1 to 1,000,000, as a demonstration of how to rate a computer's speed;
  438. svd_basis, a program which applies the singular value decomposition (SVD) to a set of vectors, to extract the dominant modes;
  439. svd_demo, a program which demonstrates the calculation of the singular value decomposition (SVD) and some of its properties;
  440. 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.
  441. table_border, a program which reads a table file of 2D data, and adds data representing a boundary layer of zero values;
  442. table_delaunay, a program which computes the Delaunay triangulation of a set of points stored as a table file;
  443. table_io, a library which reads and writes a simple dataset stored as a table file;
  444. table_latinize, a program which reads a dataset of N points in M dimensions from a table file, adjusts data to form a Latin Hypercube;
  445. table_quality, a program which reads a dataset of N points in the M-dimensional unit hypercube from a table file, and analyzes the quality of dispersion;
  446. table_unborder, a program which reads a table file of 2D data and deletes the data representing the boundary layer;
  447. table_voronoi, a program which reads a set of 2D points from a table file, and prints information about the Voronoi diagram;
  448. tanh_quad, a library which sets up the tanh quadrature rule;
  449. tanh_sinh_rule, a program which computes and writes out a tanh-sinh quadrature rule of given order.
  450. 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.
  451. test_approx, a library which implements test problems for approximation, provided as a set of (x,y) data.
  452. test_eigen, a library which implements test matrices for eigenvalue analysis.
  453. test_int, a library which implements test problems for approximate integration (quadrature) in one dimension.
  454. test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
  455. test_int_hermite, a library which implements test problems for approximate integration over an infinite interval, often carried out using Gauss-Hermite quadrature.
  456. test_int_laguerre, a library which implements test problems for approximate integration over a semi-infinite interval, often carried out using Gauss-Laguerre quadrature.
  457. test_interp, a library which defines test problems for interpolation, provided as a set of (x,y) data.
  458. test_interp_fun, a library which defines test problems for interpolation, provided as a function.
  459. test_interp_scattered, a library which defines test problems for interpolation of data (x,y,z(x,y)), with the data points (x,y) scattered irregularly.
  460. test_ls, a library which implements linear least squares test problems of the form A*x=b.
  461. test_mat, a library which implements test matrices.
  462. test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
  463. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  464. test_nint, a library which implements test problems for approximate integration (quadrature) in M dimensions.
  465. 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.
  466. test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
  467. test_tri_int, a library which implements test functions for integration over a triangle in 2 dimensions.
  468. 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;
  469. test_zero, a library which implements test problems for the solution of a single nonlinear equation in one variable.
  470. testpack, a program which demonstrates the use of a set of test integrand functions chosen by Alan Genz.
  471. tet_mesh, a library which works with tetrahedral meshes in 3D;
  472. tet_mesh_boundary, a program which reads information defining a tetrahedral mesh of points in 3D, and determines the triangular faces that form the boundary of the mesh; it writes out files containing the nodes and elements defining this tri_surface data.
  473. tet_mesh_display_opengl, a program which reads two files describing a tetrahedral mesh in 3D and displays it using OpenGL.
  474. tet_mesh_l2q, a program which reads information about a 4-node (linear) tet mesh and creates data defining a corresponding 10-node (quadratic) tet mesh;
  475. tet_mesh_q2l, a program which reads information about a 10-node (quadratic) tet mesh and creates data defining a corresponding 4-node (linear) tet mesh;
  476. tet_mesh_quality, a program which reads a node coordinate file and a tetrahedron file and returns quality measures for the tetrahedronal mesh;
  477. tet_mesh_rcm, a program which computes the Reverse Cuthill McKee (RCM) reordering for the nodes of a tet_mesh that uses 4-node or 10-node tetrahedrons;
  478. tet_mesh_refine, a program which refines a tet mesh;
  479. tet_mesh_tet_neighbors, a program which reads information about a tet mesh and writes out a list of the tetrahedrons that are adjacent to a given tetrahedron;
  480. tet_mesh_volumes, a program which computes the volume of each tetrahedron in a tet mesh;
  481. tetrahedron_exactness, a program which tests the polynomial exactness of a quadrature rule for the tetrahedron;
  482. tetrahedron_grid, a library which computes a grid of points inside a 3D tetrahedron.
  483. tetrahedron_monte_carlo, a program which uses the Monte Carlo method to estimate an integral over a tetrahedron.
  484. tetrahedron_properties, a program which prints out the properties of a tetrahedron whose vertex coordinates are read from a file;
  485. tga_io, a library which reads a TGA or TARGA graphics file;
  486. tiler_3d, a library which blends a pattern repeatedly into a region in 3D;
  487. timer, programs which measure the CPU time used by a portion of a user's program;
  488. timestamp, a library which prints the current YMDHMS date as a timestamp, and other timekeeping operations;
  489. toms178, a library which seeks the minimizer of a scalar function of several variables using the Hooke-Jeeves method;
    this is a C++ version of ACM TOMS algorithm 178.
  490. toms179, a library which calculates the incomplete Beta ratio;
    this is a C++ version of ACM TOMS algorithm 179.
  491. toms291, a library which approximates the logarithm of the Gamma function;
    this is a C++ version of ACM TOMS algorithm 291.
  492. toms446, a library which manipulates Chebyshev series for interpolation and approximation;
    this is a C++ version of ACM TOMS algorithm 446, by Roger Broucke.
  493. 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 C++ version of ACM TOMS algorithm 462.
  494. toms655, a library which computes computes the weights for interpolatory quadrature rule;
    this library is commonly called IQPACK;
    this is a C++ version of ACM TOMS algorithm 655.
  495. tri_surface_display_opengl, a program which displays a 3D triangulated surface or TRI_SURFACE using OpenGL;
  496. tri_surface_io, a library which reads and writes the 3D graphics information in a tri_surface file;
  497. triangle_exactness, a program which tests the polynomial exactness of a quadrature rule for triangles;
  498. triangle_grid, a library which computes a triangular grid of points.
  499. triangle_histogram, a program which computes histograms of data on the unit triangle.
  500. triangle_io, a library which can read or write some of the files created by Jonathan Shewchuk's triangle program.
  501. triangle_monte_carlo, a program which uses the Monte Carlo method to estimate an integral over a triangle.
  502. triangle_properties, a program which computes properties of a triangle whose vertex coordinates are read from a file.
  503. 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.
  504. triangle_to_mesh, a program which reads the NODE and ELE files created by the triangle program to describe a triangular mesh, and writes a corresponding MESH file for input to MEDIT.
  505. triangulation, a library which computes the triangulation of a set of points in the plane, to search it, plot it, and manipulate it in other ways;
  506. triangulation_boundary_nodes, a program which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file;
  507. triangulation_corner, a program which modifies triangulations in which one or more triangles have more than one boundary edge.
  508. triangulation_delaunay_discrepancy, a program which measures the amount by which a triangulation fails the local Delaunay test;
  509. triangulation_display_opengl, a program which reads two files describing a triangulation and displays it using OpenGL.
  510. triangulation_histogram, a program which computes histograms of data over a triangulation.
  511. triangulation_l2q, a program which reads information about a 3-node (linear) triangulation and creates data defining a corresponding 6-node (quadratic) triangulation;
  512. triangulation_mask, a program which reads a triangulation and calls a user-supplied routine to consider each triangle for deletion;
  513. triangulation_orient, a program which ensures that the triangles in an order 3 or order 6 triangulation have positive orientation;
  514. triangulation_plot, a program which plots the nodes and elements of a triangulation as a PostScript (PS) file;
  515. triangulation_q2l, a program which reads information about a 6-node triangulation and creates data defining a corresponding 3-node triangulation;
  516. triangulation_quad, a program which reads information about a triangulation and the value of a function at the nodes and estimates the integral of the function over the triangulated region.
  517. triangulation_quality, a program which reads information about a triangulation and computes various quality measures;
  518. triangulation_rcm, a program which computes the Reverse Cuthill McKee (RCM) reordering for the nodes of a triangulation that uses 3-node or 6-node triangles;
  519. triangulation_refine, a program which refines a triangulation;
  520. triangulation_t3_to_t4, a program which reads information about a 3-node triangulation and creates data defining a corresponding 4-node triangulation (vertices + centroid);
  521. 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;
  522. uncontrol, a program which removes control characters from a file;
  523. uniform, a library which generates uniform pseudorandom numbers;
  524. uniform_dataset, a program which creates a file of uniform pseudorandom values;
  525. valgrind, programs which illustrate the use of the VALGRIND suite of programs which includes a memory leak detector.
  526. van_der_corput, a library which evaluates the van der Corput 1-dimensional quasirandom sequence;
  527. van_der_corput_dataset, a program which creates a file of quasirandom van der Corput values;
  528. vector_read, a library which reads, one line at a time, numeric data, storing it in a vector returned to the user;
  529. walsh, a library which implements versions of the Walsh and Haar transforms.
  530. wandzura, a library which returns a Wandzura rule for quadrature in a triangle;
  531. wavelet, a library which does some simple wavelet calculations;
  532. weekday, a library which determines the day of the week for a given day.
  533. width, a program which returns the length and location of the longest line in a text file;
  534. wrap, a program which wraps a file so that no line is longer than 80 characters;
  535. wrap2, a program which wraps a text file so that no line is longer than a given maximum; the wrapping may be done slightly earlier than at the maximum, in order to avoid breaking words;
  536. wtime, a library which returns a reading of the wall clock time in seconds.
  537. x_window, programs which illustrate the use of the X Window graphical terminal system;
  538. xy_display_opengl, a program which reads XY information defining points in 2D and displays an image using OpenGL;
  539. xy_io, a library which reads and writes XY, XYL and XYF files defining points, lines, and faces in 2D.
  540. xyf_display_opengl, a program which reads XYF information defining points and faces in 2D and displays an image using OpenGL;
  541. xyl_display_opengl, a program which reads XYL information defining points and lines in 2D and displays an image using OpenGL;
  542. xyz_display_opengl, a program which reads XYZ information defining points in 3D and displays an image using OpenGL;
  543. xyz_io, a library which reads and writes XYZ, XYZL and XYZF files defining points, lines and faces in 3D.
  544. xyzf_display_opengl, a program which reads XYZF information defining points and faces in 3D and displays an image using OpenGL;
  545. xyzl_display_opengl, a program which reads XYZL information defining points and lines in 3D and displays an image using OpenGL;
  546. ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.
  547. ziggurat_openmp, a program which demonstrates how the ZIGGURAT library can be used to generate random numbers in an OpenMP parallel program.

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


Last revised on 28 April 2012.