Fortran77 Source Codes

analemma,
a Fortran77 code 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 Fortran77 code which
reports the command line arguments of a Fortran77 program;

asa005,
a Fortran77 code which
evaluates the Cumulative Density Function (CDF) of the noncentral T
Probability Density Function (PDF), by BE Cooper.
This is a version of Applied Statistics Algorithm 5;

asa006,
a Fortran77 code which
computes the Cholesky factorization of a symmetric positive
definite (SPD) matrix, by Michael Healy.
This is a version of Applied Statistics Algorithm 6;

asa007,
a Fortran77 code which
computes the inverse of a symmetric positive definite (SPD) matrix,
by Michael Healy.
This is a version of Applied Statistics Algorithm 7.

asa032,
a Fortran77 code which
evaluates the incomplete Gamma function,
by G Bhattacharjee.
This is a version of Applied Statistics Algorithm 32.

asa047,
a Fortran77 code which
minimizes a scalar function of several variables
using the NelderMead algorithm,
by R ONeill.
This is a version of Applied Statistics Algorithm 47.

asa053,
a Fortran77 code which
produces sample matrices from the Wishart distribution,
by William Smith and Ronald Hocking.
This is a version of Applied Statistics Algorithm 53.

asa058,
a Fortran77 code which
implements the Kmeans data clustering algorithm,
by David Sparks.
This is a version of Applied Statistics Algorithm 58.

asa063,
a Fortran77 code which
evaluates the incomplete Beta function,
by KL Majumder and G Bhattacharjee.
This is a version of Applied Statistics Algorithm 63.

asa066,
a Fortran77 code which
evaluates the Cumulative Density Function (CDF) of the normal
probability distribution, by David Hill.
This is a version of Applied Statistics Algorithm 66.

asa076,
a Fortran77 code which
evaluates the Owen T function, needed to compute the
Cumulative Density Function (CDF) of the
noncentral T distribution,
by Young and Minder.
This is a version of Applied Statistics Algorithm 76.

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

asa082_test

asa091,
a Fortran77 code which
evaluates the percentage points of the ChiSquared distribution,
by Best and Roberts.
This is a version of Applied Statistics Algorithm 91.

asa103,
a Fortran77 code which
evaluates the digamma or psi function,
by Jose Bernardo.
This is a version of Applied Statistics Algorithm 103.

asa109,
a Fortran77 code which
inverts the incomplete Beta function,
by Cran, Martin and Thomas.
This is a version of Applied Statistics Algorithm 109.

asa111,
a Fortran77 code which
evaluates the percentage points of the normal distribution,
by Beasley and Springer.
This is a version of Applied Statistics Algorithm 111.

asa113,
a Fortran77 code which
implements a clustering algorithm using transfers and swaps,
by Banfield and Bassill.
This is a version of Applied Statistics Algorithm 113.

asa121,
a Fortran77 code which
evaluates the trigamma function,
by BE Schneider.
This is a version of Applied Statistics Algorithm 121.

asa136,
a Fortran77 code which
implements a clustering algorithm,
by Hartigan and Wong.
This is a version of Applied Statistics Algorithm 136.

asa144,
a Fortran77 code which
randomly generates an RxC contingency table,
by James Boyett.
This is a version of Applied Statistics Algorithm 144.

asa147,
a Fortran77 code which
evaluates the incomplete Gamma function,
by Chi Leung Lau.
This is a version of Applied Statistics Algorithm 147.

asa152,
a Fortran77 code which
evaluates the Probability Density Function (PDF)
and Cumulative Density Function
(CDF) associated with the hypergeometric distribution,
by Richard Lund;
this is a version of Applied Statistics Algorithm 152.

asa159,
a Fortran77 code which
randomly generates an RxC contingency table,
by Michael Patefield;
This is a version of Applied Statistics Algorithm 159.

asa172,
a Fortran77 code which
generates all Mdimensional indices in a given range,
simulating the behavior of an arbitrary number of nested loops,
by OFlaherty and MacKenzie.
this is a version of Applied Statistics Algorithm 172;

asa183,
a Fortran77 code which
implements a random number generator (RNG),
by Wichman and Hill.
This is a version of Applied Statistics Algorithm 183.

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

asa205,
a Fortran77 code which
generates all the contingency
tables corresponding to a given set of row and column sums.
This is a version of Applied Statistics Algorithm 205;

