FORTRAN77 Source Codes
Most of these FORTRAN77 codes will no longer be updated or maintained.

analemma,
a program which
evaluates the equation of time, a formula for the difference between
the uniform 24 hour day and the actual position of the sun,
creating data files that can be plotted with gnuplot,
based on a C program by Brian Tung.

args,
a program which
reports the command line arguments of a FORTRAN77 program;

asa005,
a library which
evaluates the lower tail of the noncentral Student's T distribution;
this is Applied Statistics Algorithm 5;

asa006,
a library which
computes the Cholesky factor of a positive definite symmetric matrix;
this is Applied Statistics Algorithm 6;

asa007,
a library which
computes the inverse of a positive definite symmetric matrix;
this is Applied Statistics Algorithm 7;

asa032,
a library which
evaluates the incomplete Gamma function;
this is Applied Statistics Algorithm 32;

asa047,
a library which
minimizes a scalar function of several variables
using the NelderMead algorithm;
this is Applied Statistics Algorithm 47;

asa058,
a library which
carries out clustering of data;
this is Applied Statistics Algorithm 58;

asa063,
a library which
evaluates the incomplete Beta function;
this is Applied Statistics Algorithm 63;

asa066,
a library which
computes the cumulative density function (CDF)
of the standard normal distribution;
this is Applied Statistics Algorithm 66;

asa076,
a library which
evaluates Owen's T function;
this is Applied Statistics Algorithm 76;

asa082,
a library which
computes the determinant of an orthogonal matrix;
this is Applied Statistics Algorithm 82,
by J C Gower.

asa082_test

asa091,
a library which
computes the percentage points of the Chisquare distribution;
this is Applied Statistics Algorithm 91;

asa103,
a library which
evaluates the digamma or psi function;
this is Applied Statistics Algorithm 103;

asa109,
a library which
inverts the incomplete Beta function;
this is Applied Statistics Algorithm 109;

asa111,
a library which
evaluates the percentage points of the normal distribution;
this is Applied Statistics Algorithm 111;

asa113,
a library which
clusters data using the Banfield and Bassill
transfer and swap algorithm;
this is Applied Statistics Algorithm 113;

asa121,
a library which
evaluates the trigamma function;
this is Applied Statistics Algorithm 121;

asa136,
a library which
clusters data using the Hartigan and Wong Kmeans algorithm;
this is Applied Statistics Algorithm 136;

asa144,
a library which
randomly generates tables with given row and column sums;
this is Applied Statistics Algorithm 144;

asa147,
a library which
evaluates the incomplete Gamma function;
this is Applied Statistics Algorithm 147;

asa152,
a library which
evaluates point and cumulative probabilities associated with the
hypergeometric distribution;
this is Applied Statistics Algorithm 152;

asa159,
a library which
generates a table with given row and column sums;
this is Applied Statistics Algorithm 159;

asa172,
a library which
simulates the generation of a set of multiindices by nested DOLoops;
this is Applied Statistics Algorithm 172;

asa183,
a library which
implements the WichmanHill random number generator (RNG);
this is Applied Statistics Algorithm 183;

asa189,
a library which
estimates the parameters of a beta binomial distribution
based on a sample of values generated by the distribution, by D Smith;
this is Applied Statistics Algorithm 189;

asa205,
a library which
generates tables with given row and column sums;
this is Applied Statistics Algorithm 205;

asa226,
a library which
evaluates the noncentral incomplete Beta function;
this is Applied Statistics Algorithm 226;

asa239,
a library which
evaluates the incomplete Gamma function;
this is Applied Statistics Algorithm 239;

asa241,
a library which
computes the inverse of the normal cumulative density function (CDF);
this is Applied Statistics Algorithm 241;

asa243,
a library which
evaluates the lower tail of the noncentral Student's T distribution;
this is Applied Statistics Algorithm 243;

asa245,
a library which
evaluates the logarithm of the Gamma function;
this is Applied Statistics Algorithm 245;

asa266,
a library which
evaluates various properties of the Dirichlet
probability density function (PDF);
this is Applied Statistics Algorithm 266;

asa299,
a library which
computes the lattice points (integer coordinates)
in an Mdimensional simplex;
this is Applied Statistics Algorithm 299;

asa310,
a library which
evaluates the noncentral incomplete Beta function;
this is Applied Statistics Algorithm 310;

asa314,
a library which
computes the inverse of a matrix whose elements are subject to
modulo arithmetic,
by Roger Payne.
This is a FORTRAN77 version of Applied Statistics Algorithm 314.

atkinson,
a FORTRAN77 library which
contains examples from Atkinson's Elementary Numerical Analysis text.

atkinson_test

backtrack_binary_rc,
a library which
carries out a backtrack search for a set of binary decisions, using
reverse communication.

ball_grid,
a library which
computes grid points inside a 3D ball.

ball_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit ball in 3D.

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;

band_qr,
a library which
computes the QR factorization of a banded matrix, and can solve
related linear systems,
by Alfredo Remon, Enrique QuintanaOrti, Gregorio QuintanaOrti.

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.

bdmlib,
a library which
estimates the weights in a Dirichlet mixtured based on sample data;

bellman_ford,
a library which
implements the BellmanFord algorithm for finding the shortest distance
from a given node to all other nodes in a directed graph whose
edges have been assigned realvalued lengths.

bernstein_polynomial,
a library which
evaluates the Bernstein polynomials;

beta_nc,
a library which
evaluates the cumulative density function (CDF)
of the noncentral Beta distribution;

bins,
a library which
orders, sorts and searches data using bins;

bisection_integer,
a library which
seeks an integer solution to the equation F(X)=0,
using bisection within a usersupplied change of sign interval [A,B].

bisection_rc,
a library which
seeks a solution to the equation F(X)=0 using bisection
within a usersupplied change of sign interval [A,B].
The procedure is written using reverse communication.

black_scholes,
a library which
implements some simple approaches to
the BlackScholes option valuation theory,
creating graphics files for processing by gnuplot,
by Desmond Higham.

blas,
a library which
contains the Basic Linear Algebra Subprograms (BLAS)
for level 1, 2 and 3, for single and double precision,
and for real and complex arithmetic.

blas0,
a library which
contains auxilliary functions for the Basic Linear Algebra Subprograms
(BLAS).

blas1_c,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
for vectorvector operations
using single precision complex arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.

blas1_d,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
for vectorvector operations
using double precision real arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.

blas1_s,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
for vectorvector operations
using single precision real arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.

blas1_z,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
for vectorvector operations
using double precision complex arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.

blas2_c,
a library which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrixvector operations
using single precision complex arithmetic.

blas2_d,
a library which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrixvector operations
using double precision real arithmetic.

blas2_s,
a library which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrixvector operations
using single precision real arithmetic.

blas2_z,
a library which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrixvector operations
using double precision complex arithmetic.

blas3_c,
a library which
constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS),
for matrixmatrix operations
using single precision complex arithmetic.

blas3_d,
a library which
constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS),
for matrixmatrix operations
using double precision real arithmetic.

blas3_s,
a library which
constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS),
for matrixmatrix operations
using single precision real arithmetic.

blas3_z,
a library which
constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS),
for matrixmatrix operations
using double precision complex arithmetic.

blend,
a library which
carries out 1D/2D/3D blending interpolation;

box_behnken,
a library which
computes a BoxBehnken design,
that is, a set of arguments to sample the behavior
of a function of multiple parameters;

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.

brent_test

brent_original,
a library which
contains routines for finding zeroes or minima of a scalar
function of a scalar variable,
without the use of derivative information, in the original
format,
by Richard Brent.

brent_original_test

brownian_motion_simulation,
a library which
simulates Brownian motion in an Mdimensional region,
creating graphics files for processing by gnuplot.

burgers_solution,
a library which
evaluates an exact solution of the
timedependent 1D viscous Burgers equation.

bvec,
a library which
demonstrates how signed integers can be stored as
binary vectors, and arithmetic can be performed on them.

bvls,
a library which
applies least squares methods to solve a linear system for which
lower and upper constraints may have been placed on every variable,
by Charles Lawson and Richard Hanson.

bvpsol,
a library which
solves a highly nonlinear two point boundary value problem (BVP)
using a local linear solver (condensing algorithm) or a
global sparse linear solver for the solution of the arising
linear subproblems,
by Peter Deuflhard, Georg Bader, Lutz Weimann.

c4lib,
a library which
implements certain elementary functions for
single precision complex variables;

c8lib,
a library which
implements certain elementary functions for
double precision complex variables;

cauchy_principal_value,
a library which
uses GaussLegendre quadrature to estimate the Cauchy Principal Value
(CPV) of certain singular integrals.

cc_io
a library which
reads and writes sparse linear systems
stored in the Compressed Column (CC) format.

cc_to_st
a library which
converts a sparse matrix from compressed column (CC) to
sparse triplet (ST) format.

ccn_rule,
a program which
defines a one of a sequence of nested Clenshaw Curtis
quadrature rules of any order.

cell,
a library which
defines a cell array, a generalization of an array which
can compactly store and retrieve vector or matrix data of
varying size, such as the rows of a triangular matrix.

cellular_automaton,
a program which
demonstrates the 1D Cellular Automaton known as rule #30.

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.

cg_plus,
a library which
implements the conjugate gradient method for the
minimization of a scalar functional;

cg_rc,
a library which
implements the conjugate gradient method for solving
a positive definite sparse linear system A*x=b,
using reverse communication.

change_making,
a library which
considers the change making problem,
in which a given sum is to be formed using coins of various denominations.

chebyshev,
a library which
computes the Chebyshev interpolant/approximant to a given function
over an interval.

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).

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.

