MATLAB Source Codes

analemma,
a program which
evaluates the equation of time, a formula for the difference between
the uniform 24 hour day and the actual position of the sun,
based on a C program by Brian Tung.

area_under_curve,
a function which
displays the area under a curve, that is, the points (x,y)
between the x axis and the curve y=f(x).

args,
a program which
shows how to count and report command line arguments;

arpack,
a library which
computes eigenvalues and eigenvectors
of large sparse matrices, accessible via MATLAB's builtin
eigs() command;

asa005,
a library which
evaluates the lower tail of the noncentral Student's T distribution,
by BE Cooper.
This is a version of Applied Statistics Algorithm 5;

asa006,
a library which
computes the Cholesky factor of a positive definite symmetric matrix,
by Michael Healy;
This is a version of Applied Statistics Algorithm 6;

asa007,
a library which
computes the inverse of a positive definite symmetric matrix,
by Michael Healy;
This is a version of Applied Statistics Algorithm 7.

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

asa047,
a library 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 library 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 library which
carries out clustering of data,
by David Sparks.
This is a version of Applied Statistics Algorithm 58;

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

asa066,
a library which
computes the cumulative density function (CDF) of the standard normal
distribution, by David Hill.
This is a version of Applied Statistics Algorithm 66;

asa076,
a library which
evaluates Owen's T function,
by Young and Minder.
This is a version of Applied Statistics Algorithm 76;

asa091,
a library which
computes the percentage points of the Chisquare distribution,
by Best and Roberts.
This is a version of Applied Statistics Algorithm 91;

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

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

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

asa113
a library which
clusters data using a transfer and swap algorithm,
by Banfield and Bassill;
This is a version of Applied Statistics Algorithm 113;

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

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

asa144,
a library which
randomly generates tables with given row and column sums,
by James Boyett.
This is a version of Applied Statistics Algorithm 144;

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

asa152,
a library which
evaluates the probability density function (PDF) and
cumulative density function (CDF) associated with the
hypergeometric distribution,
by Richard Lund;
This is a version of Applied Statistics Algorithm 152;

asa159,
a library which
computes a random table with given row and column sums,
by Michael Patefield;
This is a version of Applied Statistics Algorithm 159;

asa172,
a library which
generates all M dimensional 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 library which
implements a random number generator (RNG),
by Wichman and Hill;
this is a version of Applied Statistics Algorithm 183;

asa226,
a library which
evaluates the noncentral incomplete Beta function,
by Russell Lenth;
this is a version of Applied Statistics Algorithm 226;

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

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

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

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

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

asa299,
a library which
computes the lattice points (integer coordinates)
in an M dimensional simplex,
by Chasalow and Brand;
this is a version of Applied Statistics Algorithm 299;

asa310,
a library which
evaluates the noncentral incomplete Beta function,
by Chattamvelli and Shanmugam.
This is a version of Applied Statistics Algorithm 310;

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

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

ball_and_stick_display,
a program which
demonstrates the creation of a 3D image constructed from
balls and sticks;

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

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

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

barycentric_interp_1d,
a library which
defines and evaluates the barycentric Lagrange polynomial p(x)
which interpolates a set of data, so that p(x(i)) = y(i).
The barycentric approach means that very high degree polynomials can
safely be used.

bernstein_polynomial,
a library which
evaluates the Bernstein polynomials;

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

bezier_surface,
a library which
reads, writes, prints and manipulates
the data that defines a Bezier surface;

bezier_surface_display,
a program which
displays a Bezier surface;

birthday_remote,
a program which
runs a Monte Carlo simulation of the birthday paradox, and includes
instructions on how to run the job, via MATLAB's batch facility,
on a remote system such as Virginia Tech's Ithaca cluster.

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

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

black_scholes,
a library which
implements some simple approaches to
the BlackScholes option valuation theory,
by Desmond Higham.

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

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

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

blas1_c,
a library which
implements the Level 1 Basic Linear Algebra Subprograms (BLAS),
using single precision complex arithmetic;

blas1_d,
a library which
implements the Level 1 Basic Linear Algebra Subprograms (BLAS),
using double precision real arithmetic;

blas1_s,
a library which
implements the Level 1 Basic Linear Algebra Subprograms (BLAS),
using single precision real arithmetic;

blas1_z,
a library which
implements the Level 1 Basic Linear Algebra Subprograms (BLAS),
using double precision complex arithmetic;

blas2,
a library which
contains the Level 2 Basic Linear Algebra Subprograms (BLAS)
for matrixvector operations;

blas3,
a library which
contains the Level 3 Basic Linear Algebra Subprograms (BLAS)
for matrixmatrix operations.

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

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

box_display,
a program which
displays a box plot, over integer pairs of data, of a function
defined by two formulas.

box_plot,
a program which
displays a box plot of data that consists of pairs of integers;

brain_sensor_pod,
a program which
applies the method of Proper Orthogonal Decomposition (POD)
to seek underlying patterns in sets of 40 sensor readings of
brain activity.

brent,
a library which
contains routines for finding zeroes or minima of a scalar function
of a scalar variable, without the use of derivative information,
including a reverse communication option,
by Richard Brent.

brownian_motion_simulation,
a library which
simulates Brownian motion in an M dimensional region.

buckling_spring,
a program which
plots solutions of the buckling spring equations.

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

burgers_steady_viscous,
a library which
solves the steady (timeindependent) viscous Burgers equation
using the finite difference method (FDM) applied to the
conservative form of the equation, using Newton's method to solve the
resulting nonlinear system.

burgers_time_inviscid,
a library which
solves the timedependent inviscid Burgers equation
using the finite difference method (FDM), and one of six solution
methods selected by the user.

burgers_time_viscous,
a library which
solves the timedependent viscous Burgers equation
using the finite difference method (FDM) applied to the
conservative form of the equation.