asa226,
a Fortran77 code which
evaluates the Cumulative Density Function (CDF)
of the noncentral Beta distribution,
by Russell Lenth.
This is a version of Applied Statistics Algorithm 226.

asa239,
a Fortran77 code which
evaluates the incomplete Gamma function,
by Shea.
This is a version of Applied Statistics Algorithm 239.

asa241,
a Fortran77 code which
evaluates the percentage points of the normal distribution,
by Michael Wichura.
This is a version of Applied Statistics Algorithm 241.

asa243,
a Fortran77 code which
evaluates the Cumulative Density Function (CDF)
of the noncentral T distribution,
by Russell Lenth;
this is a version of Applied Statistics Algorithm 243.

asa245,
a Fortran77 code which
evaluates the logarithm of the Gamma function,
by Allan Mcleod;
this is a version of Applied Statistics Algorithm 245.

asa266,
a Fortran77 code which
evaluates various properties of
the Dirichlet Probability Density Function (PDF);
This is a version of Applied Statistics Algorithm 266.

asa299,
a Fortran77 code which
computes the lattice points in an Mdimensional simplex,
by Chasalow and Brand;
this is a version of Applied Statistics Algorithm 299;

asa310,
a Fortran77 code which
computes the Cumulative Density Function (CDF)
of the noncentral Beta distribution, by Chattamvelli and Shanmugam;
this is a version of Applied Statistics Algorithm 310.

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

atkinson,
a Fortran77 code which
contains examples from Atkinson's Elementary Numerical Analysis text.

atkinson_test

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

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

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

ball_monte_carlo,
a Fortran77 code which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the unit ball in 3D;

band_qr,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
estimates the weights in a Dirichlet mixtured based on sample data;

bellman_ford,
a Fortran77 code 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 Fortran77 code which
evaluates the Bernstein polynomials;

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

biharmonic_2d,
a Fortran77 library which
solves a version of the biharmonic equation in two dimensions,
by Petter Bjorstad.
I could not get this code to run a simple test case!

biharmonic_2d_test

bins,
a Fortran77 code which
orders, sorts and searches data using bins;

bisection_integer,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements some simple approaches to
the BlackScholes option valuation theory,
creating graphics files for processing by gnuplot,
by Desmond Higham.

blas,
a Fortran77 code 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 Fortran77 code which
contains auxilliary functions for the Basic Linear Algebra Subprograms
(BLAS).

blas1_c,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrixvector operations
using single precision complex arithmetic.

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

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

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

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

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

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

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

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

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

brent_original,
a Fortran77 code 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 Fortran77 code which
simulates Brownian motion in an Mdimensional region,
creating graphics files for processing by gnuplot.

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

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

bvls,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements certain elementary functions for
single precision complex variables;

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

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

cc_to_st
a Fortran77 code which
converts a sparse matrix from Compressed Column Storage (CCS) to
sparse triplet (ST) format.

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

ccs_io
a Fortran77 code which
reads and writes sparse linear systems
stored in the Compressed Column Storage (CCS) format.

cell,
a Fortran77 code 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 Fortran77 code which
demonstrates the 1D Cellular Automaton known as rule #30.

cg,
a Fortran77 code 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 Fortran77 code which
implements the conjugate gradient method for the
minimization of a scalar functional;

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

change_dynamic,
a Fortran77 code which
uses dynamic programming to solve the change making problem,
in which a given sum is to be formed using coins of various
denominations.

change_dynamic_test

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

chebyshev_interp_1d,
a Fortran77 code which
determines the combination of Chebyshev polynomials which
interpolates a set of data, so that p(x(i)) = y(i).

chebyshev_polynomial,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
can be used to analyze and manipulate character strings;

circle_arc_grid,
a Fortran77 code which
computes grid points along a circular arc.

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

circle_monte_carlo,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements a Clenshaw Curtis quadrature rule;

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

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

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

combo,
a Fortran77 code 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 Fortran77 code which
creates new communicators involving a subset of initial
set of MPI processes in the default communicator MPI_COMM_WORLD.

compass_search,
a Fortran77 code 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 Fortran77 code which
demonstrates some simple features involved in the use of
complex numbers in Fortran77 programming.

components,
a Fortran77 code which
organizes contiguous cells into labeled clusters, for a
1D, 2D, or 3D array. This code has uses in image analysis
and percolation simulation.

components_test

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

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

conte_deboor_test

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

correlation,
a Fortran77 code which
contains examples of statistical correlation functions.