chebyshev_series,
a library which
can evaluate a Chebyshev series approximating a function f(x),
while efficiently computing one, two or three derivatives of the
series, which approximate f'(x), f''(x), and f'''(x),
by Manfred Zimmer.

chrpak,
a library which
can be used to analyze and manipulate character strings;

circle_arc_grid,
a program which
computes grid points along a circular arc.

circle_integrals,
a library which
returns the exact value of the integral of any monomial
over the circumference of the unit circle in 2D.

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;

circle_rule,
a library which
computes quadrature rules for the unit circle in 2D, that is, the
circumference of the circle of radius 1 and center (0,0).

circle_segment,
a library which
carries out computations associated with a circle segment, including
height, angle, area, centroid, sampling, and quadrature,
creating some graphics images using gnuplot.

clenshaw_curtis_rule,
a program which
implements a Clenshaw Curtis quadrature rule;

colnew,
a library which
solves a system of boundary value problems (BVP's),
a mixedorder system of ordinary differential equations (ODE's)
subject to separated, multipoint boundary conditions, using
collocation at Gaussian points, by Uri Ascher and Georg Bader.

colored_noise,
a library which
generates samples of noise obeying a 1/f^alpha power law.

combination_lock,
a program which
simulates the process of determining the secret combination of a lock.

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.

communicator_mpi,
a program which
creates new communicators involving a subset of initial
set of MPI processes in the default communicator MPI_COMM_WORLD.

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.

complex_numbers_test,
a program which
demonstrates some simple features involved in the use of
complex numbers in FORTRAN77 programming.

condition,
a library which
implements methods of computing or estimating
the condition number of a matrix.

conte_deboor,
a FORTRAN77 library which
contains examples from Conte and deBoor's Elementary Numerical
Analysis text.

conte_deboor_test

cordic,
a library which
computes a few special functions using the CORDIC algorithm.

correlation,
a library which
contains examples of statistical correlation functions.

cube_arbq_rule,
a library which
returns quadrature rules,
with exactness up to total degree 15,
over the interior of the symmetric cube in 3D,
by Hong Xiao and Zydrunas Gimbutas.

cube_exactness,
a library which
investigates the polynomial exactness of quadrature rules
over the interior of a cube in 3D.

cube_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a cube in 3D.

cube_grid,
a library which
computes a grid of points
over the interior of a cube in 3D.

cube_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit cube in 3D.

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.

cwg_ode,
a library which
contains three ODE solvers by William Gear.

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.

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.

cyclic_reduction,
a library which
solves a tridiagonal linear system using cyclic reduction;

diaphony,
a program which
reads a file of N points in M dimensions and computes its diaphony,
a measure of point dispersion.

differ,
determines the finite difference coefficients necessary in order to
combine function values at known locations to compute an approximation
of given accuracy to a derivative of a given order.

dijkstra,
a library which
implements a simple version of Dijkstra's minimum distance algorithm
for graphs.

dijkstra_openmp,
a program which
uses OpenMP to parallelize a simple example of Dijkstra's
minimum distance algorithm for graphs.

disk_grid,
a library which
computes grid points within the interior of
a disk of user specified radius and center in 2D,
using GNUPLOT to create an image of the grid.

disk01_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit disk in 2D.

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;

disk01_rule,
a library which
computes quadrature rules for the unit disk in 2D, that is,
the interior of the circle of radius 1 and center (0,0).

dislin_test

divdif,
a library which
interpolates data using divided difference tables;

dlap_io,
a library which
reads and writes DLAP sparse matrix files;

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.

dqed,
a library which
solves bounded and constrained least
squares problems and systems of nonlinear equations;

duel_simulation,
a program which
simulates N repetitions of a duel between two players, each of
whom has a known firing accuracy.

edge,
a library which
defines some test functions in 1D, 2D and 3D
for the detection of edges or discontinuities,
and using GNUPLOT to display the curves or surfaces.

eispack,
a library which
carries out eigenvalue computations;
superseded by LAPACK;

eispack_test

ellipse_grid,
a library which
computes a grid of points
over the interior of an ellipse in 2D.

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.

ellipsoid_grid,
a library which
computes a grid points
over the interior of an ellipsoid in 3D.

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.

elliptic_integral,
a library which
evaluates complete elliptic integrals of first, second and third kind,
using Carlson's elliptic integral functions.

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).

expokit,
a library which
solves various forms of the matrix exponential problem,
by Roger Sidje.

f77,
examples which
illustrate features of FORTRAN77;

f77_calls_c,
programs which
illustrate how a FORTRAN77 program can call a C function.

f77_calls_c++,
programs which
illustrate how a FORTRAN77 program can call a C++ function.

f77_calls_matlab,
programs which
illustrate how a FORTRAN77 program can interact with MATLAB;

f77_condor,
programs which
illustrate how a FORTRAN77 program can be run in batch mode
using the condor queueing system.

f77_intrinsics,
examples which
illustrate the use of some of the intrinsic functions
included with the F77 standard language;

f77_mistake,
programs which
illustrate some simple but devious programming mistakes in FORTRAN77.

f77_return,
programs which
illustrates how a FORTRAN77 program can return a program status value
to the calling environment.

fair_dice_simulation,
a program which
simulates N tosses of 2 dice,
writing graphics files for processing by gnuplot.

fd_predator_prey,
a program which
solves a pair of predator prey ordinary differential
equations (ODE's) using a finite difference approximation.

fd1d_advection_diffusion_steady,
a program which
applies the finite difference method (FDM) to solve the
steady advection diffusion equation v*uxk*uxx=0 in
one spatial dimension, with constant velocity v and diffusivity k,
writing graphics files for processing by gnuplot.

fd1d_advection_ftcs,
a program which
applies the finite difference method (FDM) to solve the timedependent
advection equation ut =  c * ux in one spatial dimension, with
a constant velocity, using the FTCS method, forward time difference,
centered space difference,
writing graphics files for processing by gnuplot.

fd1d_advection_lax,
a program which
applies the finite difference method (FDM) to solve the timedependent
advection equation ut =  c * ux in one spatial dimension, with
a constant velocity, using the Lax method to approximate the
time derivative, writing graphics files for processing by gnuplot.

fd1d_advection_lax_wendroff,
a program which
applies the finite difference method (FDM) to solve the timedependent
advection equation ut =  c * ux in one spatial dimension, with
a constant velocity, using the LaxWendroff method to approximate the
time derivative,
writing graphics files for processing by gnuplot.

fd1d_burgers_lax,
a program which
applies the finite difference method (FDM)
and the Lax Wendroff method
to solve the nonviscous timedependent Burgers equation
in one spatial dimension.

fd1d_burgers_leap,
a program which
applies the finite difference method (FDM) and the leapfrog approach
to solve the nonviscous timedependent Burgers equation
in one spatial dimension.

fd1d_bvp,
a program which
applies the finite difference method (FDM)
to a two point boundary value problem (BVP) in one spatial dimension.

fd1d_heat_explicit,
a program which
implements a finite difference method (FDM), explicit in time, of the
time dependent 1D heat equation;

fd1d_heat_implicit,
a program which
implements a finite difference method (FDM), implicit in time, of the
time dependent 1D heat equation;

fd1d_heat_steady,
a program which
implements a finite difference method (FDM) for the steady
(time independent) 1D heat equation;

fd1d_predator_prey,
a program which
implements a finite difference method (FDM)
for a 1D predatorprey system;

fd1d_wave,
a program which
applies the finite difference method (FDM) to solve the timedependent
wave equation utt = c * uxx in one spatial dimension.

fd2d_heat_steady,
a program which
implements a finite difference method (FDM) for the steady
(time independent) 2D heat equation;

fem_basis,
a library which
can define and evaluate basis functions associated with
the finite element method (FEM) for any degree
in an Mdimensional simplex (1D interval, 2D triangle,
3D tetrahedron, and higher dimensional generalizations.)

fem_io,
a library which
reads or writes FEM files,
which describe the nodes, elements, and function values
associated with a finite element method (FEM) model;

fem_to_gmsh,
a program which
reads a pair of FEM files defining node coordinates and elements,
of a 1D, 2D or 3D mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a Gmsh mesh file.

fem_to_medit,
a program which
reads a pair of FEM files defining node coordinates and elements,
of a 2D mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding MEDIT mesh file.

fem_to_triangle,
a program which
reads FEM files defining a 2D mesh of triangles, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding pair of node
and element files for use by Jonathan Shewchuk's triangle program.

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.

fem1d,
a program which
applies the finite element method (FEM),
with piecewise linear basis functions, to a linear
two point boundary value problem (BVP) in 1D;

fem1d_adaptive,
a program which
uses an adaptive mesh when applying the finite element method (FEM),
with piecewise linear basis functions, to a linear
two point boundary value problem (BVP) in 1D;

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.

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.

fem1d_heat_steady,
a program which
implements the finite element method (FEM) for the steady
(time independent) 1D heat equation;

fem1d_lagrange,
a library which
sets up the matrices and vectors associated with the finite element
method (FEM) solution of a boundary value problem (BVP) u''+u=f(x),
using Lagrange basis polynomials.

fem1d_nonlinear,
a program which
applies the finite element method (FEM),
with piecewise linear basis functions, to a nonlinear
two point boundary value problem (BVP) in 1D;

fem1d_oden,
a library which
implements a 1D finite element method (FEM) calculation.

fem1d_pack,
a library which
contains utilities for 1D finite element method (FEM) calculations.

fem1d_pmethod,
a program which
applies the pmethod version of
the finite element method (FEM) to a linear
two point boundary value problem (BVP) in 1D;

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.

fem1d_sample,
a program which
samples a scalar or vector finite element function of one variable,
defined by a set of files in FEM format,
returning interpolated values at the sample points.

fem2d_bvp_linear,
a program which
applies the finite element method (FEM),
with piecewise linear elements,
to a 2D boundary value problem (BVP) in a rectangle,
and compares the computed and exact solutions
with the L2 and seminorm errors.

fem2d_bvp_quadratic,
a program which
applies the finite element method (FEM),
with piecewise quadratic elements,
to a 2D boundary value problem (BVP) in a rectangle,
and compares the computed and exact solutions
with the L2 and seminorm errors.

fem2d_bvp_serene,
a program which
applies the finite element method (FEM), with serendipity elements,
to a 2D boundary value problem (BVP) in a rectangle,
and compares the computed and exact solutions
with the L2 and seminorm errors.

fem2d_oden,
a library which
implements a 2D calculations for
the finite element method (FEM);

fem2d_pack,
a library which
implements simple 2D calculations for
the finite element method (FEM);

fem2d_poisson_rectangle,
a program which
solves the 2D Poisson equation on a rectangle,
using the finite element method (FEM),
and piecewise quadratic triangular elements.

fem2d_poisson_rectangle_linear,
a program which
solves the 2D Poisson equation on a rectangle,
using the finite element method (FEM),
and piecewise linear triangular elements.

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.

feynman_kac_1d,
a program which
demonstrates the use of the FeynmanKac algorithm
to solve Poisson's equation in a 1D interval by averaging
stochastic paths to the boundary.

feynman_kac_2d,
a program which
demonstrates the use of the FeynmanKac algorithm
to solve Poisson's equation in a 2D ellipse by averaging
stochastic paths to the boundary.

feynman_kac_3d,
a program which
demonstrates the use of the FeynmanKac algorithm
to solve Poisson's equation in a 3D ellipsoid by averaging
stochastic paths to the boundary.

fft_openmp,
a program which
demonstrates the computation of a Fast Fourier Transform (FFT)
in parallel, using OpenMP.

fft_serial,
a program which
computes a Fast Fourier Transform (FFT), and is intended as
a starting point for implementing an OpenMP parallel version.

fftpack5,
a library which
contains version 5 of the FFTPACK
Fast Fourier Transform (FFT) package
by Paul Swarztrauber and Dick Valent;

fftpack5.1,
a library which
contains version 5.1 of the FFTPACK
Fast Fourier Transform (FFT) package
by Paul Swarztrauber and Dick Valent;

fftw,
examples which
illustrate the use of the FFTW Fast Fourier Transform (FFT) package,
by Matteo Frigo and Steven Johnson.

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.

files_multiple,
a program which
demonstrates how a program can open multiple output files at one time,
and write data to any one specific file it chooses.

filon,
a library which
can approximate integrals in which the integrand includes an
oscillatory factor of sin(k*x) or cos(k*x).

filum,
a library which
performs various operations on files;

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.

floyd,
a library which
implements Floyd's algorithm for finding the shortest distance
between pairs of nodes on a directed graph.

fmm2d,
a library which
implements the fast multipole method,
by Leslie Greengard and Zydrunas Gimbutas.

fn,
a library which
evaluates elementary and special functions,
by Wayne Fullerton.

freefem++_msh_io,
a library which
can read and write files used by the FreeFem++ finite element program
to store mesh information.

gdb,
an example directory of programs which
illustrate the use of the gnu debugger program
on a FORTRAN77 program;

geometry,
a library which
carries out a number of 2D/3D geometric calculations;

geqp3,
a library which
contains the portion of the LAPACK library that carries out the
QR factorization, with column pivoting, of an M by N rectangular
matrix, with N <= M.

gfortran,
examples which
investigate the use of the Gnu GFORTRAN compiler for FORTRAN77.

gfortran_intrinsics,
a program which
illustrates the use of some of the intrinsic functions
included by the Gnu GFORTRAN compiler, above and beyond those
specified in the FORTRAN77 language standards.

gfortran_quadmath,
a program which
illustrates the use of quadruple precision real arithmetic,
as provided on some systems by the Gnu GFORTRAN compiler
for FORTRAN77.

gmsh_io,
a library which
can read or write some of the files created by the Gmsh
program for 1D, 2D or 3D meshes
used by the finite element method (FEM).

gmsh_to_fem,
a program which
reads a mesh data file created by the GMSH program
and writes a pair of node and element files that correspond
to the FEM format.

gnufor,
a library which
provides an interface between a program and
the gnuplot graphics library.

gnuplot,
programs which
illustrate how a program can write data and command files
so that gnuplot can create plots of the program results.

gprof_test,
examples which
illustrate the use of the GPROF program performance monitor;

graphics_examples,
programs which
illustrate how various kinds of data can be displayed
and analyzed graphically.

haar,
a library which
computes the Haar transform of data.

hb_read,
a library which
reads files
in the Harwell Boeing (HB) sparse matrix format;
This is a simplified interface intended to handle only the
most common format, complex unsymmetric assembled (CUA)
or real unsymmetric assembled (RUA).

hb_to_st,
a program which
reads a sparse matrix in a HarwellBoeing (HB) file and
writes an equivalent Sparse Triplet (ST) file.

hcell,
a program which
solves the timedependent 2D
incompressible Navier Stokes equations in an Hshaped region.

hcell_steady,
a program which
solves the timeindependent or "steady" 2D
incompressible Navier Stokes equations in an Hshaped region,
by HyungChun Lee.

heat_mpi,
a program which
solves the 1D time dependent heat equation using MPI.

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.

heated_plate_openmp,
a program which
solves the steady (time independent) heat equation in a 2D
rectangular region, using OpenMP to run in parallel.

hello,
a program which
prints out "Hello, world!".

hello_mpi,
a program which
prints out "Hello, world!" using MPI for parallel programming.

hello_openmp,
a program which
prints out "Hello, world!" within the OpenMP parallel programming
environment.

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.

hermite_exactness,
a program which
tests the polynomial exactness of GaussHermite quadrature rules
to estimate the integral of f(x) with density exp(x^2)
over the interval (oo,+oo).

hermite_integrands,
a library which
defines test integrands for Hermite integrals
with density exp(x^2) over the interval (oo,+oo).

hermite_interpolant,
a library which
computes the Hermite interpolant,
a polynomial that matches function values
and derivatives.

hermite_polynomial,
a library which
evaluates the physicist's Hermite polynomial,
the probabilist's Hermite polynomial,
the Hermite function, and related functions.

hermite_product_polynomial,
a library which
defines Hermite product polynomials, creating a multivariate
polynomial as the product of univariate Hermite polynomials.

hermite_rule,
a program which
computes and writes out a GaussHermite quadrature rule
of given order.

high_card_simulation,
a program which
simulates a situation in which you see the cards in a deck one by one,
and must select the one you think is the highest and stop;
the program uses GNUPLOT to create a graph of the results.

histogram_data_2d_sample,
a program which
demonstrates how to construct a Probability Density Function (PDF)
from sample data over a 2D domain,
and then to use that PDF to create new samples.

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.

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;

hyperball_volume_monte_carlo,
a program which
applies a Monte Carlo procedure to estimate the volume of the
unit ball in M dimensions;

hypercube_exactness,
a program which
tests the polynomial exactness of a quadrature rule
over the interior of the unit hypercube in M dimensions.

hypercube_grid,
a library which
computes a grid of points
over the interior of a hypercube in M dimensions.

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.

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.

hypersphere,
a library which
carries out various operations for an M dimensional hypersphere,
including converting between Cartesian and spherical coordinates,
stereographic projection, sampling the surface of the sphere, and
computing the surface area and volume.

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.

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;

hypersphere_properties,
a library which
carries out various operations for an M dimensional hypersphere,
including converting between Cartesian and spherical coordinates,
stereographic projection, sampling the surface of the sphere, and
computing the surface area and volume.

i4lib,
a library which
contains many utility routines, using "I4" or
"single precision integer" arithmetic.

i8lib,
a library which
contains many utility routines, using "I8" or
"double precision integer" arithmetic.

image_components,
a library which
seeks the connected nonzero or nonblack components of
an image or integer array.

image_denoise,
a library which
applies simple filtering operations to a noisy image.

image_edge,
a library which
demonstrates a simple procedure for edge detection in images.

index,
a library which
converts a multidimensional vector index
to a onedimensional vector index; it can handle
zero and one based indexing schemes, as well as column major
and row major conventions.

inout
a program which
solves the timedependent Navier Stokes equations
in the "INOUT" region,
by HyungChun Lee.

interp,
a library which
can be used for parameterizing and interpolating data;

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.

jacobi,
a library which
implements the Jacobi iteration for the iterative solution of
linear systems.

jacobi_eigenvalue,
a library which
implements the Jacobi iteration for the iterative determination
of the eigenvalues and eigenvectors of a real symmetric matrix.

jacobi_polynomial,
a library which
evaluates the Jacobi polynomial and associated functions.

kmedian,
a program which
solves the KMedian problem,
by G Cornuejols, M L Fisher, G L Nemhauser.

knapsack,
a library which
solves a variety of knapsack problems,
by Silvano Martelo and Paolo Toth.

knapsack_01,
a library which
uses brute force to solve small versions of the 0/1 knapsack problem;

kronrod,
a library which
can compute a Gauss and GaussKronrod pair of quadrature rules
of arbitrary order,
by Robert Piessens, Maria Branders.

lagrange_approx_1d,
a library which
defines and evaluates the Lagrange polynomial p(x) of degree m
which approximates a set of nd data points (x(i),y(i)).

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).

lagrange_interp_2d,
a library which
defines and evaluates the Lagrange polynomial p(x,y)
which interpolates a set of data depending on a 2D argument
that was evaluated on a product grid,
so that p(x(i),y(j)) = z(i,j).

lagrange_interp_nd,
a library which
defines and evaluates the Lagrange polynomial p(x) which
interpolates a set of data depending on a multidimensional argument
that was evaluated on a product grid,
so that p(x(i)) = z(i).

laguerre_exactness,
a program which
tests the polynomial exactness of GaussHermite quadrature rules
for estimating the integral of a function with density exp(x)
over the interval [0,+oo).

laguerre_polynomial,
a library which
evaluates the Laguerre polynomial,
the generalized Laguerre polynomials,
and the Laguerre function.

laguerre_rule,
a program which
computes and writes out a GaussLaguerre quadrature rule
for estimating the integral of a function with density exp(x)
over the interval [0,+oo).

laguerre_test_int,
a library which
implements test problems for quadrature rules
for estimating the integral of a function with density exp(x)
over the interval [0,+oo).

lapack_eigen_test,
a program which
tests some of the LAPACK eigenvalue functions.

lapack_examples,
a program which
demonstrates the use of the LAPACK linear algebra library.

lapack_examples_osx,
a program which
demonstrates the use of the
precompiled LAPACK linear algebra library available
on Macintosh OSX systems,
using the "framework veclib" compiler option.

laplacian,
a library which
carries out computations related to the discrete
Laplacian operator, including full or sparse evaluation,
evaluation for unequally spaced data sampling points,
application to a set of data samples, solution of associated
linear systems, eigenvalues and eigenvectors, and extension
to 2D and 3D geometry.

latin_cover,
a library which
produces N Latin squares which cover an NxN square, or NxN Latin cubes
which cover an NxNxN cube.

latin_random,
a library which
produces N points in an Mdimensional Latin Random Hypercube.

latinize,
a library which
adjusts N points in M dimensions to form a Latin hypercube.

lawson,
a library which
contains routines for solving least squares problems
and the singular value decomposition (SVD),
by Lawson and Hanson.

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.

legendre_exactness,
a program which
tests the monomial exactness of quadrature rules for the Legendre
problem of integrating a function with density 1
over the interval [1,+1].

legendre_polynomial,
a library which
evaluates the Legendre polynomial and associated functions.

legendre_product_polynomial,
a library which
defines Legendre product polynomials, creating a multivariate
polynomial as the product of univariate Legendre polynomials.

legendre_rule,
a program which
writes out a GaussLegendre quadrature rule of given order.

legendre_rule_fast,
a program which
uses a fast (order N) algorithm to compute
a GaussLegendre quadrature rule of given order.

life_serial,
a program which
computes a few steps of the evolution of John Conway's Game of Life,
intended as a starting point for implementing a parallel version.

line_cvt_lloyd,
a library which
applies Lloyd's iteration repeatedly to a set of N points,
to compute a Centroidal Voronoi Tessellation (CVT)
over the interior of a line segment in 1D.

line_fekete_rule,
a library which
estimates the location of N Fekete points, for polynomial
interpolation or quadrature,
over the interior of a line segment in 1D.

line_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a line segment in 1D.

line_grid,
a library which
computes a grid of points
over the interior of a line segment in 1D.

line_integrals,
a library which
returns the exact value of the integral of any monomial
over the length of the unit line in 1D.

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.

line_ncc_rule,
a library which
computes a Newton Cotes Closed (NCC) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.

line_nco_rule,
a library which
computes a Newton Cotes Open (NCO) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.

linpack,
a library which
solves linear systems for a variety of matrix storage schemes,
real or complex arithmetic, and single or double precision.
It includes a routine for computing
the singular value decomposition (SVD) of a rectangular matrix.
The original version of this library is
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

linpack_bench,
a program which
carries out the LINPACK benchmark;

linpack_c,
a library which
constitutes a linear algebra library
for single precision complex arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix.
The original version of this library is
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

linpack_d,
a library which
constitutes a linear algebra library
for double precision real arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix.
The original version of this library is
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

linpack_s,
a library which
constitutes a linear algebra library;
for single precision real arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix.
The original version of this library is
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

linpack_s_test

linpack_z,
a library which
constitutes a linear algebra library
for double precision complex arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix.
The original version of this library is
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

linplus,
a library which
carries out operations such as matrixvector products,
matrix factorization, direct and iterative linear solvers
for matrices in a variety of formats, including banded,
borderbanded, circulant, lower triangular, pentadiagonal,
sparse, symmetric, toeplitz, tridiagonal, upper triangular
and vandermonde formats.

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 rootmeansquare error
to a set of N data points.

lobatto_polynomial,
a library which
evaluates Lobatto polynomials similar to Legendre polynomials
except that they are 0 at both endpoints.

lorenz_ode,
a program which
approximates solutions to the Lorenz system,
creating output files that can be displayed by Gnuplot.

machar,
a library which
computes the values of various machine characteristic constants;

machine,
a library which
returns tabulated values of machine constants;

makefiles,
examples which
illustrate the use of MAKEFILES for maintaining a software
project;

mandelbrot,
a program which
generates an ASCII PPM image of the Mandelbrot set;

mandelbrot_openmp,
a program which
generates an ASCII Portable Pixel Map (PPM) image of the
Mandelbrot fractal set, using OpenMP for parallel execution;

matman,
a program which
manipulates matrices;

matmul,
a program which
carries out a matrix multiplication benchmark;

matrix_exponential,
a library which
demonstrates some simple approaches to the problem of computing the
exponential of a matrix.

md,
a program which
carries out a molecular dynamics simulation, and is intended as
a starting point for implementing an OpenMP parallel version.

md_openmp,
a program which
carries out a molecular dynamics simulation in parallel using OpenMP.

medit_io,
a library which
can read or write files used by the MEDIT program, which can be used to
define the a mesh associated with the finite element method (FEM)
in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.

medit_to_fem,
a program which
reads a mesh file created by the MEDIT program
and writes a corresponding pair of node and element files that correspond
to the FEM format.

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.

mgmres,
a library which
applies the restarted Generalized Minimum Residual (GMRES) algorithm
to solve a sparse linear system, using compressed row (CR) or
sparse triplet (ST) format, by Lili Ju.

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.

minpack,
a library which
solves linear and nonlinear least squares problems,
by Jorge More, Danny Sorenson, Burton Garbow, Kenneth Hillstrom.

mixed,
examples which
illustrate the use of mixed language programming in which
the main program is written in FORTRAN77;

mm_io,
a library which
reads or writes sparse matrices that use the
Matrix Market (MM) sparse matrix file format.

monomial,
a library which
enumerates, lists, ranks, unranks and randomizes multivariate monomials
in a space of M dimensions, with total degree less than N,
equal to N, or lying within a given range.

monomial_value,
a library which
evaluates a monomial in M dimensions.

monte_carlo_rule,
a program which
generates a dataset of N random Mdimensional points,
regards it as a quadrature rule for the unit hypercube,
and writes out three files of information.

mpi,
examples which
illustrate the use of the MPI library for the parallel
execution of programs;

mpi_stubs,
a library which
may be used if a parallel program is to be compiled, loaded
and run in a serial machine.

multigrid_poisson_1d,
a library which
applies the multigrid method to a discretized version of the
1D Poisson equation.

multitask_mpi,
a program which
demonstrates how to multitask, that is, to execute several
unrelated and distinct tasks simultaneously, using MPI for
parallel execution.

multitask_openmp,
a program which
demonstrates how to multitask, that is, to execute several
unrelated and distinct tasks simultaneously, using OpenMP for
parallel execution.

mus,
a library which
implements the multiple shooting method
for two point boundary value problems (BVP's),
for linear or nonlinear cases,
by Robert Mattheij and G Staarink.

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.

mxm_openmp,
a program which
computes a dense matrix product C=A*B,
using OpenMP for parallel execution.

mxm_serial,
a program which
sets up a matrix multiplication problem A=B*C,
intended as a starting point for implementing a parallel version.

naca,
a library which
can take the parameters of certain NACA airfoils and return the
coordinates of a sequence of points that outline the wing shape.
The points can be plotted with gnuplot.

napack,
a library which
includes many routines for applied numerical linear algebra,
by William Hager.

nas,
a program which
runs the NASA kernel benchmark.

navier_stokes_2d_exact,
a library which
evaluates an exact solution to the incompressible timedependent
NavierStokes equations over an arbitrary domain in 2D.

navier_stokes_3d_exact,
a library which
evaluates an exact solution to the incompressible timedependent
NavierStokes equations over an arbitrary domain in 3D.

nearest_interp_1d,
a library which
interpolates a set of data using a piecewise constant interpolant
defined by the nearest neighbor criterion,
creating graphics files for processing by gnuplot.

netcdf,
programs which
read and write NETCDF files.

newton_rc,
a program which
demonstrates the use of Newton's method to solve a system of nonlinear
equations, using reverse communication.

nintlib,
a library which
applies approximate integration (quadrature) in M dimensions;

nl2sol,
a library which
implements an adaptive nonlinear least squares algorithm,
by John Dennis, David Gay, Roy Welsch.

nms,
a library which
includes a wide variety of numerical software, including
solvers for linear systems of equations, interpolation of data,
numerical quadrature, linear least squares data fitting,
the solution of nonlinear equations,
ordinary differential equations (ODE's),
optimization and nonlinear least squares,
simulation and random numbers,
trigonometric approximation and Fast Fourier Transforms (FFT).

normal,
a library which
generates normally distributed pseudorandom numbers.

nspcg,
a library which
carries out the iterative solution of large nonsymmetric systems of
linear equations. The package includes a
variety of matrix storage formats, preconditioners, and solvers.

ode,
a library which
handles ordinary differential equations (ODE's),
by Shampine and Gordon;

odepack,
a library which
contains nine ODE solvers, including LSODE, LSODES, LSODA,
LSODAR, LSODPK, LSODKR, LSODI, LSOIBT, and LSODIS,
by Alan Hindmarsh.

openmp,
examples which
illustrate the use of the use of the OpenMP interface
for parallel processing on shared memory systems;

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.

optimize,
a program which
looks at the use of automatic optimization by the compiler
to make the executable code run faster.

ornstein_uhlenbeck,
a library which
approximates solutions of the OrnsteinUhlenbeck
stochastic ordinary differential equation (SODE)
using the Euler method, the EulerMaruyama method,
and the Milstein method,
and creating graphics files for processing by gnuplot.

owen,
a library which
evaluates Owen's T function;

padua,
a library which
returns the points and weights for Padu sets, useful for interpolation
in 2D. GNUPLOT is used to make plots of the points.

partition_problem,
a library which
seeks solutions of the partition problem, splitting a set of
integers into two subsets with equal sum.

patterson_rule,
a program which
returns the points and weights of a 1D GaussPatterson quadrature rule
of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

pbma_io,
a library which
reads or writes ASCII PBM 2D bit map graphics files;

pce_burgers,
a program which
defines and solves a version of the
timedependent viscous Burgers equation, with uncertain viscosity,
using a polynomial chaos expansion in terms of Hermite polynomials,
by Gianluca Iaccarino.

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.

pchip,
a library which
can construct a piecewise cubic Hermite interpolant to data, and
carry out various related operations, by Fred Fritsch.

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.

pgma_io,
a library which
reads or writes ASCII PGM 2D grayscale graphics files;

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).

pink_noise,
a library which
computes a pink noise signal obeying a 1/f power law.

point_merge,
a library which
considers N points in M dimensional space, and counts or indexes
the unique or "tolerably unique" items.

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.

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.

poisson_simulation,
a library which
simulates a Poisson process in which events randomly occur with an
average waiting time of Lambda,
creating graphics files for processing by gnuplot.

polpak,
a library which
evaluates special functions, recursive polynomials, and so on.

polygon_grid,
a library which
generates a grid of points
over the interior of a polygon in 2D.

polygon_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of a polygon in 2D.

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.

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.

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.

polynomial,
a library which
adds, multiplies, differentiates, evaluates and prints multivariate
polynomials in a space of M dimensions.

power_method,
a library which
carries out the power method for finding a dominant eigenvalue
and its eigenvector.

power_rule,
a program which
constructs a power rule, that is, a product quadrature rule
from identical 1D factor rules.

ppma_io,
a library which
reads or writes ASCII Portable Pixel Map (PPM)
2D color graphics files;

pppack,
a library which
computes piecewise polynomial
interpolants and approximants, in particular, cubic splines,
by Carl DeBoor.

praxis,
a library which
minimizes a scalar function of several variables, without
requiring derivative information,
by Richard Brent.

prime_mpi,
a program which
counts the number of primes between 1 and N,
using MPI for parallel execution.

prime_openmp,
a program which
counts the number of primes between 1 and N,
using OpenMP for parallel execution.

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.

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.

product_rule,
a program which
creates an Mdimensional quadrature rule
from a product of distinct 1d quadrature rules;

pwl_approx_1d,
a library which
approximates a set of data using a piecewise linear function.

pwl_interp_1d,
a library which
interpolates a set of data using a piecewise linear function.

pwl_interp_2d,
a library which
evaluates a piecewise linear interpolant to data defined on
a regular 2D grid.

pwl_interp_2d_scattered,
a library which
evaluates a piecewise linear interpolant to data which is available
at an irregularly arranged set of points.

pyramid_exactness,
a program which
investigates the polynomial exactness of a quadrature rule
over the interior of the unit pyramid in 3D.

pyramid_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a pyramid in 3D.

pyramid_grid,
a library which
computes a grid of points
over the interior of the unit pyramid in 3D;

pyramid_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit pyramid in 3D.

pyramid_monte_carlo,
a library which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the unit pyramid in 3D;

pyramid_rule,
a program which
computes a quadrature rule
over the interior of the unit pyramid in 3D.

qr_solve,
a library which
computes the least squares solution of a linear system A*x=b.

quad_mpi,
a program which
applies a quadrature rule to estimate an integral, using MPI;

quad_openmp,
a program which
applies a quadrature rule to estimate an integral
over a 1D interval, using OpenMP for parallel execution;

quad_serial,
a program which
applies a quadrature rule to estimate an integral,
intended as a starting point for parallelization exercises.

quad2d_openmp,
a program which
applies a product quadrature rule to estimate an integral
over a 2D rectangle, using OpenMP for parallel execution;

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.

quadmom,
a library which
computes a Gaussian quadrature rule for a weight function rho(x)
based on the GolubWelsch procedure that only requires knowledge
of the moments of rho(x).

quadpack,
a library which
estimates integrals using numerical quadrature,
by Piessens, deDonckerKapenga, Ueberhuber, and Kahaner.

quadrature_golub_welsch,
a library which
computes the points and weights of a Gaussian quadrature rule using
the GolubWelsch procedure.

quadrature_least_squares,
a library which
computes weights for subinterpolatory quadrature rules,
that is, it estimates integrals by integrating a polynomial that
approximates the function data in a least squares sense.

quadrature_weights_vandermonde,
a library which
computes the weights of a quadrature rule using the Vandermonde
matrix, assuming that the points have been specified.

quadrature_weights_vandermonde_2d,
a library which
computes the weights of a 2D quadrature rule using the Vandermonde
matrix, assuming that the points have been specified.

quadrule,
a library which
implements rules for approximate integration (quadrature)
in one dimension;

r4lib,
a library which
contains many utility routines, using "R4" or
"single precision real" arithmetic.

r8lib,
a library which
contains many utility routines, using "R8" or
"double precision real" arithmetic.

randlc,
a library which
is a random number generator (RNG) used by the NAS Benchmark programs.

random_data,
a library which
uses a random number generator (RNG) to sample points for
various probability distributions, spatial dimensions, and geometries,
including the Mdimensional cube, ellipsoid, simplex and sphere.

random_mpi,
a program which
demonstrates one way to use a random number generator (RNG)
to generate the same sequence of values for both sequential execution
and parallel execution under MPI.

random_openmp,
a program which
illustrates how a parallel program using OpenMP can generate multiple
distinct streams of random numbers.

ranlib,
a library which
produces random samples from
a variety of probabilistic distributions, by Brown and Lovato.

rbf_interp_1d,
a library which
defines and evaluates radial basis function (RBF)
interpolants to 1D data.

rbf_interp_2d,
a library which
defines and evaluates radial basis function (RBF)
interpolants to 2D data.

rbf_interp_nd,
a library which
defines and evaluates radial basis function (RBF) interpolants
to multidimensional data.

reactor simulation,
a program which
is a simple Monte Carlo simulation of the shielding effect of a slab
of a certain thickness in front of a neutron source. This program was
provided as an example with the book "Numerical Methods and Software."

ring_mpi,
a program which
uses the MPI parallel programming environment, and measures the time
necessary to copy a set of data around a ring of processes.

rk4,
a library which
applies the fourth order RungeKutta (RK) algorithm to estimate the
solution of an ordinary differential equation (ODE)
at the next time step.

rkf45,
a library which
solves a system of ordinary differential equations (ODE's)
by the RungeKuttaFehlberg method.

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.

sandia_cvt,
a program which
positions a given number of points in an arbitrary region,
using probabilistic centroidal Voronoi tessellation (CVT)
techniques to achieve good coverage and separation; developed
for Sandia National Laboratories;

satisfy,
a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem.

satisfy_mpi,
a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem,
using MPI to perform the calculation in parallel.

satisfy_openmp,
a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem,
using OpenMP for parallel execution.

schedule_openmp,
a program which
demonstrates the default, static, and dynamic methods of "scheduling"
loop iterations in OpenMP to avoid work imbalance.

scotch_test,
a FORTRAN77 program which
tests the scotch sparse matrix package.

sde,
a library which
illustrates properties of
stochastic ordinary differential equations (SODE's), and
common algorithms for their analysis, including the Euler method,
the EulerMaruyama method, and the Milstein method,
making graphics files for processing and display by gnuplot,
by Desmond Higham;

search_mpi,
a program which
searches integers between A and B for a solution J such that F(J)=C,
carried out in parallel using MPI.

search_serial,
a program which
searches the integers from A to B for a value J such that F(J) = C.
this version of the program is intended as a starting point for
a parallel approach.

select,
a library which
carries out Nijenhuis and Wilf's generalized
combinatorial selection algorithm;

set_theory,
a library which
demonstrates various set theoretic operations
using several models of a set.

sftpack,
a library which
implements the "slow" Fourier transform, intended as a teaching
tool and comparison with the fast Fourier transform (FFT).

sgefa_openmp,
a program which
compares a standard linear algebra solver against a revised version
which can be run in parallel with OpenMP.

shepard_interp_1d,
a library which
defines and evaluates Shepard interpolants to 1D data,
based on inverse distance weighting.

shepard_interp_2d,
a library which
defines and evaluates Shepard interpolants to 2D data,
based on inverse distance weighting.

shepard_interp_nd,
a library which
defines and evaluates Shepard interpolants to multidimensional data,
based on inverse distance weighting.

simpack,
a library which
estimates an integral over a
region that is the union of multidimensional simplexes,
by Alan Genz.

simplex_coordinates,
a library which
computes the Cartesian coordinates of the vertices of
a regular simplex in M dimensions.

simplex_gm_rule,
a library which
defines GrundmannMoeller quadrature rules
over the interior of a triangle in 2D, a tetrahedron in 3D, or
over the interior of the simplex in M dimensions.

simplex_grid,
a library which
generates a regular grid of points
over the interior of an arbitrary simplex in M dimensions.

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.

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.

sine_transform,
a library which
demonstrates some simple properties of the discrete sine transform.

snakes_and_ladders,
programs which
simulate and investigate a oneplayer version of the game
of Snakes and Ladders.

solve,
a library which
demonstrates how Gauss elimination can be used to solve a
linear system A*x=b.

sort_rc,
a library which
can sort a list of any kind of objects,
using reverse communication (RC).

spaeth2,
a library which
performs the cluster analysis of data,
by Helmut Spaeth;

sparse_display,
a library which
can read information defining a matrix of numbers and display
the sparsity pattern or location of the nonzero elements using
gnuplot. This operation is already available in the builtin
MATLAB "spy" command.

sparse_grid_cc,
a library which
creates sparse grids based on ClenshawCurtis rules.

sparse_grid_cc_dataset,
a program which
creates a sparse grid dataset based on ClenshawCurtis rules.

sparse_grid_hw,
a library which
creates sparse grids based on GaussLegendre, GaussHermite,
GaussPatterson, or a nested variation of GaussHermite rules,
by Florian Heiss and Viktor Winschel.

sparse_interp_nd
a library which
can be used to define a sparse interpolant to a function f(x) of a
Mdimensional argument.

sparsekit,
a library which
performs sparse matrix operations,
by Yousef Saad;

sparsekit2,
a library which
implements operations on sparse matrices, including conversion
between various formats; this is version 2 of the library,
by Yousef Saad.

sparsepak,
a library which
forms an obsolete version of the Waterloo Sparse Matrix Package;

specfun,
a library which
computes special functions, including Bessel I, J, K and Y functions,
and the Dawson, E1, EI, Erf, Gamma, Psi/Digamma functions,
by William Cody and Laura Stoltz;

special_functions,
a library which
computes special functions,
by Shanjie Zhang, Jianming Jin;

sphere_exactness,
a program which
tests the polynomial exactness of a quadrature rule
on the surface of the unit sphere in 3D.

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.

sphere_grid,
a library which
provides a number of ways of generating grids of points, or of
points and lines, or of points and lines and faces,
on the surface of the unit sphere in 3D.

sphere_integrals,
a library which
returns the exact value of the integral of any monomial
over the surface of the unit sphere in 3D.

sphere_lebedev_rule,
a library which
computes Lebedev quadrature rules
on the surface of the unit sphere in 3D

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.

sphere_quad,
a library which
uses triangulation to approximate an integral
on the surface of the unit sphere in 3D;

sphere_stereograph,
a library which
computes the stereographic mapping between points
on the surface of the unit sphere in 3D
and points on the plane Z = 1; a generalized mapping is
also available.

sphere_triangle_monte_carlo,
a library which
used the Monte Carlo method to estimate the integral of a function
defined in a triangle
on the surface of the unit sphere in 3D.

sphere_triangle_quad,
a library which
uses quadrature to estimate the integral of a function
in a spherical triangle on the surface of the unit sphere in 3D.

spiral_data,
a program which
computes a velocity vector field that satisfies the continuity
equation, writing the data to a file that can be plotted
by gnuplot.

spline,
a library which
interpolates and approximates via splines;

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.

spring_ode2,
a program which
shows how gnuplot graphics can be used to illustrate
a solution of the ordinary differential equation (ODE) that describes
the motion of a weight attached to a spring.

square_arbq_rule,
a library which
returns quadrature rules,
with exactness up to total degree 20,
over the interior of the symmetric square in 2D,
by Hong Xiao and Zydrunas Gimbutas.

square_exactness,
a library which
investigates the polynomial exactness of quadrature rules for f(x,y)
over the interior of a rectangle in 2D.

square_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a square in 2D.

square_grid,
a library which
computes a grid of points
over the interior of a square in 2D.

square_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit square in 2D.

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.

square_symq_rule,
a library which
returns symmetric quadrature rules,
with exactness up to total degree 20,
over the interior of the symmetric square in 2D,
by Hong Xiao and Zydrunas Gimbutas.

st_io,
a library which
reads and writes sparse linear systems stored in the
Sparse Triplet (ST) format.

st_to_cc,
a library which
converts sparse matrix data from Sparse Triplet (ST) format
to Compressed Column (CC) format;

steam_nbs,
a library which
is based on the National Bureau of Standards (NBS) steam tables;

steam_nbs_interact,
a program which
queries the National Bureau of Standards (NBS) steam table package;

stochastic_diffusion,
functions which
implement several versions of a stochastic diffusivity coefficient.

stochastic_heat2d,
a program which
implements a finite difference method (FDM) for the steady
(time independent) 2D heat equation,
with a stochastic heat diffusivity coefficient,
using gnuplot to illustrate the results.

stochastic_rk,
a library which
applies a RungeKutta scheme to a stochastic
ordinary differential equation (SODE).

stokes_2d_exact,
a library which
evaluates exact solutions to the incompressible steady
Stokes equations over the unit square in 2D.

string_simulation,
a program which
simulates the behavior of a vibrating string
by solving the corresponding initial boundary value problem (IBVP),
creating files that can be displayed by gnuplot.

stroud,
a library which
defines quadrature rules for a variety of Mdimensional regions,
including the interior of the square, cube and hypercube, the pyramid,
cone and ellipse, the hexagon, the Mdimensional octahedron,
the circle, sphere and hypersphere, the triangle,
tetrahedron and simplex, and the surface of the circle, sphere
and hypersphere.

subpak,
a library which
implements a wide variety of operations
on real and integer vectors and matrices;

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.

subset_sum,
a program which
seeks solutions of the subset sum problem.

subset_sum_serial,
a program which
seeks solutions of the subset sum problem,
intended as a starting point for a parallel computing approach.

superlu,
programs which
illustrate how a FORTRAN77 program can call the SUPERLU library,
(which is written in C),
which applies a fast direct solution method to solve
sparse linear systems,
by James Demmel, John Gilbert, and Xiaoye Li.

superlu_openmp,
programs which
illustrate how to use the SUPERLU library with the
OpenMP parallel programming interface,
which applies a fast direct solution method to solve
sparse linear systems,
by James Demmel, John Gilbert, and Xiaoye Li.

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.

svd_test,
a program which
demonstrates the calculation
of the singular value decomposition (SVD) and some of its properties;

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.

table_io,
a library which
reads and writes a set of data as a table file.

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.

tcell,
a program which
solves the timedependent 2D
incompressible Navier Stokes equations in a Tshaped region,
by HyungChun Lee.

tcell_mass,
a program which
creates and saves the mass matrix associated with a
finite element method (FEM) solution of
the time dependent 2D incompressible
Navier Stokes equations in the TCELL region,
by HyungChun Lee.

templated,
a library which
forms basic implementations of
iterative methods for solving large sparse linear systems,
using double precision arithmetic.

templates,
a library which
forms basic implementations of
iterative methods for solving large sparse linear systems;

test_approx,
a library which
implements test problems for approximation,
provided as a set of (x,y) data.

test_con,
a library which
implements test problems for numerical continuation.

test_eigen,
a library which
implements test matrices for eigenvalue analysis.

test_int,
a library which
implements test problems for
approximate integration (quadrature) in one dimension.

test_int_2d,
a library which
implements test problems for
approximate integration (quadrature) in two dimensions.

test_interp,
a library which
defines test problems for interpolation,
provided as a set of (x,y(x)) data.

test_interp_1d,
a library which
defines test problems for interpolation of data y(x),
which depends on a 1D argument.

test_interp_2d,
a library which
defines test problems for interpolation of data z(x,y),
depending on a 2D argument.

test_interp_nd,
a library which
defines test problems for interpolation of data z(x),
depending on an Mdimensional argument.

test_lls,
a library which
implements linear least squares test problems of the form A*x=b.

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 matrix.

test_matrix_exponential,
a library which
defines a set of test cases for computing the matrix exponential.

test_min,
a library which
implements test problems for
minimization of a scalar function of a scalar variable.

test_nearest,
a library which
tests the time complexity of various procedures for solving the
nearest neighbor problem.

test_nonlin,
a library which
implements test problems for the solution
of systems of nonlinear equations.

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 hyperrectangle.

test_optimization,
a library which
implements test problems for optimization
of a scalar function of several variables,
as described by Molga and Smutnicki.

test_values,
a library which
stores a small set of values for
a variety of mathematical functions.

test_zero,
a library which
implements test problems for the solution
of a single nonlinear equation in one variable.

tester,
a BASH script which runs the test programs.

testpack,
a library which
contains a set of test integrand functions,
by Alan Genz.

tet_mesh,
a library which
carries out various tasks associated with tetrahedral meshes in 3D;

tetrahedron_arbq_rule,
a library which
returns quadrature rules,
with exactness up to total degree 15,
over the interior of a tetrahedron in 3D,
by Hong Xiao and Zydrunas Gimbutas.

tetrahedron_exactness,
a program which
tests the polynomial exactness of a quadrature rule
over the interior of a tetrahedron in 3D.

tetrahedron_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a tetrahedron in 3D.

tetrahedron_grid,
a library which
computes a grid of points
over the interior of a tetrahedron in 3D.

tetrahedron_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit tetrahedron in 3D.

tetrahedron_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of a general tetrahedron in 3D.

tetrahedron_properties,
a program which
computes properties, including the centroid,
circumsphere, dihedral angles, edge lengths, face angles, face areas,
insphere, quality, solid angles, and volume,
of a tetrahedron in 3D,

tetrahedron01_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit tetrahedron in 3D.

three_body_simulation,
a program which
simulates the behavior of three planets,
constrained to lie in a plane,
and moving under the influence of gravity,
by Walter Gander and Jiri Hrebicek.

timer,
examples which
illustrate how executing code may be timed.

timestamp,
a library which
prints out the YMDHMS date as a timestamp.

toeplitz,
a library which
implements Toeplitz matrix system solvers.

toeplitz_cholesky,
a library which
computes the Cholesky factorization of
a nonnegative definite symmetric Toeplitz matrix.

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 097.

toms178,
a library which
seeks the minimizer of a scalar function of several variables
using the HookeJeeves method;
this is a version of ACM TOMS algorithm 178.

toms179,
a library which
calculates the incomplete Beta ratio;
this is a version of ACM TOMS algorithm 179.

toms291,
a library which
approximates the logarithm of the Gamma function;
this is a version of ACM TOMS algorithm 291.

toms322,
a library which
evaluates the normal, Student's T, F and chisquare
cumulative density functions (CDF's);
this is a version of ACM TOMS algorithm 322.

toms332,
a library which
evaluates Jacobi polynomials;
this is a version of ACM TOMS algorithm 332.

toms343,
a library which
computes the eigenvalues and
eigenvectors of a general real matrix;
this is a version of ACM TOMS algorithm 343.

toms344,
a library which
calculates the Student T distribution;
this is a version of ACM TOMS algorithm 344.

toms347,
a library which
sorts an integer vector;
this is a version of ACM TOMS algorithm 347.

toms351,
a library which
estimates an integral using Romberg
integration;
this is a version of ACM TOMS algorithm 351.

toms352,
a library which
computes the characteristic values
and associated solutions of Mattieu's differential equation;
this is a version of ACM TOMS algorithm 352.

toms353,
a library which
estimates an integral involving a cosine
or sine factor using Filon quadrature;
this is a version of ACM TOMS algorithm 353.

toms358,
a library which
computes the singular value decomposition (SVD)
of a complex matrix;
this is a version of ACM TOMS algorithm 358.

toms359,
a library which
computes the factorial analysis of variance;
this is a version of ACM TOMS algorithm 359.

toms365,
a library which
finds a root of an analytic complex function
by the downhill method;
this is a version of ACM TOMS algorithm 365.

toms370,
a library which
produces random numbers sampled
from an arbitrary PDF;
this is a version of ACM TOMS algorithm 370.

toms379,
a library which
approximates the integral of a function,
by James Lyness.
this is a version of ACM TOMS algorithm 379.

toms379_test

toms384,
a library which
computes the eigenvalues and eigenvectors
of a symmetric matrix;
this is a version of ACM TOMS algorithm 384.

toms385,
a library which
evaluates the exponential integral function;
this is a version of ACM TOMS algorithm 385.

toms392,
a library which
approximates the time evolution of a
hyperbolic partial differential equation (PDE);
this is a version of ACM TOMS algorithm 392.

toms418,
a library which
implements Filon quadrature of
integrals involve a factor of COS(W*X) or SIN(W*X);
this is a version of ACM TOMS algorithm 418.

toms419,
a library which
seeks the zeroes of a polynomial with complex coefficients;
this library is commonly called CPOLY;
this is a version of ACM TOMS algorithm 419.

toms423,
a library which
implements Gaussian elimination,
revised versions of DECOMP and SOLVE;
this is a version of ACM TOMS algorithm 423.

toms424,
a library which
implements ClenshawCurtis integration;
this is a version of ACM TOMS algorithm 424.

toms425,
a library which
generates a sequence of vectors
from a multivariate normal distribution with given covariance;
this is a version of ACM TOMS algorithm 425.

toms427,
a library which
estimates a Fourier cosine integral;
this is a version of ACM TOMS algorithm 427.

toms429,
a library which
reports information about the estimated location
of roots of a polynomial;
this is a version of ACM TOMS algorithm 429.

toms431,
a library which
solves quadratic and linear programming problems;
this is a version of ACM TOMS algorithm 431.

toms434,
a library which
computes the probability of a given
RxC contingency table;
this is a version of ACM TOMS algorithm 434.

toms435,
a library which
computes the modified incomplete gamma function;
this is a version of ACM TOMS algorithm 435.

toms436,
a library which
carries out producttype trapezoidal integration;
this is a version of ACM TOMS algorithm 436.

toms437,
a library which
carries out producttype Simpson's integration;
this is a version of ACM TOMS algorithm 437.

toms438,
a library which
carries out producttype two point GaussLegendreSimpson
integration;
this is a version of ACM TOMS algorithm 438.

toms439,
a library which
carries out producttype three point GaussLegendreSimpson
integration;
this is a version of ACM TOMS algorithm 439.

toms441,
a library which
samples the dipole distribution;
this is a version of ACM TOMS algorithm 441.

toms443,
a library which
evaluates Lambert's W function;
this is a version of ACM TOMS algorithm 443.

toms446,
a library which
manipulates Chebyshev series for interpolation and approximation;
this is a version of ACM TOMS algorithm 446,
by Roger Broucke.

toms448,
a library which
counts the number of partitions of an integer into a given set
of integers;
this is a version of ACM TOMS algorithm 448.

toms449,
a library which
solves linear programming problems with variables restricted to
0 and 1 values;
this is a version of ACM TOMS algorithm 449.

toms450,
a library which
minimizes a scalar function of N variables using the method
of Rosenbrock;
this is a version of ACM TOMS algorithm 450.

toms451,
a library which
determines quantiles of the ChiSquare distribution;
this is a version of ACM TOMS algorithm 451.

toms452,
a library which
generates a sequence of combinations of M
things out of N;
this is a version of ACM TOMS algorithm 452.

toms453,
a library which
determines the abscissas and weights for a
Gaussian quadrature formula for Bromwich's integral;
this is a version of ACM TOMS algorithm 453.

toms454,
a library which
implements the complex method of constrained optimization;
this is a version of ACM TOMS algorithm 454.

toms456,
a library which
implements the routing algorithm;
this is a version of ACM TOMS algorithm 456.

toms460,
a library which
determines the optimal parameters for
an alternating direction implicit (ADI) iteration;
this is a version of ACM TOMS algorithm 460.

toms461,
a library which
applies cubic spline solutions to a class of
functional differential equations;
this is a version of ACM TOMS algorithm 461.

toms462,
a library which
evaluates the bivariate normal distribution;
this is a version of ACM TOMS algorithm 462.

toms463,
a library which
chooses "nice" ranges for a graph
of computergenerated data;
this is a version of ACM TOMS algorithm 463.

toms467,
a library which
transposes a matrix in place;
this is a version of ACM TOMS algorithm 467.

toms468,
a library which
carries out automatic numerical integration;
this is a version of ACM TOMS algorithm 468.

toms470,
a library which
solves an "almost tridiagonal" system of linear equations;
this is a version of ACM TOMS algorithm 470.

toms493,
a library which
seeks the roots of a real polynomial;
this library is commonly called RPOLY;
this is a version of ACM TOMS algorithm 493.

toms494,
a library which
approximates a 1D partial differential equation (PDE) as a system of
ordinary differential equation (ODE's);
this library is commonly called PDEONE;
this is a version of ACM TOMS algorithm 494.

toms502,
a library which
computes a sequence of solutions of a parameterized
system of equations;
this is a version of ACM TOMS algorithm 526.

toms511,
a library which
can evaluate Bessel I or J functions of real (non integer) order,
This is a version of ACM TOMS Algorithm 511;

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.

toms526,
a library which
interpolates scattered bivariate data, by Hiroshi Akima;
this is a version of ACM TOMS algorithm 526.

toms550,
a library which
evaluates certain measures of a solid
polyhedron, including surface area, centroid, volume, weight,
moments and products of inertia;
this is a version of ACM TOMS algorithm 550.

toms552,
a library which
solves an overdetermined constrained linear system;
this is a version of ACM TOMS algorithm 552.

toms565,
a library which
approximates the solution of a system of timedependent
partial differential equations (PDE's) over a 2D domain;
this library is commonly called PDETWO;
this is a version of ACM TOMS algorithm 565;

toms571,
a library which
evaluates or inverts the von Mises
and Fisher distributions of directions on a circle or sphere;
this is a version of ACM TOMS algorithm 571.

toms577,
a library which
evaluates Carlson's elliptic integral functions RC, RD, RF and RJ.
This is a version of ACM TOMS algorithm 577.

toms596,
a library which
seeks to produce a sequence of points that satisfy a set of nonlinear
equations with one degree of freedom;
this library is commonly called PITCON;
this is a version of ACM TOMS algorithm 596.

toms611,
a library which
performs unconstrained optimization of a scalar function;
this library is commonly called UNCMIN;
this is a version of ACM TOMS algorithm 611.

toms612,
a library which
approximates the integral of a function over a triangle;
the primary routine is known as TRIEX;
this is a version of ACM TOMS algorithm 612.

toms626,
a library which
creates a contour plot of data
associated with a triangulated set of points.
This is a version of ACM TOMS algorithm 626.

toms632,
a library which
solves the multiple knapsack problem,
by Silvano Martello and Paolo Toth.
This is a version of ACM TOMS algorithm 632.

toms644,
a library which
evaluates the Bessel I, J, K, Y functions,
the Airy functions Ai and Bi,
and the Hankel function, for complex argument and real order.
This is a version of ACM TOMS algorithm 644.

toms647,
a library which
evaluates the Faure, Halton, and Sobol quasirandom sequences,
this is a version of ACM TOMS algorithm 647;

toms648_nsd,
a library which
defines nonstiff test problems for solvers of
ordinary differential equations (ODE's),
using double precision arithmetic;
this is a version of one part of ACM TOMS algorithm 648.

toms655,
a library which
computes the weights for interpolatory quadrature rule;
this library is commonly called IQPACK,
and is by Sylvan Elhay and Jaroslav Kautsky.
this version of ACM TOMS algorithm 655 has been extensively modified.

toms655_original,
a library which
computes the weights for interpolatory quadrature rule;
this library is commonly called IQPACK,
and is by Sylvan Elhay and Jaroslav Kautsky.
this is the original version of ACM TOMS algorithm 655.

toms659,
a library which
computes elements of the Sobol quasirandom sequence;
this is a version of ACM TOMS algorithm 659.

toms660,
a library which
takes scattered data in 2D and
creates an interpolating function F(X,Y);
this program is often called qshep2d;
this is a version of ACM TOMS algorithm 660,
by Robert Renka.

toms661,
a library which
takes scattered data in 3D
and creates an interpolating function F(X,Y,Z),
called qshep3d;
this is a version of ACM TOMS algorithm 661,
by Robert Renka.

toms664,
a library which
uses Gauss elimination to solve linear systems involving large
banded matrices. Disk storage is used when there is not
enough memory for the working data;
this library is commonly called GBSOL;
this is a version of ACM TOMS algorithm 664.

toms672,
a library which
generates an interpolatory quadrature rule of highest possible order,
given a set of preassigned abscissas;
this library is commonly called EXTEND;
this is a version of ACM TOMS algorithm 672.

toms699,
a library which
implements a new representation of Patterson's quadrature formula;
this is a version of ACM TOMS algorithm 699.

toms706,
a library which
estimates the integral of a function over a triangulated region;
this library is commonly called DCUTRI;
this is a version of ACM TOMS algorithm 706.

toms708,
a library which
evaluates the incomplete beta function;
this is a version of ACM TOMS algorithm 708.

toms715,
a library which
evaluates special functions, including the Bessel I, J, K, and Y functions
of order 0, of order 1, and of any real order, Dawson's integral,
the error function, exponential integrals, the gamma function,
the normal distribution function, the psi function.
This is a version of ACM TOMS algorithm 715.

toms723,
a library which
computes the Fresnel sine and cosine integrals,
by W van Snyder.
This is a version of ACM TOMS algorithm 723.

toms724,
a library which
computes the inverse Cumulative Density Function (CDF) or percentiles
of the F distribution,
by Roger Abernathy and Robert Smith.
This is a version of ACM TOMS algorithm 724.

toms726,
a library which
computes recursion coefficients for orthogonal polynomials,
and the abscissa and weights for related quadrature rules;
this library is commonly called ORTHPOL,
and is by Walter Gautschi.
This is a version of ACM TOMS algorithm 726.

toms738,
a library which
evaluates Niederreiter's quasirandom sequence;
this is a version of ACM TOMS algorithm 738;

toms743,
a library which
evaluates Lambert's W function.
This is a version of ACM TOMS algorithm 743,
by Barry, Barry and CulliganHensley.

toms757,
a library which
evaluates uncommon special functions,
by Allan Mcleod.
This is a version of ACM TOMS algorithm 757;

toms772,
a library which
carries out computational geometry on the unit sphere;
this library is commonly called STRIPACK,
by Robert Renka.
This is a version of ACM TOMS algorithm 772.

toms790,
a library which
computes an interpolating function to scattered data in the plane;
this library is commonly called CSHEP2D;
by Robert Renka.
This is a version of ACM TOMS algorithm 790.

toms792,
a library which
tests functions that interpolate scattered data in the plane;
by Robert Renka.
This is a version of ACM TOMS algorithm 792.

toms793,
a library which
carries out Gauss quadrature for rational functions,
by Walter Gautschi.
This library is commonly called GQRAT.
This is a version of ACM TOMS algorithm 793.

toms886,
a library which
defines the Padua points for interpolation in a 2D region,
including the rectangle, triangle, and ellipse,
by Marco Caliari, Stefano de Marchi, Marco Vianello.
This is a version of ACM TOMS algorithm 886.

treepack,
a library which
carries out computations on trees,
a simple kind of graph that is minimally connected.

triangle_exactness,
a program which
tests the polynomial exactness of a quadrature rule
over the interior of a triangle in 2D.

triangle_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a triangle in 2D.

triangle_grid,
a library which
computes a grid of points
over the interior of a triangle in 2D.

triangle_integrals,
a library which
returns the exact value of the integral of any polynomial
over the interior of an arbitrary triangle in 2D.

triangle_io,
a library which
can read or write some of the files created by Jonathan Shewchuk's
triangle program.

triangle_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of a general triangle in 2D.

triangle_properties,
a program which
computes properties, including angles, area, centroid, circumcircle,
edge lengths, incircle, orientation, orthocenter, and quality,
of a triangle in 2D.

triangle_svg,
a library which
uses Scalable Vector Graphics (SVG) to plot a triangle and
any number of points, to illustrate quadrature rules and
sampling techniques.

triangle_symq_rule,
a library which
returns efficient symmetric quadrature rules,
with exactness up to total degree 50,
over the interior of a triangle in 2D,
by Hong Xiao and Zydrunas Gimbutas.

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.

triangle_to_medit,
a program which reads the NODE and ELE files
created by the triangle() program to
describe a triangular mesh, and writes a corresponding MESH file
for input to medit().

triangle_to_xml,
a program which reads the NODE and ELE files created by triangle() to
describe a triangular mesh in 2D, and writes out a corresponding XML mesh
file for use by DOLFIN or FENICS.

triangle01_integrals,
a library which
returns the integral of any monomial
over the interior of the unit triangle in 2D.

triangle01_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit triangle in 2D.

triangulation,
a library which
computes the triangulation of a set of points in the plane,
and performs various operations using a triangulation, including
searching a Delaunay triangulation to find
which triangle contains a given point.

triangulation_node_to_element,
a program which
reads files describing a set of nodes, their triangulation, and the
value of one or more quantities at each node, and outputs a file
that averages the quantities for each element. This operation
in effect creates an "order1" finite element model of the data.

triangulation_svg,
a program which
creates an SVG image of a triangulation, which can be displayed
by a web browser.

tripack,
a library which
computes constrained Delaunay triangulation
in the plane, ACM TOMS algorithm 751,
by Robert Renka.

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.

truncated_normal_rule,
a program which
computes a quadrature rule for a normal distribution that has been
truncated to [A,+oo), (oo,B] or [A,B].

tsp_brute,
a program which
reads a file of citytocity distances and solves a (small!)
traveling salesperson problem, using brute force.

umfpack,
examples which
illustrate how to call the C library UMFPACK
to solve a large sparse linear system.

umfpack_2.0,
a library which
solves unsymmetric sparse linear systems,
this is the obsolete FORTRAN77 version of UMFPACK,
which has since been rewritten in C,
by Timothy Davis, Iain Duff.

unicycle,
a library which
considers permutations containing a single cycle,
sometimes called cyclic permutations.

uniform,
a library which
generates uniform random numbers.

valgrind,
directory of programs which
illustrate the use of the VALGRIND suite of programs which includes
a memory leak detector.

vandermonde,
a library which
carries out certain operations associated with the Vandermonde matrix.

vandermonde_approx_1d,
a library which
finds a polynomial approximant to data y(x) of a 1D argument
by setting up and solving an overdetermined linear system
for the polynomial coefficients involving the Vandermonde matrix.

vandermonde_approx_2d,
a library which
finds a polynomial approximant p(x,y) to data z(x,y) of a 2D argument
by setting up and solving an overdetermined linear system
for the polynomial coefficients involving the Vandermonde matrix

vandermonde_interp_1d,
a library which
finds a polynomial interpolant to data y(x) of a 1D argument
by setting up and solving a linear system for the
polynomial coefficients involving the Vandermonde matrix,
creating graphics files for processing by gnuplot.

vandermonde_interp_2d,
a library which
finds a polynomial interpolant to data z(x,y) of a 2D argument
by setting up and solving a linear system for the polynomial
coefficients involving the Vandermonde matrix.

walsh,
a library which
implements versions of the Walsh and Haar transforms.

wathen,
a library which
compares storage schemes (full, banded, sparse triplet ) and
solution strategies (Linpack full, Linpack banded, conjugate gradient)
for linear systems involving the Wathen matrix, which can arise when
solving a problem using the finite element method (FEM).

wave_mpi,
a program which
uses finite differences and MPI to estimate a solution to the
wave equation.

wavelet,
a library which
does some simple wavelet calculations;

wedge_exactness,
a program which
investigates the polynomial exactness of a quadrature rule
over the interior of the unit wedge in 3D.

wedge_felippa_rule,
a library which
returns quadrature rules for approximating integrals
over the interior of the unit wedge in 3D.

wedge_grid,
a library which
computes a grid of points
over the interior of the unit wedge in 3D.

wedge_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit wedge in 3D.

wedge_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit wedge in 3D.

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.

wishart,
a library which
produces sample matrices from the Wishart or Bartlett distributions,
useful for sampling random covariance matrices.

wtime,
a library which
returns a reading of the wall clock time in seconds.

xerror,
a library which
reports and handles errors detected during program execution.

zero_rc,
a library which
seeks solutions of a scalar nonlinear equation f(x)=0,
or a system of nonlinear equations,
using reverse communication.

ziggurat,
a library which
works as a random number generator (RNG) for the
uniform, normal or exponential distributions,
using the ziggurat method.

ziggurat_openmp,
a program which
demonstrates how the ZIGGURAT library can be used as
a random number generator (RNG)
in an OpenMP parallel program.
Last revised on 23 January 2020.