bvp4c,
programs which
illustrate how to use the MATLAB command bvp4c(),
which can solve boundary value problems (BVP's)
in one spatial dimension.

c4lib,
a library which
implements certain elementary functions for
single precision complex ("C4") variables;

c8lib,
a library which
implements certain elementary functions for
double precision complex ("C8") variables;

calendar_nyt,
a library which
shows the correspondence between dates and
the New York Times volume and issue number;

calpak,
a library which
makes various calendar calculations;

cavity_flow_display,
a library which
displays a single velocity field solution for the driven cavity;

cavity_flow_movie,
a library which
animates the velocity solutions for the driven cavity;

cc_display,
a program which
displays the points used in a 2D ClenshawCurtis quadrature rule;

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

cc_project,
a library which
investigates generalized ClenshawCurtis quadrature rules
for semiinfinite and infinite intervals, by John Boyd.

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

ccn_rule,
a program which
defines a nested Clenshaw Curtis quadrature rule.

ccvt_box,
a program which
calculates a constrained Centroidal Voronoi Tessellation (CVT)
for points constrained to lie in a box, with some points moved
to the boundary;

ccvt_reflect,
a program which
calculates a constrained Centroidal Voronoi Tessellation (CVT)
for points constrained to lie in a box, with some points pushed
towards the boundary;

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

cell_detection_tasks,
a program which
creates modified versions of a sequence of grayscale
tagged image files (TIF's) containing images of biological cells;
the process of each file is carried out independently,
using the task feature of MATLAB's parallel computing toolbox.

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

centralize,
a library which
estimates the centroid and radius of a shape, or a set of data points,
in a space of arbitrary dimension.

cg,
a library which
implements a simple version of the conjugate gradient (CG) method
for solving a system of linear equations of the form A*x=b,
suitable for situations in which the matrix A is positive definite
(only real, positive eigenvalues) and symmetric.

cg_distributed,
a program which
implements a version of the NAS conjugate gradient (CG) benchmark,
using distributed memory.

cg_lab_triangles,
a collection of programs associated with a computer lab
assignment on computational geometry and triangles;

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

chain_letter_tree,
a program which
analyzes a similarity matrix for 11 versions of a single chain letter
and produces a dendrogram or tree diagram that suggests the degrees
of relatedness and the evolutionary history of the letters.

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

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

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

chebyshev_polynomial,
a library which
considers the Chebyshev polynomials T(i,x), U(i,x), V(i,x) and W(i,x).
Functions are provided to evaluate the polynomials,
determine their zeros, produce their polynomial coefficients,
produce related quadrature rules, project other functions onto
these polynomial bases, and integrate double and triple products
of the polynomials.

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

chebyshev1_rule,
a program which
computes and writes out a GaussChebyshev type 1 quadrature rule
of given order.

chebyshev2_rule,
a program which
computes and writes out a GaussChebyshev type 2 quadrature rule
of given order.

chrpak,
a library which
manipulates characters and strings;

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

circle_grid_display
a program which
reads a matrix of integers, and draws a corresponding
grid of circles filled with color.

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

circle_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
along the circumference of the unit circle in 2D;

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

circle_segment,
a library which
carries out computations associated with a circle segment, including
height, angle, area, centroid, sampling, and quadrature.

cities,
a library which
works with citytocity distance matrices;

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

cnoise,
a library which
generates samples of noise obeying a 1/f^alpha power law,
by Miroslav Stoyanov.

collatz,
a library which
computes and analyzes the Collatz
sequence, also known as the hailstone sequence or 3n+1 sequence;

collatz_parfor,
a program which
seeks the maximum Collatz sequence between 1 and N;
it runs in parallel using MATLAB's parfor facility.

collatz_recursive,
a library which
demonstrates recursive programming by considering
the simple Collatz 3n+1 problem.

color_remote,
a program which
carries out the color segmentation of an image in parallel, using
MATLAB's spmd facility; this includes
instructions on how to run the job, via MATLAB's batch facility,
on a remote system such as Virginia Tech's ithaca cluster.

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

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

combo,
a library which
includes routines for ranking, unranking, enumerating and
randomly selecting balanced sequences, cycles, graphs, Gray codes,
subsets, partitions, permutations, restricted growth functions,
Pruefer codes and trees.

compass_search,
a library which
seeks the minimizer of a scalar function of several variables
using compass search,
a direct search algorithm that does not use derivatives.

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

complexity,
programs which
measure the complexity of a few simple algorithms
with increasing problem size.

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

continuation,
a library which
implements the continuation method for a simple 2D problem,
which involves finding a point on the unit circle, and then
finding a sequence of nearby points which trace out the full
curve, using only the information available in the implicit
definition of the curve from the function f(x,y)=x^2+y^21.

contour_gradient,
a program which
displays contours and gradient vectors for a function f(x,y).

contour_gradient_3d,
a program which
displays contours and gradient vectors for a function f(x,y)
in a 3D display.

contour_sequence4,
a program which
creates images suitable for animation
from one XY file and a sequence of u(x,y) data files;

contrast_spmd,
a program which
demonstrates spmd parallel programming for image operations;
the client reads an image, the workers heighten contrast over
portions of it, and the client assembles and displays the results.

contrast2_spmd,
a program which
demonstrates spmd parallel programming for image operations;
it improves on contrast_spmd by allowing the workers to communicate,
and so eliminates artificial seams that would otherwise appear in the
processed image.

convex_hull,
a program which
demonstrates the computation of the convex hull of a set of 2D points.

coordinate_search,
a program which
seeks the minimizer of a scalar function of several variables,
by Jeff Borggaard.

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

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

correlation_chebfun,
a library which
uses the chebfun library to compute truncated KarhunenLoeve
expansions of stochastic processes with a given correlation function.

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

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

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

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

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

cube_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit cube in 3D.

cvt,
a library which
computes an Npoint Centroidal Voronoi Tessellation (CVT)
in M dimensions;

cvt_1d_nonuniform,
a program which
computes an Npoint Centroidal Voronoi Tessellation (CVT)
in 1 dimension, under a nonuniform density,
and plots the evolution of the locations of the generators
during the iteration;

cvt_1d_sampling,
a program which
computes an Npoint Centroidal Voronoi Tessellation (CVT)
within the interval [0,1], under a uniform density,
using sampling to estimate the Voronoi regions.

cvt_2d_sampling,
a program which
computes an Npoint Centroidal Voronoi Tessellation (CVT)
within the unit square [0,1]x[0,1], under a uniform density,
using sampling to estimate the Voronoi regions.

cvt_3d_sampling,
a program which
computes an Npoint Centroidal Voronoi Tessellation (CVT)
within the unit cube [0,1]x[0,1]x[0,1], under a uniform density,
using sampling to estimate the Voronoi regions.

cvt_corn,
a program which
studies a 2D model of the growth of a corn kernel, by treating
the surface and interior biological cells as points to be
organized by a Centroidal Voronoi Tessellation (CVT)
with a nonuniform density; during a sequence of growth steps,
new biological cells are randomly added to the surface and interior.

cvt_dataset,
a program which
creates a Centroidal Voronoi Tessellation (CVT) dataset;

cvt_demo,
a program which
interactively, graphically demonstrates a
Centroidal Voronoi Tessellation (CVT) calculation;

cvt_metric,
a program which
computes a Centroidal Voronoi Tessellation (CVT)
under a spatially varying metric;

cvt_movie,
a program which
creates an animation of the evolution of a
Centroidal Voronoi Tessellation (CVT);

cvt_movie2,
a program which
creates a Centroidal Voronoi Tessellation (CVT) movie;

cvt_movie3,
a program which
creates a Centroidal Voronoi Tessellation (CVT) movie
in a region of unusual shape;

cvt_movie4,
a program which
creates a Centroidal Voronoi Tessellation (CVT) movie in a square,
with a density function that drives points to the corners;

cvt_movie5,
a program which
repeats cvt_movie3, but with hexagonal
grid initialization, fixed points, and boundary projection;

cycle_brent,
a library which
carries out an iterated function evaluation,
and seeks to determine the nearest element of a cycle,
and the cycle's length, using Brent's method.

cycle_floyd,
a library which
carries out an iterated function evaluation,
and seeks to determine the nearest element of a cycle,
and the cycle's length, using Floyd's method.

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

dfield8,
a program which
interactively displays the direction field of an
ordinary differential equation (ODE),
by John Polking.

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

dice_simulation,
a program which
simulates N tosses of M dice, making a histogram of the results.

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

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

dijkstra_spmd,
a program which
uses the spmd feature to parallelize a simple example of Dijkstra's
minimum distance algorithm for graphs.

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

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

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

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

disk_rule,
a library which
computes a quadrature rule
over the interior of the unit disk in 2D.

dist_plot,
a program which
makes contour plots of the distance function,
as defined and used in Persson and Strang's
distmesh() code;

distance_to_position,
a program which
estimates the positions of cities which minimizes the discrepancy
with a citytocity distance table.

distance_to_position_sphere,
a program which
estimates the positions of cities on a sphere (such as the earth)
based on a citytocity distance table.

distmesh,
a library which
carries out a method of mesh generation;
by PerOlof Persson and Gilbert Strang.

distmesh_3d,
a library which
carries out a method of mesh generation in 3D,
by PerOlof Persson and Gilbert Strang.

divdif,
a library which
uses divided differences to compute the polynomial interpolant
to a given set of data.

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

doomsday,
a library which
is given the year, month and day of a date, and uses
John Conway's doomsday algorithm
to determine the corresponding day of the week.

double_c_data,
programs which
generate, plot or write out 2D data that forms two interlocking
"C" shapes.

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

edge,
a library which
defines some test functions in 1D, 2D and 3D
for the detection of edges or discontinuities.

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

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

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

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

entrust,
a library which
uses trustregion methods to solve problems in scalar optimization
or nonlinear least squares,
by Jeff Borggaard and Gene Cliff.

exactness,
a library which
investigates the exactness of quadrature rules that estimate the
integral of a function with a density, such as 1, exp(x) or
exp(x^2), over an interval such as [1,+1], [0,+oo) or (oo,+oo).

face_spmd,
a program which
demonstrates the spmd parallel programming feature;
the client has a 3D box that has been dissected into tetrahedrons.
Multiple workers cooperate to construct a list of the triangular faces
that lie on the boundaries of the box.

fair_dice_simulation,
a program which
simulates N tosses of 2 dice, making a histogram of the results.

faure,
a library which
computes the Faure M dimensional quasirandom sequence;

faure_dataset,
a program which
creates an M dimensional Faure quasirandom dataset;

fd_predator_prey,
a program which
solves a timedependent predator prey system using the
finite difference method (FDM).

fd_to_tec,
a program which
converts FD files storing finite difference method (FDM) models
into tecplot ASCII files.

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

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

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

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

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

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

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

fd1d_display,
a program which
reads a pair of files defining a 1D model for the
finite difference method (FDM), and plots the data.

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

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

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

fd1d_predator_prey,
a program which
implements a finite difference method (FDM) for a time and
1D space dependent predatorprey system,
by Marcus Garvie.

fd1d_predator_prey_plot,
a program which
plots solutions from the fd1d_predator_prey program,
by Marcus Garvie.

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

fd2d_heat_explicit_spmd,
a program which
uses the finite difference method (FDM) and explicit time stepping
to solve the time dependent heat equation in 2D. A black and white
image is used as the initial condition. MATLAB's spmd facility is
used to carry out the computation in parallel.

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

fd2d_predator_prey,
a program which
implements a finite difference method (FDM) for a
time and 2D space dependent predatorprey system,
by Marcus Garvie.

fe2d_predator_prey_fast,
programs which
implement a finite element method (FEM) for a
time and 2D space dependent predatorprey system,
on an arbitrary triangulated region,
with a variety of possible boundary conditions,
incorporating some Matlab optimizations,
by Marcus Garvie.

featool,
a program which
can set up and solve a variety of finite element problems;

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

fem_basis_q4_display,
a program which
displays any single finite element method (FEM) basis function
associated with an arbitrary linear quadrilateral Q4 mesh;

fem_basis_t3_display,
a program which
displays a basis function for the finite element method (FEM)
associated with an arbitrary 3node triangle T3 mesh;

fem_basis_t4_display,
a program which
displays a basis function for the finite element method (FEM)
associated with an arbitrary 4node triangle T4 mesh;

fem_basis_t6_display,
a program which
displays a basis function for the finite element method (FEM)
associated with an arbitrary 6node triangle T6 mesh;

fem_io,
a library which
reads or writes FEM files,
three text files describing a finite element model;

fem_meshing,
a library which
looks at some simple issues in defining a geometric mesh for
the finite element method (FEM) in 2D.

fem_neumann,
a program which
sets up a timedependent reactiondiffusion equation in 1D,
with Neumann boundary conditions,
discretized using the finite element method (FEM).

fem_to_mesh,
a program which
reads a pair of FEM files defining node coordinates and elements,
and creates a corresponding MESH file.

fem_to_tec,
a program which
reads a set of FEM files, (three
text files describing a finite element model), and writes a
TECPLOT ASCII file.

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

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

fem1d_bvp_linear,
a program which
applies the finite element method (FEM), with piecewise linear elements,
to a two point boundary value problem (BVP) in one spatial dimension,
and compares the computed and exact solutions
with the L2 and seminorm errors.

fem1d_bvp_quadratic,
a program which
applies the finite element method (FEM),
with piecewise quadratic elements,
to a two point boundary value problem (BVP) in one spatial dimension,
and compares the computed and exact solutions
with the L2 and seminorm errors.

fem1d_display,
a program which
reads three files defining a 1D arbitrary degree basis function
associated with the finite element method (FEM),
and displays a plot.

fem1d_function_10_display,
a program which
reads three files defining a 1D piecewise linear finite element method (FEM)
function and displays a plot.

fem1d_heat_explicit,
a program which
uses the finite element method (FEM) and explicit time stepping
to solve the time dependent heat equation in 1D.

fem1d_heat_implicit,
a program which
uses the finite element method (FEM) and implicit time stepping
to solve the time dependent heat equation in 1D.

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

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

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

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

fem1d_project,
a program which
projects data into a finite element space, including the least squares
approximation of data, or the projection of a finite element solution
from one mesh to another.

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

fem1d_spectral_numeric,
a program which
applies the spectral finite element method (FEM) to solve the problem
u'' =  pi^2 sin(x) over [1,+1] with zero boundary conditions,
using as basis elements the functions x^n*(x1)*(x+1),
and carrying out the integration numerically,
using MATLAB's quad() function,
by Miro Stoyanov.

fem1d_spectral_symbolic,
a program which
applies the spectral finite element method (FEM) to solve the problem
u'' =  pi^2 sin(x) over [1,+1] with zero boundary conditions,
using as basis elements the functions x^n*(x1)*(x+1),
and carrying out the integration using MATLAB's symbolic toolbox,
by Miro Stoyanov.

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

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

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

fem2d_heat,
a program which
applies the finite element method (FEM) to the time dependent
heat equation on an arbitrary triangulated region in 2D;

fem2d_heat_rectangle,
a program which
applies the finite element method (FEM) for the timedependent
heat equation on a triangulated square in 2D;

fem2d_heat_rectangle_steady_spmd,
a program which
uses the MATLAB Parallel Computing Toolbox in spmd mode to set up
and solve a distributed linear system associated with the
finite element method (FEM) solution of the steady 2d heat equation.

fem2d_heat_sparse,
a program which
applies the finite element method (FEM) to the heat equation
on an arbitrary triangulated region in 2D, using MATLAB's
sparse matrix features;

fem2d_heat_sparse_square,
a library which
defines the geometry of a square region,
as well as boundary and initial
conditions for a given heat problem, so that fem2d_heat_sparse
can be called for a solution.

fem2d_heat_square,
a library which
defines the geometry of a square region,
as well as boundary and initial
conditions for a given heat problem, so that fem2d_heat
can be called for a solution.

fem2d_navier_stokes,
a program which
applies the finite element method (FEM) to the
steady incompressible Navier Stokes equations
on an arbitrary triangulated region in 2D;

fem2d_navier_stokes_cavity,
a library which
contains the usersupplied routines necessary to run
fem2d_navier_stokes on the cavity problem.

fem2d_navier_stokes_channel,
a library which
contains the usersupplied routines necessary to run
fem2d_navier_stokes on the channel problem.

fem2d_navier_stokes_sparse,
a program which
applies the finite element method (FEM) to the
steady incompressible Navier Stokes equations
on an arbitrary triangulated region in 2D, using MATLAB's
sparse matrix features;

fem2d_navier_stokes_sparse_big_cavity,
a library which
contains the usersupplied routines necessary to run
fem2d_navier_stokes on the big cavity problem.

fem2d_navier_stokes_sparse_cavity,
a library which
contains the usersupplied routines necessary to run
fem2d_navier_stokes on the cavity problem.

fem2d_navier_stokes_sparse_channel,
a library which
contains the usersupplied routines necessary to run
fem2d_navier_stokes on the channel problem.

fem2d_navier_stokes_sparse_inout,
a library which
contains the usersupplied routines necessary to run
fem2d_navier_stokes on the inout problem.

fem2d_pack,
a library which
performs simple 2D finite element method (FEM) computations;

fem2d_plot_gpl,
a program which
reads information about nodes, elements and nodal values for a
2D finite element method (FEM) and creates a GPL file describing
a surface plot of U(X,Y), which can be displayed by GNUPLOT.

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

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

fem2d_poisson_sparse,
a program which
uses the finite element method to solve
Poisson's equation on an arbitrary triangulated region in 2D;
This is a version of fem2d_poisson which replaces
the banded storage and direct solver by a sparse storage format.

fem2d_poisson_sparse_baffle,
a library which
defines the geometry of a rectangular channel with 13 baffles,
as well as boundary conditions for a given Poisson problem,
and is called by fem2d_poisson_sparse
as part of a solution procedure.

fem2d_poisson_sparse_ell,
a library which
defines the geometry of an Lshaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson_sparse
as part of a solution procedure.

fem2d_poisson_sparse_lake,
a library which
defines the geometry of a lakeshaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson_sparse
as part of a solution procedure.

fem2d_project,
a program which
projects a function f(x,y), given as data,
into a given finite element space
of piecewise linear triangular elements.

fem2d_project_function,
a program which
projects a function f(x,y), given as a formula,
into a given finite element space
of piecewise linear triangular elements.

fem2d_sample,
a program which
samples a finite element
function, defined by FEM files,
(three text files describing the nodes, triangles, and coefficients);
at arbitrary points.

fem2d_stokes_sparse,
a program which
is a finite element code for the
steady incompressible Stokes equations
on an arbitrary triangulated region in 2D, using MATLAB's
sparse matrix features;

fem2d_stokes_sparse_big_cavity,
a library which
contains the usersupplied routines necessary to run
fem2d_stokes_sparse() on the big cavity problem.

fem2d_stokes_sparse_cavity,
a library which
contains the usersupplied routines necessary to run fem2d_stokes_sparse
on the cavity problem.

fem2d_stokes_sparse_channel,
a library which
contains the usersupplied routines necessary to run fem2d_stokes_sparse
on the channel problem.

fem2d_stokes_sparse_inout,
a library which
contains the usersupplied routines necessary to run fem2d_stokes_sparse
on the inout problem.

fem2d_stokes_sparse_spiral,
a library which
contains the usersupplied routines necessary to run fem2d_stokes_sparse
on the spiral problem.

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

fem3d_project,
a program which
projects a function f(x,y,z), given as a data,
into a given space of piecewise linear tetrahedral elements
for use in the finite element method (FEM).

fem3d_sample,
a program library which
evaluates a function defined on a 3D tetrahedral mesh as part of
the finite element method (FEM).

fern,
a program which
uses MATLAB graphics to compute and display the Barnsley fractal fern.

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

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

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

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

fibonacci_spiral,
a program which
displays points on a Fibonacci spiral, suggesting the arrangement
of seeds in a sunflower, for instance.

file_increment,
a program which
makes a copy of a file containing an integer array,
after incrementing each entry by a given value.

file_name_sequence,
a program which
demonstrates ways to generate a sequence of filenames, which can
be useful when generating a sequence of still snapshots
to be animated later.

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

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

filum,
a library which
handles files and filenames;

fire_serial,
a program which
simulates a forest fire over a rectangular array of trees,
starting at a single random location. It is intended as a starting
point for the development of a parallel version.

flame_ode,
a library which
considers an ordinary differential equation (ODE) which models
the growth of a ball of flame in a combustion process.

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

fmincon,
programs which
illustrate the use of fmincon() from MATLAB's Optimization Toolbox,
which seeks the minimizer of a scalar function of multiple variables,
within a region specified by linear constraints and bounds.

fmincon_parallel,
a program which
demonstrates the use of MATLAB's fmincon() constrained minimization
function, taking advantage of the Parallel Computing Toolbox
for faster execution.

fn,
a library which
evaluates elementary and special functions using Chebyshev polynomials;
functions include Airy, Bessel I, J, K and Y, beta,
confluent hypergeometric, error, gamma, log gamma, Pochhammer, Spence;
integrals include hyperbolic cosine, cosine, Dawson, exponential,
logarithmic, hyperbolic sine, sine; by Wayne Fullerton.

gamblers_ruin_simulation,
a program which
simulates the game of gambler's ruin.

gauss_seidel,
a program which
implements the GaussSeidel iteration for linear systems.

gauss_seidel_poisson_1d,
a program which
demonstrates how the linear system for a discretized version of the
steady 1D Poisson equation can be solved by the GaussSeidel iteration.

gegenbauer_rule,
a program which
computes and writes out a GaussGegenbauer quadrature rule
of given order.

gen_hermite_rule,
a program which
computes and writes out a generalized GaussHermite quadrature rule of
given order and parameter value.

gen_laguerre_rule,
a program which
computes and writes out a generalized GaussLaguerre quadrature rule
of given order and parameter value.

geometry,
a library which
performs geometric calculations in 2, 3 and M dimensional space,
including the computation of angles, areas, containment, distances,
intersections, lengths, and volumes.

gl_display,
a program which
displays the points used in a 2D GaussLegendre quadrature rule;

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

gpl_display,
a library which
tries to read the data in a typical gnuplot GPL file,
and display it in a more attractive way than gnuplot is capable of.

graph_representation,
a library which
can express the representation of an abstract mathematical graph
in several ways.

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

gray_code_display,
a program which
computes the Hamming distance tables
for both the binary and Gray codes,
and displays 3D plots that illustrate how the Gray code does a better
job of providing nearby representations for nearby numbers.

grf_display,
a program which
reads a GRF file defining a mathematical graph and
displays it in the MATLAB graphics window.

grf_io,
a library which
reads or writes a GRF file;

grid_display,
a program which
reads a file of points on a grid or sparse grid, displays the grid and
saves the image in a png file;

gridlines,
a library which
gives the user more control over drawing gridlines on a graph
than the built in "grid on" command.

grids_display,
a program which
reads two files of grids or sparse grids, displaying the
first with hollow blue dots, the second with solid red dots.

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

halton,
a library which
calculates the Halton M dimensional quasirandom sequence;

halton_dataset,
a program which
creates N elements of an M dimensional Halton sequence
and writes them to a file.

hammersley,
a library which
computes the Hammersley M dimensional quasirandom sequence;

hammersley_dataset,
a program which
creates N elements of an M dimensional Hammersley sequence
and writes them to a file.

hand_data,
programs which
carry out some numerical exercises based on data that came from
tracing several points on a person's hand.

hb_io,
a library which
reads and writes files in the Harwell Boeing (HB) sparse matrix format;

hb_to_mm,
a program which
converts a sparse matrix stored in a Harwell Boeing (HB) file
to Matrix Market (MM) format;

hb_to_msm,
a program which
converts a sparse matrix stored in a Harwell Boeing (HB) file
to MATLAB sparse matrix format;

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

hcell_flow_display,
a program which
plots the physical data, pressures or velocities, from a run of the
hcell program;

heat_oned,
a program which
solves the timedependent 1D heat equation,
using the finite element method in space,
and the backward Euler method in time, by Jeff Borggaard.

heated_plate,
a program which
solves the steady state heat equation in a 2D
rectangular region, and is intended as
a starting point for a parallel version.

heated_plate_parfor,
a program which
solves the steady state heat equation in a 2D
rectangular region, using MATLAB's parfor command
to execute in parallel.

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

hello_parfor,
a program which
prints out "Hello, world!" multiple times, using MATLAB's parfor
command for parallel execution.

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

hermite_cubic,
a library which
can compute the value, derivatives or integral
of a Hermite cubic polynomial,
or manipulate an interpolating function made up of piecewise Hermite cubic
polynomials.

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

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

hermite_product_display,
a program which
displays an image of a function created by the Cartesian product
of two Hermite polynomials, such as f(x,y) = h(3,x) * h(1,y).

hermite_rule,
a program which
computes and writes out a GaussHermite quadrature rule
to estimate the integral of a function with density exp(x^2)
over the interval (oo,+oo).

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

high_card_parfor,
a program which
uses the parfor statement to compute in parallel the statistics for
a card game in which you are required to guess the location of the
highest card.

high_card_simulation,
a program which
simulates a situation in which you see the cards in a deck one by one,
and must select the one you think is the highest and stop.

histogram_discrete,
a library which
tries to make a histogram of data without using bins.

histogram_display,
a program which
makes a bar plot of a set of data stored
as columns in a file; the first column is the X values, and
all the other columns are Y values to be shown as a stack of bars;

hyperball_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit hyperball in M dimensions.

hyperball_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit ball in M dimensions;

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

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

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

hypercube_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit hypercube in M dimensions.

hypercube_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit hypercube in M dimensions.

hypersphere_integrals,
a library which
returns the exact value of the integral of any monomial
over the surface of the unit hypersphere in M dimensions.

hypersphere_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
on the surface of the unit sphere in M dimensions;

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

hypersphere_surface,
a library which
illustrates a procedure for estimating the location of a hypersurface
in M dimensional space defined by a characteristic function
or a signed function.

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

ifiss3.3,
a program which
embodies the IFISS software that can model the
steady (timeindependent) flow of a 2D incompressible fluid,
by Howard Elman, Alison Ramage, David Silvester.

ihs,
a library which
generates the Improved Hypercube Sampling (IHS)
M dimensional quasirandom sequence;

ihs_dataset,
a program which
creates an Improved Hypercube Sampling (IHS) dataset
and writes it to a file;

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

image_contrast,
programs which
applies image processing techniques to increase the contrast
in an image.

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

image_denoise_spmd,
a library which
demonstrates the spmd parallel programming feature for image operations;
the client reads an image, the workers process portions of it, and
the client assembles and displays the results.

image_diffuse,
a library which
uses diffusion to smooth out an image.

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

image_match_genetic,
a program which
tries to match a 256x256 JPEG image by blending 32 colored rectangles,
using ideas from genetic algorithms,
based on an example by Nick Berry.

image_noise,
programs which
add noise to an image.

image_quantization,
a library which
demonstrates how the KMEANS algorithm can be used to reduce the number
of colors or shades of gray in an image.

image_rgb_to_gray,
programs which
makes a grayscale version of an RGB image.

image_threshold,
programs which
make a black and white version of a grayscale image
by setting all pixels below or above a threshold value
to black or white.

imshow_numeric,
a program which
accepts a numeric 2D array and displays it as a grayscale image.

index,
a library which
converts an M dimensional 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_flow_display,
a library which
displays a single velocity field solution for the inout cell flow;

inout_flow_movie,
a library which
creates an animation of the velocity solutions for the inout cell flow;

int_exactness,
a program which
tests the polynomial exactness
of quadrature rules for a finite interval;

int_exactness_chebyshev1,
a program which
tests the polynomial exactness of
GaussChebyshev type 1 quadrature rules.

int_exactness_chebyshev2,
a program which
tests the polynomial exactness of GaussChebyshev type 2
quadrature rules.

int_exactness_gegenbauer,
a program which
tests the polynomial exactness of GaussGegenbauer quadrature rules.

int_exactness_gen_hermite,
a program which
tests the polynomial
exactness of generalized GaussHermite quadrature rules.

int_exactness_gen_laguerre,
a program which
tests the polynomial exactness of generalized GaussLaguerre
quadrature rules.

int_exactness_jacobi,
a program which
tests the polynomial exactness of GaussJacobi quadrature rules.

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

ising_2d_simulation,
a program which
simulates the evolution of a 2D array of positive and negative charges,
each of which is likely to flip to be in agreement with neighbors.

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

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

jacobi_poisson_1d,
a program which
demonstrates how the linear system for a discretized version of the
steady 1D Poisson equation can be solved by the Jacobi iteration.

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

jacobi_rule,
a program which
computes and writes out a GaussJacobi quadrature rule of given order.

kmeans,
a library which
handles the KMeans problem,
which organizes a set of N points in M dimensions into K clusters;

kmeans_fast,
a library which
contains several different algorithms for the KMeans problem,
which organizes a set of N points in M dimensions into K clusters,
by Charles Elkan.

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

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

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

lagrange_basis_display,
a library which
displays the basis functions associated with a given set of nodes used
with the Lagrange interpolation scheme.

lagrange_interp_1d,
a library which
defines and evaluates the Lagrange polynomial p(x)
which interpolates a set of data depending on a 1D argument,
so that p(x(i)) = y(i).

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

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

lagrange_nd,
a library which
implements several multivariate Lagrange interpolation schemes
developed by Tomas Sauer.

laguerre_exactness,
a program which
tests the polynomial exactness of GaussLaguerre quadrature rules
for integrating functions with density exp(x) over [0,+oo).

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

laguerre_rule,
a program which
computes a GaussLaguerre quadrature rule of given order,
and writes it to a file.

laguerre_test_int,
a library which
implements test problems for
approximate integration over a semiinfinite interval,
often carried out using GaussLaguerre quadrature.

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

latin_center,
a library which
computes N points in an M dimensional Latin Center square;

latin_center_dataset,
a program which
creates a Latin Center Hypercube dataset;

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

latin_edge,
a library which
returns N points in an M dimensional Latin Edge square;

latin_edge_dataset,
a program which
creates an Npoint M dimensional Latin Edge square dataset;

latin_random,
a library which
returns N points in an M dimensional Latin Random square;

latin_random_dataset,
a program which
creates a Latin Random Hypercube dataset;

latinize,
a program which
adjusts N points in M dimensions to form a Latin hypercube;

lattice_rule,
a library which
returns lattice rules for M dimensional integration;

lcvt,
a library which
makes a sort of Latinized Centroidal Voronoi Tessellation (CVT);

lcvt_dataset,
a program which
creates a Latinized Centroidal Voronoi Tessellation (CVT) dataset;

lebesgue,
a library which
is given a set of nodes in 1D, and
plots the Lebesgue function, and estimates the Lebesgue constant,
which measures the maximum magnitude of the potential error
of Lagrange polynomial interpolation.

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

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

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

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

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

levels,
a library which
makes a contour plot,
choosing the contour levels using random sampling.

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

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

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

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

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

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

line_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the length of the unit line in 1D.

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

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

linear_solve_distributed,
a program which
solves a linear system A*x=b using MATLAB's spmd facility,
so that the matrix A is distributed across multiple MATLAB workers.

linpack,
a library which
solves linear systems for a variety of matrix storage schemes,
real or complex arithmetic, and single or double precision.
The original version of this library is
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

linpack_bench,
a program which
is the linpack benchmark;

linpack_bench_backslash,
a program which
is the linpack benchmark, using MATLAB's builtin backslash operator;

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

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

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

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

linplus,
a library which
carries out operations such as matrixvector products,
matrix factorization, linear solvers including Gausselimination,
Jacobi iteration, GaussSeidel iteration, Conjugate Gradient (CG),
for matrices in a variety of formats, including banded,
borderbanded, circulant, lower triangular, pentadiagonal,
sparse, symmetric, toeplitz, tridiagonal, upper triangular
and vandermonde formats.

llsq,
a library which
solves the simple linear least squares problem of finding the formula
of a straight line y=a*x+b which minimizes the rootmeansquare error
to a set of N data points.

lobatto_polynomial,
a library which
evaluates the Lobatto polynomial and associated functions.

lorenz_cluster,
a library which
takes a set of N points on a trajectory of solutions to the Lorenz
equations, and applies the Kmeans algorithm to organize the
data into K clusters.

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

lorenz_simulation,
a program which
computes and displays solutions of the Lorenz equations
for various initial conditions.

lyrics_remote,
a program which
runs in parallel, using three workers which cooperate systolically,
that is, as though they were on an assembly line. The output from
worker 1 is passed to worker 2 for further processing, and so on.
This includes instructions on how to run the job,
via MATLAB's batch facility,
on a remote system such as Virginia Tech's ithaca cluster.

machar,
a library which
dynamically computes the values of
various machine characteristic constants,
by William Cody;

machine,
a library which
returns tabulated values of
the constants associated with computer arithmetic;

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

math2070_1999,
programs which
were used for a numerical analysis laboratory class.

math2071_2000,
programs which
were used for a numerical analysis laboratory class.

matlab,
programs which
illustrate the use of MATLAB scripts and Mfiles;

matlab_calls_c,
programs which
illustrate how C functions can be written, compiled, and
called from MATLAB using the mex facility;

matlab_calls_c++,
programs which
illustrate how C++ functions can be written, compiled, and
called from MATLAB using the mex facility;

matlab_calls_f77,
programs which
illustrate how FORTRAN77 functions can be written, compiled, and
called from MATLAB using the mex facility;

matlab_calls_f90,
programs which
illustrate how FORTRAN90 functions can be written, compiled, and
called from MATLAB using the mex facility;

matlab_commandline,
programs which
illustrate how MATLAB can be run from the UNIX command line, that is,
not with the usual MATLAB command window.

matlab_compiler,
programs which
illustrate the use of the Matlab compiler, which allows you
to run a Matlab application outside the Matlab environment.

matlab_condor,
programs which
illustrate how MATLAB can be run in batch mode using the condor
queueing system.

matlab_distcomp,
a program which
remotely runs a set of 5 jobs on Virginia Tech's ithaca cluster.

matlab_graphics,
programs which
demonstrate a few issues that arise when producing graphic
images with MATLAB.

matlab_kmeans,
programs which
illustrate the use of Matlab's kmeans() function for clustering
N sets of Mdimensional data into K clusters.

matlab_mistake,
programs which
illustrate some simple but devious programming mistakes in MATLAB.

matlab_movies,
programs which
illustrate making movies using MATLAB;

matlab_os,
programs which
illustrate how the system command can be used to allow MATLAB
to issue commands to the computer operating system (UNIX or DOS);

matlab_parallel,
programs which
illustrate local parallel programming on a single computer
with MATLAB's Parallel Computing Toolbox.

matlab_random,
programs which
illustrate the use of Matlab's random number generator (RNG) routines.

matlab_random_parallel,
programs which
illustrate the use of Matlab's random number generator (RNG) routines
when working with parallel features such as parfor or spmd.

matlab_remote,
programs which
illustrate the use of remote job execution, in which a desktop copy of
MATLAB sends programs and data to a remote machine for execution.
Included is information to properly configure the local machine.

matlab_return,
programs which
illustrate that explicitly invoking the return statment
can be surprisingly costly;

matlab_surf,
MATLAB programs which
demonstrate the MATLAB surf() function for displaying a 3D surface
of the form Z=F(X,Y).

matrix_assemble_parfor,
a program which
demonstrates the parfor parallel programming feature by assembling the
Hilbert matrix in a parallel loop.

matrix_assemble_spmd,
a program which
demonstrates the spmd parallel programming feature by having each
worker assemble part of the Hilbert matrix, which is then combined
into one array by the client program.

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

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

md_fast,
a program which
carries out a molecular dynamics simulation; it is a version of MD
that has been revised to take advantage of MATLAB's vector abilities.

md_parfor,
a program which
carries out a molecular dynamics simulation; it runs in parallel
using MATLAB's parfor facility.

memory_test,
a program which
tests the memory available on the computer by declaring
and using big vectors.

mesh_bandwidth,
a program which
returns the geometric bandwidth associated with a mesh of
elements of any order and in a space of M dimensions.

mesh_display,
a program which
reads a 2D mesh of elements of any uniform order and displays
a plot of the elements and nodes, with optional numbering.

mesh_io,
a library which
can read or write MESH files, which can be used to define the geometry
of a finite element mesh in 2D or 3D, using triangles, quadrilaterals,
tetrahedrons or hexahedrons.

mesh2d,
a library which
can automatically create a triangular mesh for a given polygonal
region, by Darren Engwirda.

mesh2d_hand,
a program which
reads in a set of 59 points which outline a human hand,
and calls mesh2d(), which is able to create a fine triangular
mesh of the region outlined by the points.

mesh2d_write,
a program which
demonstrates how node and element data from mesh2d can be written
to files.

meshfaces,
a library which
can automatically create a triangular mesh for a region that
has been subdivided, by Darren Engwirda.

mex,
a directory of programs which
call lowerlevel functions written in traditional languages such
as C, C++, FORTRAN77 or FORTRAN90, compiled with MATLAB's
mex compiler.

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

mgs,
a library which
is an example of legacy code, which the student is encouraged to
study, understand, and document.
This example is due to Diane O'Leary.

mm_io,
a library which
reads and writes a Matrix Market (MM) Sparse Matrix File;

mm_to_hb,
a program which
reads a Matrix Market (MM) sparse matrix file and creates a
corresponding Harwell Boeing (HB) sparse matrix file.

mm_to_msm,
a program which
reads a Matrix Market (MM) sparse matrix file and creates a
corresponding MATLAB sparse matrix data structure.

mm_to_st,
a program which
reads a Matrix Market (MM) sparse matrix file and writes a
corresponding Sparse Triplet (ST) file.

moc_display,
a program which
estimates and displays the modulus of continuity function for a given
function f(x) over a finite interval [A,B], using N sample values.

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

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

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

msm_to_hb,
a program which
writes a MATLAB sparse matrix to a Harwell Boeing (HB) file;

msm_to_mm,
a program which
writes a MATLAB sparse matrix to a Matrix Market (MM) file;

msm_to_st,
a program which
writes a MATLAB sparse matrix to a Sparse Triplet (ST) file;

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

mxm,
a program which
sets up a matrix multiplication problem A=B*C of arbitrary size,
and compares the time required for IJK, IKJ, JIK, JKI, KIJ and KJI
orderings of the loops.

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

nas,
a program which
runs the NASA kernel benchmark.

navier_stokes_mesh2d,
is a set of MATLAB data files defining meshes for several
2D test problems involving the Navier Stokes equations
for fluid flow, provided by Leo Rebholz.

navier_stokes_mesh3d,
is a set of MATLAB data files defining meshes for several
3D test problems involving the Navier Stokes equations
for fluid flow, provided by Leo Rebholz.

ncm,
programs which
accompany Cleve Moler's textbook "Numerical Computing with MATLAB".

nearest_interp_1d,
a library which
interpolates a set of data using a piecewise constant interpolant
defined by the nearest neighbor criterion.

nearest_neighbor,
a library which
works in a given M dimensional space, seeking, for each point
in a set S, the nearest point in a set R,
by Richard Brown.

neighbors_to_metis_graph,
a program which
reads a file describing the neighbor
structure of a triangulation or tet mesh, and writes a metis graph
file suitable for input to one of the family of programs based
on metis.

nelder_mead,
a program which
implements the NelderMead algorithm for the minimization of a
scalar function of several variables, by Jeff Borggaard.

nested_sequence_display,
a program which
displays a set of nested sequences.

netcdf,
a directory of example programs which
read and write netcdf files.

niederreiter2,
a library which
computes the Niederreiter M dimensional
quasirandom sequence, base 2;

niederreiter2_dataset,
a program which
creates a Niederreiter quasirandom dataset with base 2;

nint_exactness_mixed,
a program which
measures the polynomial exactness of an M dimensional quadrature rule
based on a mixture of 1D quadrature rule factors.

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

normal,
a library which
implements normal random number generators (RNG) for
real and complex arithmetic, for scalars, vectors, and matrices.

normal_dataset,
a program which
uses a normal random number generator (RNG) to create a dataset.

ns3d_fem,
a program which
sets up and solves a finite element formulation of the steady
incompressible 3D Navier Stokes equations on a userdefined geometry,
by Jeff Borggaard.

obj_display,
a program which
displays an OBJ 3D graphics file;

obj_io,
a library which
reads and writes the data in an OBJ 3D graphics file;

obj_to_tri_surface,
a program which
reads an OBJ 3D graphics file and extracts
the surface mesh data as a TRI_SURFACE dataset.

ode_predator_prey,
a program which
solves a timedependent predatorprey system
of ordinary differential equations (ODE's) using MATLAB's ode23()
function.

ode_sweep_parfor,
a program which
demonstrates how the parfor command can be used to parallelize the
computation of a grid of solutions to a parameterized system of
ordinary differential equations (ODE's).

ode_sweep_serial,
a program which
computes a grid of solutions to a parameterized system of
ordinary differential equations (ODE's).

oned,
a library which
contains functions useful for 1D finite element calculations,
by Jeff Borggaard.

optimal_control_1d,
a program which
seeks the optimal control function for
a one dimensional system which is represented using the finite
element formulation;

ornstein_uhlenbeck,
a library which
approximates solutions of the OrnsteinUhlenbeck
stochastic ordinary differential equation (SODE)
using the Euler method, the EulerMaruyama method,
and the Milstein method.

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

padua,
a library which
returns the coordinates of the 2D Padua points,
as well as interpolation weights or quadrature weights,
and images of the points in MATLAB graphics files.

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

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

pbma_io,
a library which
reads or writes an ASCII Portable Bit Map (PBM) graphics file;

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

pce_legendre,
a program which
assembles the system matrix of a 2D stochastic partial differential
equation (SPDE), using a polynomial chaos expansion (PCE)
in terms of Legendre polynomials;

pce_ode_hermite,
a program which
sets up a scalar stochastic ordinary differential equation (SODE) for
exponential decay with an uncertain decay rate, using a
polynomial chaos expansion (PCE) in terms of Hermite polynomials.

pdepe,
programs which
illustrate how MATLAB's pdepe() function can be used to solve
initial boundary value problems (IBVP's) in one spatial dimension.

pdflib,
a library which
evaluates Probability Density Functions (PDF's)
and produces random samples from them,
including beta, binomial, chi, exponential, gamma, inverse chi,
inverse gamma, multinomial, normal, scaled inverse chi, and uniform.

peak_movie,
a program which
creates the pieces of an animation, one frame at a time.
Each frame is independently created and saved as a JPEG file.

peridynamics_1d_steady,
a library which
solves a 1D steady version of the Poisson equation,
using the nonlocal peridynamics model,
by Marta D'Elia.

pgma_io,
a library which
reads or writes an ASCII Portable Gray Map (PGM) image file;

pic_serial,
a program which
uses the Particle In Cell (PIC) method to simulate the motion of
electrically charged particles past a plate, and is intended as
a starting point for implementing a parallel version.

piecewise_linear_product_integral,
a library which
calculates the exact value of the integral of the product of two
piecewise linear functions f(x) and g(x).

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

plasma_matrix,
a library which
demonstrates how a large sparse MATLAB matrix can be written to
or read from a HarwellBoeing sparse matrix file.

plinth,
a library which
carries out tasks associated with the interpolation of data
or a function by a hierarchical set of piecewise linear functions.

plot_spmd,
a library which
demonstrates the spmd parallel programming feature, by having a number
of labs compute parts of a sine plot, which is then displayed by the
client process.

ply_display,
a program which
displays a 3D PLY graphics file;

ply_io,
a library which
reads or writes a PLY file.

ply_to_tri_surface,
a program which
reads a PLY file and extracts
the surface mesh data as a tri_surface dataset.

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

poisson_serial,
a program which
solves the Poisson equation in a rectangle,
intended as the starting point for the creation of a parallel version.

poisson_simulation,
a library which
simulates a Poisson process in which events randomly occur with an
average waiting time of Lambda.

polpak,
a library which
evaluates a variety of mathematical functions, including
Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre,
Legendre polynomials, and the Collatz sequence.

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

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

polygon_properties,
a library which
computes properties of an arbitrary polygon in the plane, defined
by a sequence of vertices, including interior angles, area, centroid,
containment of a point, convexity, diameter, distance to a point,
inradius, lattice area, nearest point in set, outradius,
uniform sampling.

polygon_triangulate,
a library which
triangulates a (possibly nonconvex) polygon in 2D,
based on a C program by Joseph ORourke;

polygonal_surface_display,
a program which
displays a surface in 3D described as a set of polygons;

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

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

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

pplane8,
a program which
interactively displays the phase plane of
an ordinary differential equation (ODE),
by John Polking.

ppma_io,
a library which
reads or writes an ASCII Portable Pixel Map (PPM) image file;

prime_parfor,
a program which
counts the number of primes between 1 and N; it runs in parallel
using MATLAB's parfor facility.

prime_plot
a program which
displays a box plot of the prime and composite numbers.

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

prime_spmd,
a program which
counts the number of primes between 1 and N;
running in parallel using MATLAB's spmd feature.

prob,
a library which
evaluates, samples, inverts, and characterizes a number of
Probability Density Functions (PDF's)
and Cumulative Density Functions (CDF's), including anglit, arcsin,
benford, birthday, bernoulli, beta_binomial, beta, binomial, bradford,
burr, cardiod, cauchy, chi, chi squared, circular, cosine, deranged,
dipole, dirichlet mixture, discrete, empirical, english sentence and
word length, error, exponential, extreme values, f, fisk,
folded normal, frechet, gamma, generalized logistic, geometric,
gompertz, gumbel, half normal, hypergeometric, inverse gaussian,
laplace, levy, logistic, log normal, log series, log uniform,
lorentz, maxwell, multinomial, nakagami, negative binomial, normal,
pareto, planck, poisson, power, quasigeometric, rayleigh, reciprocal,
runs, sech, semicircular, student t, triangle, uniform, von mises,
weibull, zipf.

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

profile,
a directory of programs which illustrate the use of
the MATLAB profile utility, which monitors the execution
of a series of MATLAB commands, and then
produces a performance profile report afterwards.

puzzles,
executable programs which
solve simple puzzles;

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

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

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

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

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

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

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

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

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

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

quad_mesh,
a library which
handles meshes of quadrilaterals over a 2D region;

quad_mesh_order1_display,
a program which
plots piecewise constant data associated
with a mesh of quadrilaterals;

quad_mesh_rcm,
a program which
computes the Reverse CuthillMcKee (RCM) reordering for nodes
in a mesh of 4node quadrilaterals.

quad_parfor,
a program which
estimates an integral using quadrature;
running in parallel using MATLAB's parfor feature.

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

quad_spmd,
a program which
estimates an integral using quadrature;
running in parallel using MATLAB's spmd feature.

quad_surface_display,
a program which
plots piecewise bilinear data associated with a quad_surface, that
is, a 3D surface defined by a quadrilateral mesh;

quad_tasks,
a program which
estimates an integral using quadrature;
running in parallel using MATLAB's task feature.

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

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

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

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

quadrature_test,
a program which
reads the definition of an M dimensional quadrature rule from
three files, applies the rule to a number of test integrals, and
prints the results.

quadrature_test_2d,
a program which
reads the definition of a 2D quadrature rule from
three files, applies the rule to a number of test integrals, and
prints the results.

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

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

quadrule,
a library which
defines quadrature rules for approximating an integral;

quadrule_fast,
a library which
rapidly defines certain quadrature rules
for approximating an integral;

quality,
a library which
measures the dispersion of pointsets in M dimensions;

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

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

random_data,
a library which
uses a random number generator (RNG) to sample points distributed
according to various probability density functions (PDF's),
spatial dimensions, and geometries, including the Mdimensional cube,
ellipsoid, simplex and sphere.

random_walk_1d_simulation,
a program which
simulates a random walk in a 1dimensional region.

random_walk_2d_avoid_simulation,
a program which
simulates a selfavoiding random walk in a 2dimensional region.

random_walk_2d_avoid_tasks,
a program which
computes many self avoiding random walks in 2D by creating a job which
defines each walk as a task, and then computes these independently
using MATLAB's Parallel Computing Toolbox task computing capability.

random_walk_2d_simulation,
a program which
simulates a random walk in a 2dimensional region.

random_walk_3d_simulation,
a program which
simulates a random walk in a 3dimensional region.

ranlib,
a library which
produces random samples from Probability Density Functions (PDF's),
including Beta, Chisquare Exponential, F, Gamma, Multivariate normal,
Noncentral chisquare, Noncentral F, Univariate normal,
random permutations, Real uniform, Binomial, Negative Binomial,
Multinomial, Poisson and Integer uniform,
by Barry Brown and James Lovato.

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

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

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

rcm,
a library which
applies the Reverse Cuthill McKee (RCM) algorithm for
reordering the nodes of a graph, and reducing the bandwidth of a
corresponding sparse matrix;

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

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

rkf45,
a library which
applies a RungeKuttaFehlberg (RKF) solver to a system of
ordinary differential equations (ODE's);

rnglib,
a library which
implements a random number generator (RNG) with splitting facilities,
allowing multiple independent streams to be computed,
by L'Ecuyer and Cote.

sammon_data,
a program which
generates six examples of M dimensional datasets for cluster analysis.

sandia_cubature,
a library which
implements quadrature rules for certain M dimensional regions
and weight functions.

sandia_rules,
a library which
produces a standard 1D Gauss quadrature rule of
Chebyshev, Gegenbauer, generalized Hermite, generalized Laguerre,
Hermite, Jacobi, Laguerre, and Legendre types.

sandia_sgmgg,
a library which
explores a generalized construction method for sparse grids.

sandia_sparse,
a library which
can produce an M dimensional sparse grid, based on a variety of 1D
quadrature rules; only isotropic grids are generated, that is,
the same rule is used in each dimension, and the same maximum order
is used in each dimension.

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

satisfy_parfor,
a program which
carries out a circuit satisfiability search; it runs in parallel
using MATLAB's parfor facility.

sde,
a library which
illustrates properties of stochastic differential equations (SODE's),
and common algorithms for their analysis,
by Desmond Higham;

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

sequence_streak_display,
a program which
displays a streak plot of a numeric sequence;

set_theory,
a library which
demonstrates MATLAB commands that implement various
set theoretic operations.

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

sgmga,
a library which
creates sparse grids based on a mixture of 1D quadrature rules,
allowing anisotropic weights for each dimension.

shallow_water_1d,
a program which
simulates the evolution of a 1D fluid governed by the
timedependent shallow water equations.

shallow_water_1d_display,
a program which
can display a solution of the shallow water equations in 1D,
generally as computed by the program shallow_water_1d.

shallow_water_2d,
a program which
simulates the evolution of a 2D fluid governed by the
timedependent shallow water equations, by Cleve Moler.

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

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

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

shoreline,
a program which
tries to identify and triangulate the 2D domain over which some
function f(x,y) is nonnegative.

shoreline2,
a program which
tries to identify and triangulate the 2D domain over which some
function f(x,y) is approximately zero.

side_by_side_display,
a program which
demonstrates how to display curves side by side in a 3D plot;
the curves might be yearly snowfall data over consecutive years,
for instance.

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

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

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

simplex_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit simplex in M dimensions.

simplex_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit simplex in M dimensions.

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

sir_simulation,
a program which
simulates the spread of a disease through a hospital room
of M by N beds, using the Susceptible/Infected/Recovered (SIR) model.

smolyak_display,
a program which
displays the exactness diagram for a 2D Smolyak sparse grid,
by displaying and summing the exactness diagrams for the
component product rules.

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

sobol,
a library which
generates elements of the Sobol M dimensional quasirandom sequence,
by Bennett Fox.

sobol_dataset,
a program which
creates a Sobol M dimensional quasirandom dataset;

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

sor,
a library which
implements a simple version of the successive overrelaxation (SOR)
method for the iteration solution of a linear system of equations.

sparse,
programs which
illustrate the use of MATLAB's sparse matrix utilities;

sparse_count,
a library which
is for the analysis and creation of sparse grids in which
a single family of 1D quadrature rules is used
for all spatial dimensions, for various growth rules.

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

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

sparse_grid_cc_dataset,
a program which
creates sparse grids based on ClenshawCurtis quadrature rules.

sparse_grid_composite,
a library which
creates sparse grids based on 1D composite rules (currently only
of order 1).

sparse_grid_gl,
a library which
creates sparse grids based on GaussLegendre rules.

sparse_grid_gl_dataset,
a program which
creates a sparse grid dataset based on GaussLegendre rules.

sparse_grid_hermite,
a library which
creates sparse grids based on GaussHermite rules.

sparse_grid_hermite_dataset,
a program which
creates a sparse grid dataset based on GaussHermite rules.

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

sparse_grid_laguerre,
a library which
creates sparse grids based on GaussLaguerre rules.

sparse_grid_laguerre_dataset,
a program which
creates a sparse grid dataset based on GaussLaguerrre rules.

sparse_grid_mixed,
a library which
creates sparse grids based a mixture of 1D factor rules.

sparse_grid_mixed_dataset,
a program which
creates a sparse grid dataset based on a mixture of 1D rules.

sparse_grid_open,
a library which
creates sparse grids based on one of the following
open 1D rules: Fejer 2, GaussPatterson, NewtonCotesOpen.

sparse_grid_open_dataset,
a program which
creates a sparse grid dataset based on one of the following
open 1D rules: Fejer 2, GaussPatterson, NewtonCotesOpen.

sparse_grid_total_poly,
a library which
investigates the efficient approximation of all polynomials
up to a given total degree using sparse grids.

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

sparse_parfor,
a library which
demonstrates how a sparse matrix can be constructed by
evaluating individual blocks in parallel with the parfor
command, and then assembled on a single processor using the
sparse() command,
by Gene Cliff.

sphere_cvt,
a program which
carries out the Centroidal Voronoi Tessellation (CVT) iteration
on the surface of the unit sphere in 3D.

sphere_delaunay,
a program which
computes the Delaunay triangulation of points
on the surface of the unit sphere in 3D.

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

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

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

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

sphere_lebedev_rule_display,
a program which
reads a file defining a Lebedev quadrature rule
on the surface of the unit sphere in 3D
and displays the point locations.

sphere_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
on the surface of the unit sphere in 3D.

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

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

sphere_stereograph_display,
a library which
computes and displays the results of several stereographic projections
between points
on the surface of the unit sphere in 3D and a plane.

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

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

sphere_voronoi,
a program which
computes the Voronoi diagram of points
on the surface of the unit sphere in 3D.

sphere_xyz_display,
a program which
reads XYZ information defining points
on the surface of the unit sphere in 3D
and displays the sphere
and the points in the MATLAB 3D graphics window.

sphere_xyzf_display,
a program which
reads XYZ information defining point coordinates,
and XYZF information defining point indices forming faces,
on the surface of the unit sphere in 3D
and displays a unit sphere, the points, and the faces,
in the MATLAB 3D graphics window.

spherical_harmonic,
a library which
evaluates spherical harmonic functions.

spinterp,
a library which
carries out piecewise multilinear
hierarchical sparse grid interpolation, quadrature and optimization,
by Andreas Klimke;
an earlier version of this software is ACM TOMS Algorithm 847.

spinterp_examples,
a library which
demonstrates some simple uses of the spinterp program, which uses
sparse grids for interpolation, optimization, and quadrature in
higher dimensions.

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

spline,
a library which
interpolates and approximates via splines;

spquad,
a library which
computes the points and weights of a sparse grid quadrature rule
for an M dimensional integral, based on the ClenshawCurtis
quadrature rule, by Greg von Winckel.

spring_ode,
a program which
shows how line printer graphics can be used to make a crude
illustration of a solution of the ordinary differential equation (ODE)
that describes the motion of a weight attached to a spring.

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

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

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

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

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

square_hex_grid,
a library which
generates a hexagonal grid of points
over the interior of a square in 2D.

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

square_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit square in 2D.

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

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

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

st_to_hb,
a program which
converts a sparse matrix file from the Sparse Triplet (ST) format to
Harwell Boeing (HB) format;

st_to_mm,
a program which
converts a sparse matrix file from Sparse Triplet (ST) format
to Matrix Market (MM) format;

st_to_msm,
a program which
reads a Sparse Triplet (ST) file
and creates a corresponding MATLAB Sparse Matrix.

stla_display,
a program which
displays an ASCII stereolithography (STL) 3D graphics file;

stla_io,
a library which
reads and writes an ASCII stereolithography (STL) 3D graphics file;

stla_to_tri_surface,
a program which
reads an ASCII stereolithography (STL) 3D graphics file and extracts
the surface mesh data as a tri_surface dataset.

stla_to_tri_surface_fast,
a program which
is a faster version of stla_to_tri_surface.

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

stochastic_gradient_nd_noise,
a program which
solves an optimization problem involving a functional over a system
with stochastic noise.

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

stochastic_rk,
a library which
applies a RungeKutta (RK) scheme to approximate the solution of a
stochastic ordinary differential equation (SODE).

string_simulation,
a program which
simulates the behavior of a vibrating string
by solving the corresponding initial boundary value problem (IBVP).

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

subpak,
a library which
includes many utility routines;

subset,
a library which
enumerates, generates, randomizes, ranks and unranks combinatorial
objects including combinations, compositions, Gray codes, index sets,
partitions, permutations, polynomials, subsets, and Young tables.
Backtracking routines are included to solve some combinatorial problems.

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

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

subset_sum_tasks,
a program which
solves a subset sum problem by exhaustive search,
solving the problem in parallel by subdividing the search range
among separate tasks.

sudoku,
a library which
handles Sudoku puzzles;

svd_basis,
a program which
applies the singular value decomposition (SVD)
to a collection of data vectors, extracting dominant modes;

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

svd_fingerprint,
a program which
reads a file containing a fingerprint image and
uses the singular value decomposition (SVD) to
compute and display a series of low rank approximations to the image.

svd_snowfall,
a program which
reads a file containing historical snowfall data and
analyzes the data with the Singular Value Decomposition (SVD).

svd_truncated,
a program which
demonstrates the computation of the reduced or truncated
Singular Value Decomposition (SVD) that is useful for cases when
one dimension of the matrix is much smaller than the other.

table_delaunay,
a program which
reads a table file of N
points in 2 dimensions and writes out the Delaunay triangulation;

table_io,
a library which
reads and writes a simple table file;

table_latinize,
a program which
reads a table file
of N points in M dimensions, adjusts to form a Latin hypercube;

table_quality,
a program which
reads a table file of N points in M dimensions, in the unit
hypercube, and estimates the quality of the point dispersion;

table_voronoi,
a program which
reads a table file
of N points in 2 dimensions, calls geompack to get Delaunay
triangulation information, and then determines
and prints the Voronoi diagram information;

task_division,
a library which
implements a simple procedure for smoothly dividing T tasks among
P processors; such a method can be useful in MPI and other parallel
environments, particularly when T is not an exact multiple of P,
and when the processors can be indexed starting from 0 or from 1.

tcell_flow_display,
a library which
displays a single velocity field solution for the T cell;

tcell_flow_movie,
a library which
creates an animation of the velocity solutions for the T cell;

tcell_rom,
a program which
solves a reduced order model of a
finite element solution of the Navier Stokes equations in
a TCell flow region,
by HyungChun Lee.

tec_io,
a library which
reads or writes a tecplot ASCII file
containing finite element information;

tec_to_fem,
a program which
reads a tecplot ASCII file, extracts the information, and writes
a corresponding set of FEM files,
three text files describing the finite element model;

tec_to_vtk,
a program which
reads a particular tecplot ASCII file containing 80 frames of the
movement of a red blood cell, and creates 80 separate VTK
unstructured grid files, which can then be read by paraview
and animated.

templates,
a library which
carries out the iterative solution of linear systems;

tensor_grid_display,
a program which
can display the grid points of a tensor product rule used for
interpolation or quadrature, in 1D, 2D or 3D.

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

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

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

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

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

test_int_margin,
a library which
implements test functions for the task of locating the region
for which margin <= f(x), and estimating an integral over that region.

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

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

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

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

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

test_mat,
a library which
defines test matrices for which some of the determinant, eigenvalues,
inverse, null vectors, P*L*U factorization or linear system solution
are already known, including the Vandermonde and Wathen matrix.

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

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

test_navier_stokes_2d,
a library which
defines test problems for the Navier Stokes equations in 2D,
for the flow of an incompressible fluid.
Graphics output files are created using Matlab graphics.

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

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

test_ode,
a library which
defines some sample ordinary differential equations (ODE's) for
testing initial value problem solvers;

test_opt,
a library which
implements test problems for optimization
of a scalar function of several variables.

test_opt_con,
a library which
defines test problems for the minimization of a scalar function of
several variables, with the search constrained to lie within a
specified hyperrectangle.

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

test_triangulation,
a library which
defines test problems for triangulation;

test_values,
a library which
returns selected values of some special functions;

test_zero,
a library which
defines some functions f(x) suitable for testing
software that solves f(x)=0;

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

tet_mesh,
a library which
works with tetrahedral meshes in 3D;

tet_mesh_boundary,
a program which
reads information defining
a tetrahedral mesh of points in 3D, and determines the triangular
faces that form the boundary of the mesh; it writes out files
containing the nodes and elements defining this TRI_SURFACE data.

tet_mesh_display,
a program which
reads data defining a (small) tetrahedral mesh,
and displays a wireframe image of the nodes and edges;

tet_mesh_l2q,
a program which
reads information about a 4node (linear) tetrahedral mesh and
creates data defining a corresponding 10node (quadratic)
tetrahedral mesh;

tet_mesh_q2l,
a program which
reads information about a 10node (quadratic) tet mesh and
creates data defining a corresponding 4node (linear)
tetrahedral mesh;

tet_mesh_quad,
a program which
estimates the integral of a function over a region defined by
a tetrahedral mesh.

tet_mesh_quality,
a program which
computes various quality measures for a
tetrahedral mesh of a set of nodes in 3D;

tet_mesh_rcm,
a program which
computes the Reverse Cuthill McKee (RCM) reordering for the nodes
of a tetrahedral mesh that uses 4node or 10node tetrahedrons;

tet_mesh_refine,
a program which
refines a tetrahedral mesh;

tet_mesh_tet_neighbors,
a program which
reads information about a tetrahedral mesh and writes out a list of
the tetrahedrons adjacent to a given tetrahedron;

tet_mesh_to_gmsh,
a program which
reads information defining a tetrahedral mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding Gmsh mesh file.

tet_mesh_to_xml,
a program which
reads information defining a tetrahedral mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding DOLFIN XML mesh file.

tet_mesh_volumes,
a program which
computes the volume of each tetrahedron in a tetrahedral mesh;

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

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

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

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

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

tetrahedron_keast_rule,
a library which
defines ten quadrature rules, of degree of exactness 0 through 8,
over the interior of the tetrahedron in 3D.

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

tetrahedron_ncc_rule,
a library which
defines NewtonCotes closed (NCC) quadrature rules
over the interior of a tetrahedron in 3D.

tetrahedron_nco_rule,
a library which
defines NewtonCotes open (NCO) quadrature rules
over the interior of a tetrahedron in 3D.

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

tetrahedron_slice_animate,
a program which
is given a tetrahedron and a vector, and displays an evenly spaced
sequence of planes that intersect the tetrahedron
and are normal to the vector.

tetrahedron_slice_display,
a program which
determines the intersection between a tetrahedron and a plane and
displays the result.

theodolite,
a library which
presents the problem of estimating the location of an event
which occurs in the sky, atmosphere, or the heavens, using nothing
but the reported angle of observation from several stations;
this is an example
in which a nonlinear least squares solver is needed.

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

threed,
a library which
contains functions useful for 3D finite element calculations,
by Jeff Borggaard.

threed_to_tecplot,
a program which
accepts computational data from a 3D finite element fluid flow program
and writes it to a tecplot ASCII graphics file.

threed_to_vtk,
a program which
accepts computational data from a 3D finite element fluid flow program
and writes it to a vtk legacy file for postprocessing by paraview.

threed_to_vtu,
a program which
accepts computational data from a 3D finite element fluid flow program
and writes it to a vtk unstructured grid file for postprocessing
by the paraview visualization program.

threed_to_vu,
a program which
accepts computational data from a 3D finite element fluid flow program
and writes it to a file for postprocessing by the vu visualization
program.

tic_toc,
programs which
demonstrate some features of MATLAB's tic and toc functions for
wallclock timing.

timer,
programs which
illustrate how to time a piece of code;

timestamp,
a library which
prints the current YMDHMS date as a timestamp;

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

toms097,
a library which
computes the distance between all pairs of nodes in a directed graph
with weighted edges, using Floyd's algorithm.
This is a version of ACM TOMS algorithm 97.

toms178,
a library which
seeks the minimizer of a scalar function of several variables
using the HookeJeeves method, by Arthur Kaupe.
This is a version of ACM TOMS algorithm 178.

toms179,
a library which
calculates the incomplete Beta ratio,
by Oliver Ludwig.
This is a version of ACM TOMS algorithm 179.

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

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

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

toms462,
a library which
evaluates the upper right tail of the bivariate normal distribution;
that is, the probability that normal variables X and Y with
correlation R will satisfy H <= X and K <= Y.
This is a version of ACM TOMS algorithm 462.

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

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

toms847,
a library which
carries out piecewise multilinear
hierarchical sparse grid interpolation, commonly known as
SPINTERP, by Andreas Klimke.
This is a version of ACM TOMS Algorithm 847.

toms866,
a library which
contains version 2.2 of the
Incompressible Flow Iterative Solution Software (IFISS),
by Howard Elman, Alison Ramage, David Silvester.
This is a version of ACM TOMS algorithm 866.

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

traffic_simulation,
a program which
simulates the cars waiting to get through a traffic light.

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

tri_surface_display,
a program which
displays a triangulated surface;

tri_surface_io,
a library which
reads and writes the 3D graphics information
in a tri_surface file;

tri_surface_to_obj,
a program which
reads a tri_surface dataset and extracts
the surface mesh data as an OBJ file.

tri_surface_to_ply,
a program which
converts a tri_surface dataset
to a dataset suitable for storage as a PLY file.

tri_surface_to_stla,
a program which
reads a tri_surface dataset and extracts
the surface mesh data as an ASCII stereolithography (STL) file.

triangle_display,
a program which
displays the nodes and elements of a triangulation
on the MATLAB graphics screen, assuming the data has been
stored in NODE and ELE files by the triangle program.

triangle_dunavant_rule,
a library which
defines Dunavant quadrature rules
over the interior of a triangle in 2D.

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

triangle_fekete_rule,
a library which
sets up one of seven Fekete rules
for interpolation or quadrature
over the interior of a triangle in 2D.

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

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

triangle_histogram,
a program which
computes histograms of data
over the interior of a unit triangle in 2D.

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

triangle_lyness_rule,
a library which
returns LynessJespersen quadrature rules
over the interior of a triangle in 2D;

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

triangle_ncc_rule,
a library which
defines NewtonCotes closed (NCC) quadrature rules
over the interior of a triangle in 2D.

triangle_nco_rule,
a library which
defines NewtonCotes open (NCO) quadrature rules
over the interior of a triangle in 2D.

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

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

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

triangle_wandzura_rule,
a library which
returns quadrature rules of exactness 5, 10, 15, 20, 25 and 30
over the interior of the triangle in 2D.

triangulate,
a program which
triangulates a polygonal region,
based on a C program by Joseph ORourke;

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

triangulation_boundary_edges,
a program which
reads data defining a triangulation, determines which edges
lie on the boundary, organizes them into connected components,
and writes this information to a file.

triangulation_boundary_nodes,
a program which
reads data defining a triangulation, determines which nodes
lie on the boundary, and writes their coordinates to a file;

triangulation_corner,
a program which
modifies triangulations in which one or more triangles have more
than one boundary edge.

triangulation_delaunay_discrepancy,
a program which
measures the amount by which a triangulation fails
the local Delaunay test;

triangulation_display,
a program which
displays the nodes and elements of a triangulation on the MATLAB
graphics screen;

triangulation_histogram,
a program which
computes histograms of data over a triangulation.

triangulation_l2q,
a program which
reads information about a 3node (linear) triangulation and creates
data defining a corresponding 6node (quadratic) triangulation;

triangulation_mask,
a program which
reads a triangulation and calls
a usersupplied routine to consider each triangle for deletion;

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

triangulation_order1_display,
a program which
plots piecewise constant data associated with a triangulation;

triangulation_order3_contour,
a program which
plots color contours of a scalar
quantity evaluated at the nodes of a 3node triangle triangulation.

triangulation_order6_contour,
a program which
plots color contours of a scalar
quantity evaluated at the nodes of a 6node triangle triangulation.

triangulation_orient,
a program which
ensures that the triangles in
an order 3 or order 6 triangulation have positive orientation;

triangulation_plot,
a program which
plots the nodes and elements of a triangulation as a PostScript file;

triangulation_q2l,
a program which
reads information about a 6node triangulation and creates data
defining a corresponding 3node triangulation;

triangulation_quad,
a program which
reads information about a triangulation and the value of a function at
the nodes and estimates the integral of the function
over the triangulated region.

triangulation_quality,
a program which
reads information about a triangulation and computes various
quality measures;

triangulation_rcm,
a program which
computes the Reverse Cuthill McKee (RCM) reordering for the nodes
of a triangulation that uses 3node or 6node triangles;

triangulation_refine,
a program which
refines a triangulation;

triangulation_refine_local,
a program which
refines a triangulation locally; a single triangular element is
replaced by four smaller triangles, and neighboring information
is updated.

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

triangulation_t3_to_t4,
a program which
reads information about a 3node T3 triangulation and creates data
defining a corresponding 4node T4 triangulation;

triangulation_to_gmsh,
a program which
reads information defining a triangulation,
namely a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding Gmsh mesh file.

triangulation_to_xml,
a program which
reads a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding DOLFIN XML mesh file.

triangulation_triangle_neighbors,
a program which
reads data defining a triangulation, finds the three neighbor
triangles for each triangle, and writes them to a file;

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

truncated_normal,
a library which
works with the truncated normal distribution over [A,B], or
[A,+oo) or (oo,B], returning the probability density function (PDF),
the cumulative density function (CDF), the inverse CDF, the mean,
the variance, and sample values.

truncated_normal_rule,
a program which
computes a quadrature rule for a
normal probability density function (PDF), sometimes called a
Gaussian distribution, that has been truncated to [A,+oo), (oo,B]
or [A,B].

truncated_normal_sparse_grid,
a program which
computes a sparse grid based on a normal probability density function
(PDF), also called a Gaussian distribution, that has been
truncated to [A,+oo), (oo,B] or [A,B].

tsearch,
a library which
compares several replacements for MATLAB's obsolete tsearch() function,
which searched a Delaunay triangulation to find the triangle
that encloses a given point.

tsg,
programs which
demonstrate the use of the TasmanianSparseGrid (TSG) package,
which implements routines for working with sparse grids,
to efficiently estimate integrals or compute interpolants of
scalar functions of multidimensional arguments,
by Miroslav Stoyanov.

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

tumor,
a program which
demonstrates a model of tumor growth;

two_body_simulation,
a program which
simulates the behavior of two bodies, constrained to lie in a plane,
moving under the influence of gravity, with one body much more massive
than the other.

twod,
a library which
contains functions useful for calculations in a 2D geometry
with the finite element method (FEM),
by Jeff Borggaard.

twod_plotc,
a program which
makes a color contour plot of scalar data defined on a 2D finite
element method (FEM) mesh.

twod_to_vtk,
a program which
accepts computational data from a 2D finite element method (FEM)
fluid flow program and writes it to a vtk legacy file for
postprocessing by paraview.

twod_to_vtu,
a program which
accepts computational data from a 2D finite element method (FEM)
fluid flow program and writes it to a vtk unstructured grid file
for postprocessing by paraview.

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

uniform,
a library which
implements a uniform random number generator (RNG) for a variety
of arithmetic types.

uniform_dataset,
a program which
creates N elements of an M dimensional sequence
generated by a uniform random number generator (RNG)
and writes them to a file.

van_der_corput,
a library which
computes elements of the van der Corput
1dimensional quasirandom sequence;

van_der_corput_dataset,
a program which
creates N elements of a van der Corput sequence and
writes them to a file.

vandermonde,
a library which
implements the BjorkPereyra algorithm for accurate solution of
linear systems involving the Vandermonde matrix.

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

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

vandermonde_interp_1d,
a library which
finds a polynomial interpolant to data y(x) of a 1D argument
by solving a linear system for the polynomial coefficients
involving the Vandermonde matrix.

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

voronoi_display,
a program which
computes the exact Voronoi diagram using geompack, and displays it.

voronoi_mountains,
a program which
makes a mountain plot of a Voronoi
diagram, that is, a surface plot of the distance from each
point to its nearest Voronoi generator.

voronoi_neighbors,
a program which
is given a set of points in the plane and determines the
Voronoi adjacency structure, that is, which points share an
edge of the Voronoi diagram.

voronoi_plot,
a program which
estimates the Voronoi neighborhoods of points using sampling,
and with a distance based on the L1, L2, LInfinity
or arbitrary LP norms;

vpa,
programs which
use the Variable Precision Arithmetic (VPA) feature of the
Symbolic Math Toolbox to compute arbitrary precision quantities.

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

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

wavelet,
a library which
does some simple wavelet calculations;

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

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

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

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

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

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

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

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

xy_display,
a program which
reads an XY file containing
the coordinates of points in 2D,
and displays an image in the MATLAB graphics window;

xy_io,
a library which
reads and writes XY files.

xyf_display,
a program which
reads XYF information defining points and faces in 2D,
and displays an image in the MATLAB graphics window.

xyl_display,
a program which
reads XYL information defining points and lines in 2D,
and displays an image in the MATLAB graphics window.

xyz_display,
a program which
reads XYZ information defining points in 3D,
and displays an image in the MATLAB 3D graphics window.

xyz_io,
a library which
reads and writes XYZ files.

xyzf_display,
a program which
reads XYZF information defining points and faces in 3D,
and displays an image in the MATLAB 3D graphics window.

xyzl_display,
a program which
reads XYZL information defining points and lines in 3D,
and displays an image in the MATLAB 3D graphics window.

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

ziggurat,
a library which
implements uniform, normal and exponential
random number generators (RNG's) using the ziggurat method,
by Marsaglia and Tsang.
You can go up one level to
the main web page.
Last revised on 31 August 2014.