cube_arbq_rule,
a Fortran77 code 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 Fortran77 code which
investigates the polynomial exactness of quadrature rules
over the interior of a cube in 3D.

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

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

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

cube_monte_carlo,
a Fortran77 code 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 Fortran77 code which
contains three ODE solvers by William Gear.

cycle_brent,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
solves a tridiagonal linear system using cyclic reduction;

diaphony,
a Fortran77 code 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 Fortran77 code which
implements a simple version of Dijkstra's minimum distance algorithm
for graphs.

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

disk_grid,
a Fortran77 code 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 Fortran77 code which
returns the exact value of the integral of any monomial
over the interior of the unit disk in 2D.

disk01_monte_carlo,
a Fortran77 code which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the unit disk in 2D;

disk01_rule,
a Fortran77 code 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 Fortran77 code which
interpolates data using divided difference tables;

doomsday,
a Fortran77 code 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 Fortran77 code which
solves bounded and constrained least
squares problems and systems of nonlinear equations;

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

edge,
a Fortran77 code 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 Fortran77 code which
carries out eigenvalue computations;
superseded by LAPACK;

eispack_test

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

ellipse_monte_carlo,
a Fortran77 code which
uses the Monte Carlo method to estimate the value of integrals
over the interior of an ellipse in 2D.

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

ellipsoid_monte_carlo,
a Fortran77 code which
uses the Monte Carlo method to estimate the value of integrals
over the interior of an ellipsoid in M dimensions.

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

exactness,
a Fortran77 code 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 Fortran77 code which
solves various forms of the matrix exponential problem,
by Roger Sidje.

f77,
Fortran77 codes which
illustrate features of Fortran77;

f77_calls_c,
Fortran77 codes which
illustrate how a Fortran77 program can call a C function.

f77_calls_c++,
Fortran77 codes which
illustrate how a Fortran77 program can call a C++ function.

f77_calls_matlab,
Fortran77 codes which
illustrate how a Fortran77 program can interact with MATLAB;

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

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

f77_mistake,
Fortran77 codes which
illustrate some simple but devious programming mistakes in Fortran77.

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

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

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

fd1d_advection_diffusion_steady,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
applies the finite difference method (FDM)
to a two point boundary value problem (BVP) in one spatial dimension.

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

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

fd1d_heat_steady,
a Fortran77 code which
implements a finite difference method (FDM) for the steady
timeindependent 1D heat equation;

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

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

fd2d_heat_steady,
a Fortran77 code which
implements a finite difference method (FDM) for the steady
timeindependent 2D heat equation;

fem_basis,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements the finite element method (FEM) for the steady
timeindependent 1D heat equation;

fem1d_lagrange,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements a 1D finite element method (FEM) calculation.

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

fem1d_pmethod,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements a 2D calculations for
the finite element method (FEM);

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

fem2d_poisson_rectangle,
a Fortran77 code 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 Fortran77 code which
solves the 2D Poisson equation on a rectangle,
using the finite element method (FEM),
and piecewise linear triangular elements.

fem2d_sample,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
demonstrates the computation of a Fast Fourier Transform (FFT)
in parallel, using OpenMP.

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

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

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

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

file_name_sequence,
a Fortran77 code 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 Fortran77 code which
demonstrates how a program can open multiple output files at one time,
and write data to any one specific file it chooses.

filon_rule,
a Fortran77 code which
uses Filon's method to approximate integrals with an
oscillatory factor of sin(k*x) or cos(k*x).

filon_rule_test

filum,
a Fortran77 code which
performs various operations on files;

fire_simulation,
a Fortran77 code 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 Fortran77 code which
implements Floyd's algorithm for finding the shortest distance
between pairs of nodes on a directed graph.

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

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

freefem++_msh_io,
a Fortran77 code 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 Fortran77 code which
carries out a number of 2D/3D geometric calculations;

geqp3,
a Fortran77 code 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,
Fortran77 codes which
investigate the use of the Gnu GFortran compiler for Fortran77.

gFortran_intrinsics,
a Fortran77 code 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 Fortran77 code which
illustrates the use of quadruple precision real arithmetic,
as provided on some systems by the Gnu GFortran compiler
for Fortran77.

gmsh_io,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
provides an interface between a program and
the gnuplot graphics library.

gnuplot_test,
Fortran77 codes which
use gnuplot() to create various kinds of plots.

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

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

