Python Source


  1. alpert_rule, a library which can set up an Alpert quadrature rule to approximate the integrals of functions which are regular, log(x) singular, or 1/sqrt(x) singular.
  2. 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, based on a C program by Brian Tung.
  3. 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.
  4. annulus_rule, a library which computes a quadrature rule for estimating integrals of a function over the interior of a circular annulus in 2D.
  5. args, a script which reports the command line arguments with which it was invoked;
  6. 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;
  7. 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.
  8. asa063, a library which evaluates the incomplete Beta function, by KL Majumder and G Bhattacharjee. This is a version of Applied Statistics Algorithm 63;
  9. asa103, a library which evaluates the digamma or psi function, by Jose Bernardo; this is a version of Applied Statistics Algorithm 103;
  10. asa183, a library which implements a random number generator (RNG), by Wichman and Hill; this is a version of Applied Statistics Algorithm 183;
  11. 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;
  12. atbash, a library which applies the Atbash substitution cipher to a string of text.
  13. backtrack_binary_rc, a library which carries out a backtrack search for a set of binary decisions, using reverse communication (RC).
  14. ball_grid, a library which computes grid points inside a 3D ball.
  15. ball_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit ball in 3D.
  16. 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;
  17. 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.
  18. 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.
  19. 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.
  20. bernstein_polynomial, a library which evaluates the Bernstein polynomials;
  21. besselj, a library which evaluates Bessel J functions of noninteger order;
  22. bicycle_lock, a library which simulates the process of determining the secret combination of a bicycle lock, an integer between 000 and 999.
  23. bisect, 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 classes.
  24. bisection_rc, a library which seeks a solution to the nonlinear equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication (RC).
  25. black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, by Desmond Higham.
  26. blas1_d, a library which constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS), for vector-vector operations using double precision real arithmetic, by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
  27. brownian_motion_simulation, a library which simulates Brownian motion in an M dimensional region.
  28. burgers_solution, a library which evaluates exact solutions of the time-dependent 1D viscous Burgers equation.
  29. bvec, a library which demonstrates how signed integers can be stored as binary vectors, and arithmetic can be performed on them.
  30. c4lib, a library which implements certain elementary functions for single precision complex (C4) variables;
  31. c8lib, a library which implements certain elementary functions for double precision complex (C8) variables;
  32. caesar, a library which can apply a Caesar Shift Cipher to a string of text.
  33. calpak, a library which makes various calendar calculations;
  34. cauchy_principal_value, a library which uses Gauss-Legendre quadrature to estimate the Cauchy Principal Value (CPV) of certain singular integrals.
  35. cfd_barba, a library which contains Python scripts of some of the iPython workbooks associated with the "12 Steps to Navier-Stokes" presentation by Lorena Barba.
  36. 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.
  37. 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).
  38. change_making, a library which considers the change making problem, in which a given sum is to be formed using coins of various denominations.
  39. 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).
  40. 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.
  41. chrpak, a library which manipulates characters and strings;
  42. circle_arc_grid, a program which computes grid points along a circular arc.
  43. circle_integrals, a library which returns the exact value of the integral of any monomial over the circumference of the unit circle in 2D.
  44. 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;
  45. clausen, a library which evaluates a Chebyshev interpolant to the Clausen function Cl2(x).
  46. collatz_recursive, a library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
  47. combination_lock, a program which simulates the process of determining the secret combination of a lock.
  48. 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.
  49. 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.
  50. complex_numbers, a program which demonstrates some simple features involved in the use of complex numbers in programming.
  51. condition, a library which implements methods of computing or estimating the condition number of a matrix.
  52. continued_fraction a library which implements some simple algorithms for dealing with simple and generalized continued fractions.
  53. cordic, a library which computes a few special functions using the CORDIC algorithm.
  54. cosine_transform, a library which demonstrates some simple properties of the discrete cosine transform (DCT).
  55. counterfeit_detection, a library which considers problems in which one or more counterfeit coins are to be identified by the fact that they do not have the standard weight.
  56. cube_grid, a library which computes a grid of points over the interior of a cube in 3D.
  57. cube_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit cube in 3D.
  58. 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.
  59. 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.
  60. cvt_1d_lloyd, a program which computes an N-point Centroidal Voronoi Tessellation (CVT) within the interval [0,1], under a uniform density, using Lloyd's method to compute the Voronoi regions exactly.
  61. cvt_2d_sampling, a program which computes an N-point Centroidal Voronoi Tessellation (CVT) within the unit square [0,1]x[0,1], under a uniform density, using sampling to estimate the Voronoi regions.
  62. cvxopt_svm, a Python program which solves a support vector machine (SVM) problem by formulating it as a quadratic programming problem to be solved by cvxopt().
  63. 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.
  64. 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.
  65. delaunay_test, a script which demonstrates the use of the scipy.spatial function Delaunay(), to compute a Voronoi diagram, and matplotlib.pyplot.triplot(), to display it.
  66. dg1d_poisson, a program which applies the discontinuous Galerkin method (DG) to a 1D version of the Poisson equation, based on a MATLAB code by Beatrice Riviere.
  67. dijkstra, a library which implements a simple version of Dijkstra's minimum distance algorithm for graphs.
  68. disk_grid, a library which computes grid points within the interior of a disk of user specified radius and center in 2D, using matplotlib to create an image of the grid.
  69. disk_monte_carlo, a library which applies a Monte Carlo (MC) method to estimate integrals of a function over the interior of the general disk in 2D;
  70. disk_rule, a library which computes a quadrature rule over the interior of the general disk in 2D.
  71. disk01_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit disk in 2D.
  72. 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;
  73. 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;
  74. disk01_rule, a library which computes a quadrature rule to approximate the integral of a function over the interior of the unit disk in 2D, with radius 1 and center (0,0).
  75. dolfin_test, scripts which are used with the DOLFIN library to set up and solve a wide variety of problems using the finite element method (FEM).
  76. dolfin-convert, a program which can convert mesh file from Gmsh, MEDIT, METIS or SCOTCH format to an XML format suitable for use by DOLFIN or FENICS, by Anders Logg.
  77. 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.
  78. drug_dosage, a program which simulates the variation in the blood levels of a medicinal drug being administered at specific dosages and times over a course of treatment. The level should rise about a given medicinal level for some time, but stay below the toxic level.
  79. duel_simulation, a program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
  80. ellipse_grid, a library which computes grid points over the interior of an ellipse in 2D.
  81. 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.
  82. ellipsoid_grid, a library which computes a grid of points over the interior of an ellipsoid in 3D.
  83. 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.
  84. elliptic_integral, a library which evaluates complete elliptic integrals of first, second and third kind, using Carlson's elliptic integral functions.
  85. 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).
  86. fastgl, a library which carries out the rapid computation of the Kth value and weight of an N point Gauss-Legendre quadrature rule for approximating the integral of a function over the interval [-1,+1], by Ignace Bogaert.
  87. fd_predator_prey, a program which solves a time-dependent predator prey system using the finite difference method (FDM).
  88. 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, creating a graphics file with matplotlib.
  89. fd1d_heat_explicit, a library which implements a finite difference method (FDM), explicit in time, to solve the time dependent 1D heat equation;
  90. fd1d_heat_implicit, a program which implements a finite difference method (FDM), implicit in time, to solve the time dependent 1D heat equation;
  91. fd2d_heat_steady, a program which implements a finite difference method (FDM) for the steady (time independent) 2D heat equation;
  92. 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.)
  93. 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.
  94. fem1d, a program which applies the finite element method (FEM) to a boundary value problem (BVP) in one spatial dimension, using a procedural approach.
  95. 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.
  96. 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.
  97. fem1d_classes, a library which defines classes useful for solving a boundary value problem (BVP) of the form u''+2u'+u=f in 1 spatial dimension, using the finite element method (FEM), by Mike Sussman.
  98. fem1d_heat_explicit, a program which uses the finite element method (FEM) and explicit time stepping to solve the time dependent heat equation in 1D.
  99. fem2d_bvp_linear, a program which applies the finite element method (FEM), with piecewise bilinear elements, to a 2D boundary value problem (BVP) in a rectangle.
  100. 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.
  101. filum, a library which performs various operations on files;
  102. 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.
  103. florida_cvt_geo, programs which explore the creation of a centroidal Voronoi Tessellation (CVT) of the state of Florida, based solely on geometric considerations.
  104. florida_cvt_pop, programs which explore the creation of a centroidal Voronoi Tessellation (CVT) of the state of Florida, based on population considerations.
  105. 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.
  106. four_fifths, a library which searches for a solution to the problem of finding four fifth powers that sum to a fifth power, that is, integers a, b, c, d and e such that a^5+b^5+c^5+d^5=e^5. Euler conjectured that no solution was possible. The code is by Brian Hayes.
  107. freefem++_msh_io, a library which can read and write files used by the FreeFem++ finite element program to store mesh information.
  108. gegenbauer_cc, a library which computes the Gegenbauer weighted integral of a function f(x) using a Clenshaw-Curtis approach.
  109. gegenbauer_polynomial, a library which evaluates the Gegenbauer polynomial and associated functions.
  110. 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.
  111. gmgsolve, a library which can apply one step of the V-cycle of the geometric multigrid method, by Mike Sussman.
  112. graphics_test, programs which illustrate how various kinds of data can be displayed and analyzed graphically.
  113. grid, a library which randomly selects N distinct points from a uniform grid in the unit hypercube in M-dimensional space.
  114. haar, a library which computes the Haar transform of data.
  115. halton, a library which computes elements of a Halton Quasi Monte Carlo (QMC) sequence, using a simple interface.
  116. hammersley, a library which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.
  117. hankel_cholesky, a library which computes the upper Cholesky factor R of a nonnegative definite symmetric H matrix so that H = R' * R.
  118. 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'.
  119. hdf5_test, scripts which demonstrate the use of the HDF5 library and file format.
  120. hello, a script which prints "Hello, world!".
  121. hello_mpi, a script which prints out "Hello, world!", carried out in parallel using MPI and MPI4PY.
  122. hilbert_curve, a library which computes the sequence of discrete Hilbert curves whose limit is a space-filling curve.
  123. 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.
  124. 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;
  125. hypercube_grid, a library which computes a grid of points over the interior of a hypercube in M dimensions.
  126. 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.
  127. 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.
  128. 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.
  129. 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;
  130. i4lib, a library which contains many utility routines, using single precision integer (I4) arithmetic.
  131. i8lib, a library which contains many utility routines, using double precision integer (I8) arithmetic.
  132. isbn, a library which can determine the check digit for an International Standard Book Number or report whether a given ISBN is valid.
  133. jacobi, a program which implements the Jacobi iteration for the iterative solution of linear systems.
  134. jacobi_eigenvalue, a library which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.
  135. knapsack_01, a library which uses brute force to solve small versions of the 0/1 knapsack problem;
  136. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order for the approximation of the integral of a function over the interval [-1,+1], by Robert Piessens, Maria Branders.
  137. 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).
  138. latin_random, a library which computes Latin Random Squares of N points in M dimensions;
  139. 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.
  140. legendre_polynomial, a library which evaluates the Legendre polynomial and associated functions.
  141. legendre_product_polynomial, a library which defines Legendre product polynomials, creating a multivariate polynomial as the product of univariate Legendre polynomials.
  142. legendre_shifted_polynomial, a library which evaluates the shifted Legendre polynomial, with the domain [0,1].
  143. levenshtein, a library which returns the Levenshtein distance between two strings.
  144. line_grid, a library which computes a grid of points over the interior of a line segment in 1D.
  145. line_integrals, a library which returns the exact value of the integral of any monomial over the length of the unit line in 1D.
  146. 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.
  147. linpack_d, a library which factors and solves linear systems using double precision real arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
  148. linplus_c8, a library which carries out some linear algebra operations on complex matrices.
  149. 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.
  150. loadtxt_test, a Python script which calls the numpy function loadtxt() to extract numeric data from a text file.
  151. 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.
  152. log_normal, a library which returns quantities related to the log normal Probability Distribution Function (PDF).
  153. log_normal_truncated_ab, a library which returns quantities related to the log normal Probability Distribution Function (PDF) truncated to the interval [A,B].
  154. lorenz_ode, a program which approximates solutions to the Lorenz system of ordinary differential equations (ODE's), creating graphics files using matplotlib.
  155. 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.
  156. machar, a library which dynamically computes the values of various machine characteristic constants, by William Cody;
  157. machine, a library which returns tabulated values of the constants associated with computer arithmetic;
  158. mandelbrot, a program which generates a Portable Network Graphics (PNG) image of the Mandelbrot set;
  159. mario, a program which creates a sort of "needlepoint" image of Mario, as an array of colored squares.
  160. matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix.
  161. md, a program which carries out a molecular dynamics (MD) simulation, intended as a starting point for implementing a parallel version.
  162. 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 in a given range.
  163. monomial_value, a library which evaluates a monomial in M dimensions.
  164. 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 shape can be displayed with MATLAB graphics.
  165. nas, a program which runs the NASA kernel benchmark.
  166. 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.
  167. 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.
  168. 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 matplotlib.
  169. newton, a library which applies Newton's method to solve a single nonlinear equation f(x)=0.
  170. newton_interp_1d, a library which finds a polynomial interpolant to data using Newton divided differences.
  171. ngrams, a library which can analyze a string or text against the observed frequency of "ngrams" (particular sequences of n letters) in English text.
  172. normal, a library which implements a random number generator (RNG) for normally distributed values;
  173. owens, a library which evaluates Owen's T function;
  174. 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 graphics files.
  175. partition_problem, a library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
  176. pbma_io, a library which reads or writes ASCII Portable Bit Map (PBM) 2D graphics files;
  177. pbmb_io, a library which reads or writes a binary Portable Bit Map (PBM) 2D graphics file;
  178. 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.
  179. pentominoes, a library which provides some utilities for manipulating pentominoes.
  180. pgma_io, a library which reads or writes ASCII Portable Gray Map (PGM) 2D graphics files;
  181. pgmb_io, a library which reads or writes a binary Portable Gray Map (PGM) 2D graphics file;
  182. pink_noise, a library which computes a pink noise signal obeying a 1/f power law.
  183. polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
  184. polygon_grid, a library which generates a grid of points over the interior of a polygon in 2D.
  185. polygon_integrals, a library which returns the exact value of the integral of any monomial over the interior of a polygon in 2D.
  186. 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.
  187. 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.
  188. 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.
  189. polynomial, a library which adds, multiplies, differentiates, evaluates and prints multivariate polynomials in a space of M dimensions.
  190. polynomials, a library which defines multivariate polynomials over rectangular domains, for which certain information is to be determined, such as the maximum and minimum values.
  191. 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.
  192. 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.
  193. polyomino_enumerate, a library which enumerates fixed and free polyominoes of orders 0 through 28.
  194. 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.
  195. 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.
  196. polyomino_transform, a program which transforms the matrix representing a polyomino by reflection and rotation.
  197. ppma_io, a library which reads or writes an ASCII Portable Pixel Map (PPM) 2D graphics file;
  198. ppmb_io, a library which reads or writes a binary Portable Pixel Map (PPM) 2D graphics file;
  199. praxis, a library which minimizes a scalar function of several variables, without requiring derivative information, by Richard Brent.
  200. prime_mpi, a script which counts the number of primes between 1 and N, carried out in parallel using MPI and MPI4PY.
  201. prime_serial, a script which counts the number of primes between 1 and N, intended as a starting point for a parallel version.
  202. 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.
  203. pwl_interp_1d, a library which interpolates a set of data using a piecewise linear function in 1D.
  204. pwl_interp_2d, a library which interpolates a set of data using a piecewise linear function in 2D.
  205. py, a directory of example Python scripts.
  206. python_mistake, programs which illustrate mistakes caused by Python, encouraged by Python, or made difficult to spot because of Python.
  207. pyramid_grid, a library which computes a grid of points over the interior of the unit pyramid in 3D;
  208. pyramid_monte_carlo, a library which applies a Monte Carlo (MC) method to estimate integrals of a function over the interior of the unit pyramid in 3D;
  209. quad_mpi, a script which approximates an integral using a quadrature rule, carried out in parallel using MPI and MPI4PY.
  210. quad_serial, a script which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
  211. quadrule, a library which implements rules for approximate integration (quadrature) in one dimension;
  212. quaternions, a library which carries out some simple arithmetic operations for quaternions.
  213. r4lib, a library which contains many utility routines, using single precision real (R4) arithmetic.
  214. 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.
  215. r8ge, a library which contains linear algebra routines for R8GE matrices (real, 64 bit, General format).
  216. r8lib, a library which contains many utility routines, using double precision real (R8) arithmetic.
  217. r8poly, a library which contains a number of utilities for polynomials with R8 coefficients, that is, using double precision or 64 bit real arithmetic.
  218. 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.
  219. randlc, a library which implements a random number generator (RNG) used by the NAS Benchmark programs.
  220. 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.
  221. random_matrix_eigenvalues, a library which demonstrates how, for certain probability density functions (PDF's), a symmetric matrix with entries sampled from that PDF will have eigenvalues distributed according to Wigner's semicircle distribution.
  222. random_sorted, a library which generates vectors of random values which are already sorted.
  223. 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.
  224. rbf_interp_1d, a library which defines and evaluates radial basis function (RBF) interpolants to 1D data.
  225. rbf_interp_2d, a library which defines radial basis function (RBF) interpolants to 2D data.
  226. 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.
  227. rkf45, a script which implements the Runge-Kutta-Fehlberg (RKF) solver for the approximate solution of an ordinary differential equation (ODE) system.
  228. 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.
  229. root_rc, a library which seeks a solution of a scalar nonlinear equation f(x)=0, using reverse communication (RC), by Gaston Gonnet.
  230. roots_rc, a library which seeks solutions of a system of nonlinear equations, using reverse communication (RC), by Gaston Gonnet.
  231. rot13, a program which makes a copy of a file which has been encoded using the ROT13 coding and a ROT5 coding for digits.
  232. 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.
  233. sammon_data, a program which generates six examples of M dimensional datasets for cluster analysis.
  234. satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfiability problem.
  235. search_mpi, a script which searches integers between A and B for a solution J such that F(J)=C, carried out in parallel using MPI and MPI4PY.
  236. search_serial, a script which searches integers between A and B for a solution J such that F(J)=C, intended as a starting point for parallelization exercises.
  237. sftpack, a library which implements the slow Fourier transform (SFT), intended as a teaching tool and comparison with the fast Fourier transform (FFT).
  238. shallow_water_1d, a program which simulates the evolution of a 1D fluid governed by the time-dependent shallow water equations.
  239. shepard_interp_1d, a library which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
  240. simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
  241. 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.
  242. simplex_grid, a library which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.
  243. 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.
  244. 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.
  245. sine_transform, a library which demonstrates simple properties of the discrete sine transform (DST).
  246. snakes_and_ladders, a library which simulates the game of Snakes and Ladders, and estimates the average number of moves in a one-player game.
  247. sobol, a library which computes elements of a Sobol Quasi Monte Carlo (QMC) sequence.
  248. solve, a library which demonstrates how Gauss elimination can be used to solve a linear system A*x=b.
  249. sort_rc, a library which can sort a list of any kind of objects, using reverse communication (RC).
  250. sparse_grid, some classes and functions defining sparse grids, by Jochen Garcke.
  251. 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.
  252. sphere_integrals, a library which returns the exact value of the integral of any monomial over the surface of the unit sphere in 3D.
  253. 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.
  254. 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.
  255. sphere_monte_carlo, a library which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in 3D.
  256. 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.
  257. square_grid, a library which computes a grid of points over the interior of a square in 2D.
  258. 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.
  259. 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.
  260. 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.
  261. st_io a library which reads and writes sparse linear systems stored in the Sparse Triplet (ST) format.
  262. stochastic_diffusion, functions which implement several versions of a stochastic diffusivity coefficient.
  263. stokes_2d_exact, a library which evaluates exact solutions to the incompressible steady Stokes equations over the unit square in 2D.
  264. 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.
  265. subset_sum, a library which seeks solutions of the subset sum problem.
  266. svd_snowfall, a program which reads a file containing historical snowfall data and analyzes the data with the Singular Value Decomposition (SVD), displaying the results using gnuplot.
  267. svd_test, a program which demonstrates the calculation of the singular value decomposition (SVD) and some of its properties;
  268. table_io, functions which read and write files (not very much here yet.)
  269. test_eigen, a library which implements test matrices for eigenvalue analysis.
  270. test_interp, a library which defines test problems for interpolation, provided as a set of (x,y(x)) data.
  271. test_interp_1d, a library which defines test problems for interpolation of data y(x), which depends on a 1D argument.
  272. test_interp_2d, a library which defines test problems for interpolation of data z(x,y), which depends on a 2D argument.
  273. test_lls, a library which implements linear least squares test problems of the form A*x=b.
  274. 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.
  275. test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
  276. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  277. test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
  278. test_values, a library which returns selected values of some special functions;
  279. test_zero, a library which defines some functions f(x) suitable for testing software that solves f(x)=0;
  280. tetrahedron_grid, a library which computes a grid of points over the interior of a tetrahedron in 3D.
  281. tetrahedron_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit tetrahedron in 3D.
  282. tetrahedron_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit tetrahedron in 3D.
  283. timer, a library which implements various real time and CPU time tests.
  284. timestamp, a script which prints the current YMDHMS date as a timestamp.
  285. toeplitz_cholesky, a library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
  286. 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.
  287. 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.
  288. 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.
  289. toms179, a library which calculates the incomplete Beta ratio, by Oliver Ludwig. This is a version of ACM TOMS algorithm 179.
  290. toms243, a library which evaluates the logarithm of a complex value, by David Collens. This is a version of ACM TOMS algorithm 243.
  291. 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.
  292. toms577, a library which evaluates Carlson's elliptic integral functions RC, RD, RF and RJ. This is a version of ACM TOMS algorithm 577.
  293. triangle_grid, a library which computes a grid of points over the interior of a triangle in 2D.
  294. triangle_integrals, a library which returns the exact value of the integral of any polynomial over the interior of a general triangle in 2D.
  295. triangle_interpolate, a library which shows how vertex data can be interpolated at any point in the interior of a triangle.
  296. triangle_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of a general triangle in 2D.
  297. triangle_properties, a library which can compute properties, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality, of a triangle in 2D.
  298. triangle01_integrals, a library which returns the integral of any monomial over the interior of the unit triangle in 2D.
  299. triangle01_monte_carlo, a library which uses the Monte Carlo method to estimate the integral of any function over the interior of the unit triangle in 2D.
  300. 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.
  301. 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].
  302. tsp_brute, a program which reads a file of city-to-city distances and solves a (small!) traveling salesperson problem (TSP), using brute force.
  303. ubvec, a library which demonstrates how nonnegative integers can be stored as unsigned binary vectors, and arithmetic can be performed on them.
  304. unicycle, a library which considers permutations containing a single cycle, sometimes called cyclic permutations.
  305. uniform, a library which contains uniform random number generators (RNG's) for several arithmetic types.
  306. 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.
  307. van_der_corput, a library which computes elements of the van der Corput 1-dimensional Quasi Monte Carlo (QMC) sequence, using a simple interface.
  308. 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 with matplotlib.
  309. voronoi_plot, a program which estimates the Voronoi neighborhoods of points using sampling, and with a distance based on the L1, L2, LInfinity or arbitrary LP norms;
  310. voronoi_test, a script which demonstrates the use of the scipy.spatial function Voronoi(), to compute a Voronoi diagram, and voronoi_plot_2d(), to display it.
  311. walker_sample, a library which efficiently samples a discrete probability density function (PDF) represented by a vector, using Walker sampling.
  312. walsh, a library which implements versions of the Walsh and Haar transforms.
  313. wathen, a library which compares storage schemes (full, banded, sparse triplet, sparse) and solution strategies (A\x, Linpack, conjugate gradient) for linear systems involving the Wathen matrix, which can arise when solving a problem using the finite element method (FEM).
  314. wedge_grid, a library which computes a grid of points over the interior of the unit wedge in 3D.
  315. wedge_integrals, a library which returns the exact value of the integral of any monomial over the interior of the unit wedge in 3D.
  316. wedge_monte_carlo, a library which uses the Monte Carlo method to estimate an integral over the interior of the unit wedge in 3D.
  317. 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.
  318. wtime, a library which shows how to return a reading of the wall clock time.
  319. xml_to_fem, a script which reads an XML file created by FENICS or DOLFIN, describing a mesh in 1D, 2D, or 3D, and extracts two sets of information, namely, the coordinates of nodes, and the indices of nodes that form each element, which constitute a finite element method (FEM) mesh of the geometry.
  320. zero_rc, a library which seeks solutions of a scalar nonlinear equation f(x)=0, or a system of nonlinear equations, using reverse communication (RC).


Last revised on 19 April 2019.