glomin,
a Fortran77 code which
finds a global minimum of a scalar function of a scalar variable,
without the use of derivative information,
by Richard Brent.

glomin_test

haar_transform,
a Fortran77 code which
computes the Haar transform of 1d or 2d data.

haar_transform_test

hb_read,
a Fortran77 code 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 Fortran77 code which
reads a sparse matrix in a HarwellBoeing (HB) file and
writes an equivalent Sparse Triplet (ST) file.

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

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

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

heated_plate,
a Fortran77 code 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 Fortran77 code which
solves the steady timeindependent heat equation in a 2D
rectangular region, using OpenMP to run in parallel.

hello,
a Fortran77 code which
prints out "Hello, world!".

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

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

hermite_cubic,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
defines test integrands for Hermite integrals
with density exp(x^2) over the interval (oo,+oo).

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

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

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

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

high_card_simulation,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
applies a Monte Carlo procedure to estimate the volume of the
unit ball in M dimensions;

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

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

hypercube_integrals,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
contains many utility routines, using "I4" or
"single precision integer" arithmetic.

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

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

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

index,
a Fortran77 code 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 Fortran77 code which
solves the timedependent Navier Stokes equations
in the "INOUT" region,
by HyungChun Lee.

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

ising_2d_simulation,
a Fortran77 code 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 Fortran77 code which
implements the Jacobi iteration for the iterative solution of
linear systems.

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

jacobi_eigenvalue_test

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

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

knapsack,
a Fortran77 code which
implements algorithms for a variety of combinatorial problems,
including bin packing, the subset sum problem, the generalized assignment
problem, the change making problem, the 01 knapsack problem, and the
multiple knapsack problem.
by Silvano Martelo and Paolo Toth.

knapsack_test

knapsack_01_brute,
a Fortran77 code which
uses brute force to solve small versions of the 0/1 knapsack problem;

knapsack_01_brute_test

kronrod_rule,
a Fortran77 code which
computes a Gauss and GaussKronrod pair of quadrature rules
of arbitrary order,
by Robert Piessens, Maria Branders.

kronrod_rule_test

lagrange_approx_1d,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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_integrands,
a Fortran77 code which
implements test problems for quadrature rules
for estimating the integral of a function with density exp(x)
over the interval [0,+oo).

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

laguerre_rule,
a Fortran77 code 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).

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

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

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

laplacian,
a Fortran77 code 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 Fortran77 code which
produces N Latin squares which cover an NxN square, or NxN Latin cubes
which cover an NxNxN cube.

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

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

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

lebesgue,
a Fortran77 code 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 Fortran77 code 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_fast_rule,
a Fortran77 code which
uses a fast order N algorithm to compute
a GaussLegendre quadrature rule of given order.

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

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

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

life_serial,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
returns Felippa's quadratures rules for approximating integrals
over the interior of a line segment in 1D.

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

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

line_monte_carlo,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
computes a Newton Cotes Open (NCO) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.

linpack,
a Fortran77 code 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 Fortran77 code which
carries out the LINPACK benchmark;

linpack_c,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
evaluates Lobatto polynomials similar to Legendre polynomials
except that they are 0 at both endpoints.

local_min,
a Fortran77 code which
finds a local minimum of a scalar function of a scalar variable,
without the use of derivative information,
by Richard Brent.

local_min_test

local_min_rc,
a Fortran77 code which
finds a local minimum of a scalar function of a scalar variable,
without the use of derivative information,
using reverse communication (RC),
by Richard Brent.

local_min_rc_test

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

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

machine,
a Fortran77 code which
returns tabulated values of machine constants;

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

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

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

matman,
a Fortran77 code which
manipulates matrices;

matmul,
a Fortran77 code which
carries out a matrix multiplication benchmark;

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

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

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

medit_io,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
returns the geometric bandwidth associated with a mesh of
elements of any order and in a space of M dimensions.

mgmres,
a Fortran77 code which
applies the restarted Generalized Minimum Residual (GMRES) algorithm
to solve a sparse linear system, using Compressed Row Storage (CRS) or
sparse triplet (ST) format, by Lili Ju.

mgs,
a Fortran77 code 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 Fortran77 code which
solves linear and nonlinear least squares problems,
by Jorge More, Danny Sorenson, Burton Garbow, Kenneth Hillstrom.

mixed,
Fortran77 codes which
illustrate the use of mixed language programming in which
the main program is written in Fortran77;

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

monomial,
a Fortran77 code 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 Fortran77 code which
evaluates a monomial in M dimensions.

monte_carlo_rule,
a Fortran77 code 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,
Fortran77 codes which
illustrate the use of the MPI library for the parallel
execution of programs;

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

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

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

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

mxm,
a Fortran77 code 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 Fortran77 code which
computes a dense matrix product C=A*B,
using OpenMP for parallel execution.

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

naca,
a Fortran77 code 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 Fortran77 code which
includes many routines for applied numerical linear algebra,
by William Hager.

nas,
a Fortran77 code which
runs the NASA kernel benchmark.

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

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

nearest_interp_1d,
a Fortran77 code 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,
Fortran77 codes which
read and write NETCDF files.

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

nintlib,
a Fortran77 code which
applies approximate integration/quadrature in M dimensions;

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

nms,
a Fortran77 code 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),
optimization and nonlinear least squares,
simulation and random numbers,
trigonometric approximation and Fast Fourier Transforms (FFT).

nms_test

normal,
a Fortran77 code which
generates normally distributed pseudorandom numbers.

nspcg,
a Fortran77 code 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 Fortran77 code which
handles ordinary differential equations (ODE),
by Shampine and Gordon;

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

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

openmp_stubs,
a Fortran77 code 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 Fortran77 code which
looks at the use of automatic optimization by the compiler
to make the executable code run faster.

ornstein_uhlenbeck,
a Fortran77 code 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 Fortran77 code which
evaluates Owen's T function;

padua,
a Fortran77 code which
returns the points and weights for Padu sets, useful for interpolation
in 2D. gnuplot() is used to make plots of the points.

partition_brute,
a Fortran77 code which
uses a brute force algorithm to seek solutions of the partition problem,
splitting a set of integers into two subsets with equal sum.

partition_brute_test

patterson_rule,
a Fortran77 code 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 Fortran77 code which
reads or writes ASCII PBM 2D bit map graphics files;

pce_burgers,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
can construct a piecewise cubic Hermite interpolant to data, and
carry out various related operations, by Fred Fritsch.

pdflib,
a Fortran77 code which
evaluates Probability Density Functions (PDF)
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 Fortran77 code which
reads or writes ASCII PGM 2D grayscale graphics files;

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

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

poisson_1d_multigrid,
a Fortran77 code which
applies the multigrid method to a discretized version of the
1D Poisson equation.

poisson_1d_multigrid_test

poisson_openmp,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
evaluates a variety of mathematical functions, polynomials, and
sequences, including Bell, Benford, Bernoulli, Bernstein, Cardan,
Catalan, Charlier, Chebyshev, Collatz, Delannoy, Euler, Fibonacci,
Gegenbauer, Gudermannian, Harmonic, Hermite, Hofstadter, Jacobi,
Krawtchouk, Laguerre, Lambert, Legendre, Lerch, Meixner, Mertens,
Moebius, Motzkin, Phi, Stirling, Tau, Tribonacci, Zernike.

polpak_test

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

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

polygon_monte_carlo,
a Fortran77 code which
applies a Monte Carlo method to estimate the integral of a function
over the interior of a polygon in 2D.

polygon_properties,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
adds, multiplies, differentiates, evaluates and prints multivariate
polynomials in a space of M dimensions.

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

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

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

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

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

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

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

prime_serial,
a Fortran77 code which
counts the number of primes between 1 and N,
and is intended as a starting point for a parallel version.

prob,
a Fortran77 code which
evaluates, samples, inverts, and characterizes a number of
Probability Density Functions (PDF)
and Cumulative Density Functions (CDF), 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.

prob_test

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

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

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

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

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

pwl_product_integral,
a Fortran77 code which
calculates the exact value of the integral of the product of two
piecewise linear functions F(X) and G(X).

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

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

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

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

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

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

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

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

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

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

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

quad2d_serial,
a Fortran77 code which
applies a product quadrature rule to estimate an integral
over a 2D rectangle,
intended as a starting point for parallelization exercises.

quadmom,
a Fortran77 code 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 Fortran77 code which
estimates integrals using numerical quadrature,
by Piessens, deDonckerKapenga, Ueberhuber, and Kahaner.

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

quadrature_least_squares,
a Fortran77 code 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 Fortran77 code which
computes the weights of a quadrature rule using the Vandermonde
matrix, assuming that the points have been specified.

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

quadrule,
a Fortran77 code which
implements rules for approximate integration/quadrature
in one dimension;

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

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

r8lib_test

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

random_data,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
illustrates how a parallel program using OpenMP can generate multiple
distinct streams of random numbers.

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

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

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

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

reactor simulation,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
solves a system of ordinary differential equations (ODE)
by the RungeKuttaFehlberg method.

rnglib,
a Fortran77 code 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 Fortran77 code 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_brute,
a Fortran77 code which
uses brute force to find all assignments of values to a set of
logical variables which make a complicated logical statement true.

satisfy_brute_test

satisfy_mpi,
a Fortran77 code 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 Fortran77 code which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem,
using OpenMP for parallel execution.

schedule_openmp,
a Fortran77 code 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 Fortran77 code which
illustrates properties of
stochastic ordinary differential equations (SODE), 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
carries out Nijenhuis and Wilf's generalized
combinatorial selection algorithm;

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

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

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

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

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

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

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

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

simplex_gm_rule,
a Fortran77 code 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 Fortran77 code which
generates a regular grid of points
over the interior of an arbitrary simplex in M dimensions.

simplex_integrals,
a Fortran77 code 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 Fortran77 code which
uses the Monte Carlo method to estimate an integral
over the interior of the unit simplex in M dimensions.

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

slap_io,
a Fortran77 code which
reads and writes SLAP sparse matrix files;

snakes_and_ladders,
a Fortran77 code which
provides tools for the study of the game of Snakes and Ladders.

snakes_and_ladders_test

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

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

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

sparse_display,
a Fortran77 code 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 Fortran77 code which
creates sparse grids based on ClenshawCurtis rules.

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

sparse_grid_hw,
a Fortran77 code 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 Fortran77 code which
can be used to define a sparse interpolant to a function f(x) of a
Mdimensional argument.

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

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

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

specfun,
a Fortran77 code 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 Fortran77 code which
evaluates special functions, including Airy,
Associated Legendre Bessel, Beta, Complete Elliptic Integral,
Confluent Hypergeometric, Cosine Integral, Elliptic Integral, Error,
Exponential Integral, Fresnel Integral, Gamma, Hankel, Hypergeometric,
Incomplete Beta, Incomplete Gamma, Jacobian Elliptic, Kelvin, Lambda,
Legendre, Mathieu, Modified Spherical Bessel, Parabolic Cylinder, Psi,
RiccatiBessel, Sine Integral, Spheroidal Wave, Struve, Whittaker,
as well as Bernoulli Numbers, Euler Numbers, Hermite polynomials,
Laguerre polynomials, legendre polynomials,
by Shanjie Zhang, Jianming Jin;

special_functions_test

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

sphere_fibonacci_grid,
a Fortran77 code which
uses a Fibonacci spiral to create a grid of points
on the surface of the unit sphere in 3D.

sphere_grid,
a Fortran77 code 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 Fortran77 code which
returns the exact value of the integral of any monomial
over the surface of the unit sphere in 3D.

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

sphere_monte_carlo,
a Fortran77 code 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 Fortran77 code which
uses triangulation to approximate an integral
on the surface of the unit sphere in 3D;

sphere_stereograph,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
interpolates and approximates via splines;

spring_ode,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
investigates the polynomial exactness of quadrature rules for f(x,y)
over the interior of a rectangle in 2D.

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

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

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

square_monte_carlo,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
reads and writes sparse linear systems stored in the
Sparse Triplet (ST) format.

st_to_cc,
a Fortran77 code which
converts sparse matrix data from Sparse Triplet (ST) format
to Compressed Column Storage (CCS) format;

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

steam_nbs_interact,
a Fortran77 code 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 Fortran77 code which
implements a finite difference method (FDM) for the steady
timeindependent 2D heat equation,
with a stochastic heat diffusivity coefficient,
using gnuplot to illustrate the results.

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

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

string_simulation,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements a wide variety of operations
on real and integer vectors and matrices;

subset,
a Fortran77 code 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 Fortran77 code which
seeks solutions of the subset sum problem, in which it is desired
to find a subset of integers which has a given sum.

subset_sum_brute_test

subset_sum_brute,
a Fortran77 code which
uses brute force to find solutions of the subset sum problem,
in which it is desired to find a subset of integers which has a given sum.

subset_sum_brute_test

superlu,
Fortran77 codes 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,
Fortran77 codes 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 Fortran77 code 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 Fortran77 code which
demonstrates the calculation
of the singular value decomposition (SVD) and some of its properties;

svd_truncated,
a Fortran77 code 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 Fortran77 code which
reads and writes a set of data as a table file.

task_division,
a Fortran77 code 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 Fortran77 code which
solves the timedependent 2D
incompressible Navier Stokes equations in a Tshaped region,
by HyungChun Lee.

tcell_mass,
a Fortran77 code 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 Fortran77 code which
forms basic implementations of
iterative methods for solving large sparse linear systems,
using double precision arithmetic.

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

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

test_con,
a Fortran77 code which
implements test problems for numerical continuation.

test_eigen,
a Fortran77 code which
implements test matrices for eigenvalue analysis.

test_int,
a Fortran77 code which
implements test problems for
approximate integration/quadrature in one dimension.

test_int_2d,
a Fortran77 code which
implements test problems for
approximate integration/quadrature in two dimensions.

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

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

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

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

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

test_mat,
a Fortran77 code 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 Fortran77 code which
defines a set of test cases for computing the matrix exponential.

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

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

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

test_opt_con,
a Fortran77 code 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 Fortran77 code which
implements test problems for optimization
of a scalar function of several variables,
as described by Molga and Smutnicki.

test_values,
a Fortran77 code which
supplies test values of various mathematical functions, including
Abramowitz, AGM, Airy, Bell, Bernoulli, Bessel, Beta, Binomial,
Bivariate Normal, Catalan, Cauchy, Chebyshev, Chi Square, Clausen,
Clebsch Gordan, Collatz, Cosine integral, Dawson, Debye, Dedekind,
dilogarithm, Exponential integral, Elliptic, Error, Euler, Exponential
integral, F probability, Fresnel, Frobenius, Gamma, Gegenbauer,
Goodwin, Gudermannian, Harmonic, Hermite, Hypergeometric, inverse
trigonometic, Jacobi, Julian Ephemeris Date, Kelvin, Laguerre,
Laplace, Legendre, Lerch, Lobachevsky, Lobatto, Logarithmic integral,
Log normal, McNugget numbers, Mertens, MittagLeffler, Moebius,
Multinomial, Negative binomial, Nine J, Normal, Omega, Owen, Partition,
Phi, Pi, Poisson, Polylogarithm, Polyomino, Prime, Psi, Rayleigh,
Hyperbolic Sine integral, Sigma, Sine Power integral, Sine integral,
Six J, Sphere area, Sphere volume, Spherical harmonic, Stirling,
Stromgen, Struve, Student, Subfactorial, Student probability, Three J,
Transport, Trigamma, Truncated normal, van der Corput, von Mises,
Weibull, Wright omega, Zeta.

test_values_test

test_zero,
a Fortran77 code 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 Fortran77 code which
contains a set of test integrand functions,
by Alan Genz.

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

tetrahedron_arbq_rule,
a Fortran77 code 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 Fortran77 code which
tests the polynomial exactness of a quadrature rule
over the interior of a tetrahedron in 3D.

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

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

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

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

tetrahedron_properties,
a Fortran77 code 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 Fortran77 code which
uses the Monte Carlo method to estimate an integral
over the interior of the unit tetrahedron in 3D.

three_body_ode,
a Fortran77 code 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,
Fortran77 codes which
illustrate how executing code may be timed.

timestamp,
a Fortran77 code which
prints out the YMDHMS date as a timestamp.

toeplitz,
a Fortran77 code which
implements Toeplitz matrix system solvers.

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

toms097,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
calculates the incomplete Beta ratio;
this is a version of ACM TOMS algorithm 179.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

toms379_test

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

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

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

toms418,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
implements Gaussian elimination,
revised versions of DECOMP and SOLVE;
this is a version of ACM TOMS algorithm 423.

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

toms425,
a Fortran77 code 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 Fortran77 code which
estimates a Fourier cosine integral;
this is a version of ACM TOMS algorithm 427.

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

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

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

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

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

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

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

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

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

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

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

toms448,
a Fortran77 code 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 Fortran77 code which
solves linear programming problems with variables restricted to
0 and 1 values;
this is a version of ACM TOMS algorithm 449.

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

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

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

toms453,
a Fortran77 code 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 Fortran77 code which
implements the complex method of constrained optimization;
this is a version of ACM TOMS algorithm 454.

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

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

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

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

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

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

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

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

toms493,
a Fortran77 code 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 Fortran77 code which
approximates a 1D partial differential equation (PDE) as a system of
ordinary differential equation (ODE);
this library is commonly called PDEONE;
this is a version of ACM TOMS algorithm 494.

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

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

toms515,
a Fortran77 code 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 Fortran77 code which
interpolates scattered bivariate data, by Hiroshi Akima;
this is a version of ACM TOMS algorithm 526.

toms550,
a Fortran77 code 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 Fortran77 code which
solves an overdetermined constrained linear system;
this is a version of ACM TOMS algorithm 552.

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

toms571,
a Fortran77 code 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 Fortran77 code which
evaluates Carlson's elliptic integral functions RC, RD, RF and RJ.
This is a version of ACM TOMS algorithm 577.

toms596,
a Fortran77 code 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.

toms597,
a Fortran77 code which
evaluates Bessel functions I of real, noninteger order,
by William Cody.
This is a version of ACM TOMS Algorithm 597;

toms597_test

toms611,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
solves the multiple knapsack problem,
by Silvano Martello and Paolo Toth.
This is a version of ACM TOMS algorithm 632.

toms644,
a Fortran77 code 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 Fortran77 code which
evaluates the Faure, Halton, and Sobol quasirandom sequences,
this is a version of ACM TOMS algorithm 647;

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

toms655,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
computes elements of the Sobol quasirandom sequence;
this is a version of ACM TOMS algorithm 659.

toms660,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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.

toms672_test

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

toms706,
a Fortran77 code 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.

toms707,
a Fortran77 code which
evaluates the confluent hypergeometric function for complex
arguments of large magnitude, by Warren Perger, Atul Bhalla,
and Mark Nardin.
This is a version of ACM TOMS algorithm 707.

toms707_test

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

toms715,
a Fortran77 code 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 Fortran77 code which
computes the Fresnel sine and cosine integrals,
by W van Snyder.
This is a version of ACM TOMS algorithm 723.

toms724,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
evaluates Niederreiter's quasirandom sequence;
this is a version of ACM TOMS algorithm 738;

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

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

toms772,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
tests functions that interpolate scattered data in the plane;
by Robert Renka.
This is a version of ACM TOMS algorithm 792.

toms793,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
carries out computations on trees,
a simple kind of graph that is minimally connected.

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

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

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

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

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

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

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

triangle_svg,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code which
returns the integral of any monomial
over the interior of the unit triangle in 2D.

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

triangulation,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code which
creates an SVG image of a triangulation, which can be displayed
by a web browser.

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

truncated_normal,
a Fortran77 code 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 Fortran77 code which
computes a quadrature rule for a normal distribution that has been
truncated to [A,+oo), (oo,B] or [A,B].

tsp_brute,
a Fortran77 code which
reads a file of citytocity distances and solves a small
traveling salesperson problem, using brute force.

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

umfpack_2.0,
a Fortran77 code 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 Fortran77 code which
considers permutations containing a single cycle,
sometimes called cyclic permutations.

uniform,
a Fortran77 code which
generates uniform random numbers.

valgrind_test,
a Fortran77 code which
uses the VALGRIND suite of programs which includes
a memory leak detector.

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

vandermonde_approx_1d,
a Fortran77 code 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 Fortran77 code 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 Fortran77 code 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 Fortran77 code 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_transform,
a Fortran77 code which
implements the Walsh data transform.

walsh_transform_test,
a Fortran77 code which
implements the Walsh data transform.

wathen_matrix,
a Fortran77 code 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).

wathen_matrix_test

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

wavelet,
a Fortran77 code which
does some simple wavelet calculations;

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

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

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

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

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

weekday,
a Fortran77 code which
determines the day of the week corresponding to a given date,
such as 14 October 1066, Julian calendar, ... which was a Saturday.

wishart_matrix,
a Fortran77 code which
produces sample matrices from the Wishart or Bartlett distributions,
useful for sampling random covariance matrices.

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

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

zero,
a Fortran77 code which
seeks a solution of a scalar nonlinear equation f(x)=0,
by Richard Brent.

zero_test

zero_finder,
a Fortran77 code which
offers several algorithms for estimating a root of a
nonlinear equation.

zero_rc,
a Fortran77 code which
seeks solutions of a scalar nonlinear equation f(x)=0,
using reverse communication.

zero_rc_test

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

ziggurat_openmp,
a Fortran77 code which
demonstrates how the ziggurat() library can be used as
a random number generator (RNG)
in an OpenMP parallel program.
Last revised on 15 October 2022.