C++ Source Codes
-
albany_test,
C++ programs which
demonstrate the usage of the ALBANY program, which
allows the implementation of finite element PDE solvers for a
variety of fundamental research applications, including LCM
(Laboratory for Computational Mechanics), QCAD (Quantum Computer
Aided Design) and FELIX (Finite Element for Land Ice eXperiments).
-
allocatable_array,
a program which
demonstrates how a C++ function can declare a pointer to an array,
pass it to a function, which can then allocate it and fill it with
data, and then return the allocated and initialized array to the
calling function through the argument list.
-
alpert_rule,
a library which
can set up an Alpert quadrature rule for functions which are
regular, log(x) singular, or 1/sqrt(x) singular.
-
anagram,
a program which
determines anagrams of a string,
by James Cherry;
-
analemma,
a program which
evaluates the equation of time, a formula for the difference between
the uniform 24 hour day and the actual position of the sun,
creating data files that can be plotted with gnuplot,
based on a C program by Brian Tung.
-
ann,
a library which
computes approximate nearest neighbors,
by David Mount and Sunil Arya.
-
ann_test,
a program which
uses ann() to approximate the nearest
neighbors of a set of points stored in a file,
by David Mount, Sunil Arya;
-
ann_to_fig,
a program which
plots the search tree used
by ann() while seeking the
approximate nearest neighbors of a set of points,
by David Mount, Sunil Arya;
-
annulus_monte_carlo,
a library which
uses the Monte Carlo method to estimate the integral of a function
over the interior of a circular annulus in 2D.
-
annulus_rule,
a library which
computes a quadrature rule for estimating integrals of a function
over the interior of a circular annulus in 2D.
-
args,
a program which
reports the command line arguments with
which it was invoked;
-
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 Nelder-Mead 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 K-means 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 Chi-square 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 C 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.
-
atbash,
a library which
applies the Atbash substitution cipher to a string of text.
-
backtrack_binary_rc,
a library which
carries out a backtrack search for a set of binary decisions, using
reverse communication.
-
ball_grid,
a library which
computes grid points inside a 3D ball.
-
ball_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit ball in 3D.
-
ball_monte_carlo,
a library which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the unit ball in 3D;
-
bank,
a library which
computes the check digit associated with a US Bank Routing Number
check digit, or reports whether a 9-digit code is actually valid.
-
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.
-
bellman_ford,
a library which
implements the Bellman-Ford algorithm for finding the shortest distance
from a given node to all other nodes in a directed graph whose
edges have been assigned real-valued lengths.
-
bernstein_polynomial,
a library which
evaluates the Bernstein polynomials;
-
besselj,
a library which
evaluates Bessel J functions of noninteger order;
-
beta_nc,
a library which
evaluates the cumulative density function (CDF) of the
noncentral Beta distribution;
-
bicycle_lock,
a library which
simulates the process of determining the secret combination of
a bicycle lock, an integer between 000 and 999.
-
bins,
a library which
handles geometric data partially sorted into bins;
-
bisection_integer,
a library which
seeks an integer solution to the equation F(X)=0,
using bisection within a user-supplied change of sign interval [A,B].
-
bisection_rc,
a library which
seeks a solution to the equation F(X)=0 using bisection
within a user-supplied change of sign interval [A,B].
The procedure is written using reverse communication.
-
bits_to_ui,
a program which
reads a text file of bits and writes a binary file in which
groups of 32 bits have been interpreted as an unsigned integer;
-
black_scholes,
a library which
implements some simple approaches to
the Black-Scholes 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.
-
blas_osx,
a program which demonstrates how to access the BLAS library
on a Macintosh that is running the OSX operating system.
-
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 (vector-vector operations),
for single and double precision,
and for real and complex arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
-
blas1_c,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
using single precision complex arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
-
blas1_d,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
using double precision real arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
-
blas1_s,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
using single precision real arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
-
blas1_z,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms (BLAS),
using double precision complex arithmetic,
by Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh.
-
blas2_d,
a library which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrix-vector operations,
using double precision real arithmetic.
-
blas2_s,
a library which
constitutes the Level 2 Basic Linear Algebra Subprograms (BLAS),
for matrix-vector operations,
using single precision real arithmetic.
-
blas3_d,
a library which
constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS)
for matrix-matrix operations,
using double precision arithmetic;
-
blas3_s,
a library which
constitutes the Level 3 Basic Linear Algebra Subprograms (BLAS)
for matrix-matrix operations,
using single precision arithmetic;
-
blend,
a library which
uses transfinite interpolation to fill in
data within a square or a cube based on boundary values;
-
bmp_io,
a library which
reads and writes graphics information stored
in a Microsoft BMP file;
-
bmp_to_ppma,
a program which
converts a Microsoft BMP file
to an ASCII Portable Pixel Map (PPM) file;
-
bmp_to_ppmb,
a program which
converts a Microsoft BMP file
to a binary Portable Pixel Map (PPM) file;
-
boost_test,
programs which
illustrate the use of some of the Boost libraries;
-
box_behnken,
a library which
computes a Box-Behnken design,
that is, a set of arguments to sample the behavior
of a function of multiple parameters;
-
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.
The C++ version includes some customizations by John Denker.
-
brownian_motion_simulation,
a library which
simulates Brownian motion in an M-dimensional region,
creating graphics files for processing by gnuplot.
-
burgers_solution,
a library which
evaluates exact solutions of
the time-dependent 1D viscous Burgers equation.
-
bvec,
a library which
demonstrates how signed integers can be stored as
binary vectors, and arithmetic can be performed on them.
-
c++_calls_c,
programs which
illustrate a C++ program calling a C function.
-
c++_calls_f77,
programs which
illustrate a C++ program calling a FORTRAN77 subroutine.
-
c++_calls_f90,
programs which
illustrate a C++ program calling a FORTRAN90 subroutine.
-
c++_condor,
programs which
illustrate how a C++ program can be run in batch mode
using the condor queueing system.
-
c4_complex_lib,
a C++ class for float complex (C4) numbers;
-
c4lib,
a library which
implements a basic level of single precision complex (C4) arithmetic.
-
c8_complex_lib,
a C++ class for double precision complex (C8) numbers;
-
c8lib,
a library which
implements certain elementary functions for
double precision complex (C8) variables;
-
caesar,
a library which
can apply a Caesar Shift Cipher to a string of text.
-
calendar_rd,
a program which computes the representation of a given date in a
number of calendrical systems,
by Edward Reingold and Nachum Dershowitz.
-
calpak,
a library which
makes various calendar calculations;
-
catalog,
a program which
extracts routine definition lines
from a marked-up C, C++, FORTRAN77 or FORTRAN90 file;
-
cauchy_principal_value,
a library which
uses Gauss-Legendre quadrature to estimate the Cauchy Principal Value
(CPV) of certain singular integrals.
-
caustic_opengl,
a program which computes a caustic curve and displays it using OpenGL.
-
cblas
a program which
illustrates the use of the CBLAS, a C translation of the FORTRAN77
Basic Linear Algebra Subprograms (BLAS) which are used by CLAPACK,
the C translation of the FORTRAN77 LAPACK linear algebra library.
-
cc_io
a library which
reads and writes sparse linear systems
stored in the Compressed Column (CC) format.
-
cc_to_st
a library which
converts a sparse matrix from compressed column (CC) to
sparse triplet (ST) format.
-
ccn_rule,
a program which
defines a nested Clenshaw Curtis quadrature rule.
-
ccvt_box,
a program which
carries out a Centroidal Voronoi Tessellation (CVT) calculation
constrained to a box region,
with points projected to the boundary;
-
cdflib,
a library which
evaluates the cumulative density function (CDF), inverse CDF,
and certain other inverse functions, for distributions including
beta, binomial, chi-square, noncentral chi-square, F, noncentral F,
gamma, negative binomial, normal, Poisson, and students T,
by Barry Brown, James Lovato, Kathy Russell.
-
cell,
a library which
defines a cell array, a generalization of an array which
can compactly store and retrieve vector or matrix data of
varying size, such as the rows of a triangular matrix.
-
cellular_automaton,
a program which
demonstrates the 1D Cellular Automaton known as rule #30.
-
cg,
a library which
implements a simple version of the conjugate gradient (CG) method
for solving a system of linear equations of the form A*x=b,
suitable for situations in which the matrix A is positive definite
(only real, positive eigenvalues) and symmetric.
-
cg_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).
-
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 Gauss-Chebyshev type 1 quadrature rule
of given order.
-
chebyshev2_rule,
a program which
computes and writes out a Gauss-Chebyshev type 2 quadrature rule
of given order.
-
chrpak,
a library which
can manipulate characters and strings;
-
circle_arc_grid,
a program which
computes grid points along a circular arc.
-
circle_integrals,
a library which
returns the exact value of the integral of any monomial
over the circumference of the unit circle in 2D.
-
circle_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
along the circumference of the unit circle in 2D;
-
circle_rule,
a library which
computes quadrature rules for the unit circle in 2D, that is, the
circumference of the circle of radius 1 and center (0,0).
-
circle_segment,
a library which
carries out computations associated with a circle segment, including
height, angle, area, centroid, sampling, and quadrature,
creating some graphics images using gnuplot.
-
cities,
a library which
works with city-to-city distance matrices;
-
clapack_test,
C++ programs which
illustrate the use of CLAPACK,
a translation of the FORTRAN77 BLAS and LAPACK
linear algebra libraries, including single and double precision,
real and complex arithmetic.
-
clausen,
a library which
evaluates a Chebyshev interpolant to the Clausen function Cl2(x).
-
clenshaw_curtis_rule,
a program which
implements a Clenshaw Curtis quadrature rule;
-
cnf_io,
a library which
reads or writes Conjunctive Normal Form (CNF) data files,
used to store boolean formulas.
-
collatz_recursive,
a library which
demonstrates recursive programming by considering
the simple Collatz 3n+1 problem.
-
colored_noise,
a library which
generates samples of noise obeying a 1/f^alpha power law.
-
combination_lock,
a program which
simulates the process of determining the secret combination of a lock.
-
combo,
a library which
includes routines for ranking, unranking, enumerating and
randomly selecting balanced sequences, cycles, graphs, Gray codes,
subsets, partitions, permutations, restricted growth functions,
Pruefer codes and trees.
-
communicator_mpi,
a program which
creates new communicators involving a subset of initial
set of MPI processes in the default communicator MPI_COMM_WORLD.
-
compass_search,
a library which
seeks the minimizer of a scalar function of several variables
using compass search,
a direct search algorithm that does not use derivatives.
-
complex_numbers,
a program which
demonstrates some simple features involved in the use of
complex numbers in C programming.
-
condition,
a library which
implements methods of computing or estimating
the condition number of a matrix.
-
continued_fraction
a library which
implements some simple algorithms for dealing with simple and
generalized continued fractions.
-
cordic,
a library which
computes a few special functions using the CORDIC algorithm.
-
correlation,
a library which
contains examples of statistical correlation functions.
-
cosine_transform,
a library which
demonstrates some simple properties of the discrete cosine transform (DCT).
-
cpp,
programs which
illustrate some features of the C++ language;
-
cpp_arrays,
programs which
illustrate the use of vectors, matrices and tensors.
-
cpp_files,
programs which
illustrate the use of files.
-
cpp_intrinsics,
a program which
illustrates the use of intrinsic functions supplied by C++.
-
cpp_random,
programs which
illustrate the use of the C++ random number generator (RNG) functions.
-
cr2crlf,
a program which
converts carriage returns to carriage returns + linefeeds in a file;
-
cr2lf,
a program which
converts carriage returns to linefeeds in a file;
-
crc,
a library which
computes the cyclic redundancy checksum (CRC) as used by the
PNG data format.
-
crrm,
a program which
removes carriage returns from a file;
-
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.
-
cuda_loop,
a library which
shows how, in a CUDA program, the user's choice of block and
thread factors determines the allocation of tasks to processors.
-
cvt,
a library which
computes an N point CVT Centroidal Voronoi Tessellation (CVT)
in M dimensions;
-
cvt_dataset,
a program which
creates a Centroidal Voronoi Tessellation (CVT) dataset;
-
cycle_brent,
a library which
carries out an iterated function evaluation 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;
-
decomment,
a program which
removes from a file every line
that begins with "#" (a common convention for indicating comments);
-
delaunay_tree_2d,
a program which
computes the Delaunay triangulation of a 2D dataset,
by Olivier Devillers.
-
diaphony,
a program which
reads a file of N points in M dimensions and computes its diaphony,
a measure of point dispersion.
-
differ,
determines the finite difference coefficients necessary in order to
combine function values at known locations to compute an approximation
of given accuracy to a derivative of a given order.
-
dijkstra,
a library which
implements a simple version of Dijkstra's minimum distance algorithm
for graphs.
-
dijkstra_openmp,
a program which
uses OpenMP to parallelize a simple example of Dijkstra's
minimum distance algorithm for graphs.
-
disk_grid,
a library which
computes grid points within the interior of
a disk of user specified radius and center in 2D,
using GNUPLOT to create an image of the grid.
-
disk_monte_carlo,
a library which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the general disk in 2D;
-
disk_rule,
a library which
computes quadrature rules for the general disk in 2D.
-
disk01_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit disk in 2D.
-
disk01_monte_carlo,
a library which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the unit disk in 2D;
-
disk01_quarter_monte_carlo,
a library which
applies a Monte Carlo method to estimate integrals of a function
over the interior of the unit quarter disk in 2D;
-
disk01_rule,
a library which
computes quadrature rules for the unit disk in 2D, that is, the
interior of the circle of radius 1 and center (0,0).
-
dislin_test,
C++ programs which
illustrate the use of dislin, a scientific graphics package,
by Helmut Michels.
-
divdif,
a library which
uses divided differences to compute the polynomial interpolant
to a given set of data.
-
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.
-
dream,
a program which
implements the DREAM algorithm for accelerating
Markov Chain Monte Carlo (MCMC) convergence using differential
evolution,
using five user functions to define the problem, by Guannan Zhang.
-
duel_simulation,
a program which
simulates N repetitions of a duel between two players, each of
whom has a known firing accuracy.
-
edge,
a library which
defines some test functions in 1D, 2D and 3D
for the detection of edges or discontinuities,
and using gnuplot to display the curves or surfaces.
-
eispack,
a library which
carries out eigenvalue computations. It includes a function to
compute the singular value decomposition (SVD) of a
rectangular matrix. This library was superseded by LAPACK;
-
ellipse_grid,
a library which
computes grid 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.
-
elliptic_integral,
a library which
evaluates complete elliptic integrals of first, second and third kind,
using Carlson's elliptic integral functions.
-
exactness,
a library which
investigates the exactness of quadrature rules that estimate the
integral of a function with a density, such as 1, exp(-x) or
exp(-x^2), over an interval such as [-1,+1], [0,+oo) or (-oo,+oo).
-
fair_dice_simulation,
a program which
simulates N tosses of 2 dice,
creating graphics files for processing by gnuplot.
-
fastgl,
a library which
carries out the rapid computation of the Kth value and weight of
an N point Gauss-Legendre quadrature rule,
by Ignace Bogaert.
-
faure,
a library which
computes elements of the Faure
M-dimensional Quasi Mont Carlo (QMC) sequence;
-
faure_dataset,
a program which
creates a Faure Quasi Mont Carlo (QMC) dataset;
-
fd_predator_prey,
a program which
solves a pair of predator prey
ordinary differential equations (ODE's)
using the finite difference method (FDM).
-
fd1d_advection_diffusion_steady,
a program which
applies the finite difference method (FDM) to solve the
steady advection diffusion equation v*ux-k*uxx=0 in
one spatial dimension, with constant velocity v and diffusivity k,
writing graphics files for processing by gnuplot.
-
fd1d_advection_ftcs,
a program which
applies the finite difference method (FDM) to solve the time-dependent
advection equation ut = - c * ux in one spatial dimension, with
a constant velocity, using the forward time centered space (FTCS)
method, writing graphics files for processing by gnuplot.
-
fd1d_advection_lax,
a program which
applies the finite difference method (FDM) to solve the time-dependent
advection equation ut = - c * ux in one spatial dimension, with
a constant velocity, using the Lax method to approximate the
time derivative, writing graphics files for processing by gnuplot.
-
fd1d_advection_lax_wendroff,
a program which
applies the finite difference method (FDM) to solve the time-dependent
advection equation ut = - c * ux in one spatial dimension, with
a constant velocity, using the Lax-Wendroff method to approximate the
time derivative,
writing graphics files for processing by gnuplot.
-
fd1d_burgers_lax,
a program which
applies the finite difference method (FDM) and the Lax Wendroff method
to solve the non-viscous time-dependent 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 non-viscous time-dependent Burgers equation in
one spatial dimension.
-
fd1d_bvp,
a program which
applies the finite difference method (FDM)
to a two point boundary value problem (BVP) in one spatial dimension.
-
fd1d_heat_explicit,
a library which
uses the finite difference method (FDM), with explicit time stepping,
to solve the time dependent 1D heat equation;
-
fd1d_heat_implicit,
a program which
implements a finite difference method (FDM), implicit in time, of the
time dependent 1D heat equation;
-
fd1d_heat_steady,
a program which
implements a finite difference method (FDM) for the steady
(time independent) 1D heat equation;
-
fd1d_wave,
a program which
applies the finite difference method (FDM) to solve the time-dependent
wave equation utt = c * uxx in one spatial dimension.
-
fd2d_heat_steady,
a program which
implements a finite difference method (FDM) for the steady
(time independent) 2D heat equation;
-
fem_basis,
a library which
can define and evaluate 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_io,
a library which
reads or writes FEM files,
which describe the nodes, elements, and function values
associated with a finite element method (FEM) model;
-
fem_to_gmsh,
a program which
reads a pair of FEM files defining node coordinates and elements,
of a 1D, 2D or 3D mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a Gmsh mesh file.
-
fem_to_medit,
a program which
reads a pair of FEM files defining node coordinates and elements,
of a 2D mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding MEDIT mesh file.
-
fem_to_mesh,
a program which
reads a set of FEM files defining the node coordinates, boundary nodes,
and elements of a finite element mesh, and rewrites the data as a MESH file.
-
fem_to_triangle,
a program which
reads FEM files defining a 2D mesh of triangles, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding pair of node
and element files for use by Jonathan Shewchuk's triangle program.
-
fem_to_xml,
reads a pair of FEM files defining node coordinates and elements,
of a 1D, 2D or 3D mesh, namely
a file of node coordinates and a file of elements defined by
node indices, and creates a corresponding XML file for input
to DOLFIN or FENICS.
-
fem1d,
a program which
applies the finite element method (FEM),
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_heat_steady,
a program which
implements the finite element method (FEM) for the steady
(time independent) 1D heat equation;
-
fem1d_lagrange,
a library which
sets up the matrices and vectors associated with the finite element
method (FEM) solution of a boundary value problem (BVP) -u''+u=f(x),
using Lagrange basis polynomials.
-
fem1d_nonlinear,
a program which
applies the finite element method (FEM),
with piecewise linear basis functions, to a nonlinear
two point boundary value problem (BVP) in 1D;
-
fem1d_pack,
a library which
contains utilities for 1D finite element method (FEM) calculations.
-
fem1d_pmethod,
a program which
applies the p-method 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.
-
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 solve the time-dependent heat equation in an
arbitrary triangulated region in 2D;
-
fem2d_heat_rectangle,
a program which
applies the finite element method (FEM)
to solve the time dependent heat equation on a square in 2D;
-
fem2d_heat_square,
a library which
defines the geometry of a square region,
as well as boundary and initial
conditions for a given heat problem, and is called by fem2d_heat
as part of a solution procedure.
-
fem2d_mesh_display_opengl,
a program which
reads a pair of FEM files defining node coordinates and elements,
of a 2D mesh, and displays it using OpenGL.
-
fem2d_pack,
a library which
implements various 2D finite element method (FEM) calculations;
-
fem2d_poisson,
a program which
applies the finite element method (FEM)
to solve Poisson's equation in an arbitrary triangulated region in 2D;
-
fem2d_poisson_cg,
a program which
solves Poisson's equation on a triangulated region,
using the finite element method (FEM),
sparse storage, and a conjugate gradient solver.
-
fem2d_poisson_cg_baffle,
a library which
defines the geometry of a channel with 13 hexagonal baffles,
as well as boundary conditions for a given Poisson problem,
and is called by fem2d_poisson_cg as part of a solution procedure.
-
fem2d_poisson_cg_ell,
a library which
defines the geometry of an L-shaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson_cg as part of a solution procedure.
-
fem2d_poisson_cg_lake,
a library which
defines the geometry of a lake-shaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson_cg as part of a solution procedure.
-
fem2d_poisson_ell,
a library which
defines the geometry of an L-shaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson as part of a solution procedure.
-
fem2d_poisson_lake,
a library which
defines the geometry of a lake-shaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson as part of a solution procedure.
-
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
and an iterative solver.)
-
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 L-shaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson_sparse as part of a solution procedure.
-
fem2d_poisson_sparse_lake,
a library which
defines the geometry of a lake-shaped region, as well as boundary
conditions for a given Poisson problem, and is called by
fem2d_poisson_sparse
as part of a solution procedure.
-
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.
-
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 tetrahedrons associated
with the finite element method (FEM).
-
fem3d_sample,
a program library which
evaluates a finite element function defined on a 3D tetrahedral mesh.
-
fern_opengl,
a program which
uses OpenGL to display the Barnsley fractal fern.
-
feynman_kac_1d,
a program which
demonstrates the use of the Feynman-Kac 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 Feynman-Kac 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 Feynman-Kac algorithm
to solve Poisson's equation in a 3D ellipsoid by averaging
stochastic paths to the boundary.
-
fft_openmp,
a program which
demonstrates the computation of a Fast Fourier Transform (FFT)
in parallel, using OpenMP.
-
fft_serial,
a program which
computes a Fast Fourier Transform (FFT), and is intended as
a starting point for implementing an OpenMP parallel version.
-
file_name_sequence,
a program which
demonstrates ways to generate a sequence of filenames, which can
be useful when generating a sequence of still snapshots
to be animated later.
-
files_multiple,
a program which
demonstrates how a program can open multiple output files at one time,
and write data to any one specific file it chooses.
-
filon,
a library which
can approximate integrals in which the integrand includes an
oscillatory factor of sin(k*x) or cos(k*x).
-
filum,
a library which
performs various operations with files;
-
fire_serial,
a program which
simulates a forest fire over a rectangular array of trees,
starting at a single random location. It is intended as a starting
point for the development of a parallel version.
-
floyd,
a library which
implements Floyd's algorithm for finding the shortest distance
between pairs of nodes on a directed graph.
-
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.
-
freefem++_msh_io,
a library which
can read and write files used by the FreeFem++ finite element program
to store mesh information.
-
g++_intrinsics,
a program which
tests or demonstrates some of the intrinsic functions
provided by the Gnu G++ compiler for C++.
-
g++_quadmath,
a program which
illustrates the use of quadruple precision real arithmetic,
as provided on some systems by the Gnu g++ compiler for C++.
-
gegenbauer_cc,
a library which
computes the Gegenbauer weighted integral of a function f(x)
using a Clenshaw-Curtis approach.
-
gegenbauer_exactness,
a program which
tests the polynomial exactness of Gauss-Gegenbauer quadrature rules.
-
gegenbauer_polynomial,
a library which
evaluates the Gegenbauer polynomial and associated functions.
-
gegenbauer_rule,
a program which
computes and writes out a Gauss-Gegenbauer quadrature rule
of given order.
-
gen_hermite_rule,
a program which
computes and writes out a generalized Gauss-Hermite quadrature rule of
given order and parameter value.
-
gen_hermite_rule_ss,
a program which
computes and writes out a generalized Gauss-Hermite quadrature rule of
given order and parameter value, using a Stroud and Secrest algorithm.
-
gen_laguerre_rule,
a program which
computes and writes out a generalized Gauss-Laguerre quadrature rule
of given order and parameter value.
-
gen_laguerre_rule,
a program which
computes and writes out a generalized Gauss-Laguerre quadrature rule
of given order and parameter value, using a Stroud and Secrest algorithm.
-
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.
-
gmsh_io,
a library which
can read or write some of the files created by the Gmsh
program for 1D, 2D or 3D meshes
used by the finite element method (FEM).
-
gmsh_to_fem,
a program which
reads a mesh data file created by the GMSH program
and writes a pair of node and element files that correspond
to the FEM format.
-
gnuplot_i_examples,
programs which
demonstrate the use of the gnuplot_i library for interactive
runtime gnuplot graphics.
-
gnuplot_test,
C++ programs which
illustrate how a program can write data and command files
so that gnuplot can create plots of the program results.
-
gprof,
programs which
illustrate the use of the gprof program performance monitor;
-
graphics_examples,
programs which
illustrate how various kinds of data can be displayed
and analyzed graphically.
-
grf_display_opengl,
a program which
reads a GRF file defining a mathematical graph and
displays it in the OpenGL graphics window.
-
grf_io,
a library which
reads or writes a GRF file;
-
grid,
a library which
randomly selects N distinct points from a uniform grid
in the unit hypercube in M-dimensional space.
-
grid_to_bmp,
a program which reads a text file of data on a rectangular grid
and creates a BMP file containing a color image of the data.
-
gsl_test,
C++ programs which
illustrate the use of the Gnu Scientific Library (GSL);
-
haar,
a library which
computes the Haar transform of data.
-
halton,
a library which
computes elements of a Halton Quasi Monte Carlo (QMC) sequence,
using a simple interface.
-
halton_advanced,
a library which
calculates the Halton M dimensional Quasi Mont Carlo (QMC) sequence,
using an advanced interface with many input quantities.
-
halton_dataset,
a program which
creates a Halton Quasi Mont Carlo (QMC) sequence;
-
hammersley,
a library which
computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence,
using a simple interface.
-
hammersley_advanced,
a library which
computes a Hammersley M-dimensional Quasi Mont Carlo (QMC) sequence
using an advanced interface with many input options;
-
hammersley_dataset,
a program which
creates a Hammersley Quasi Mont Carlo (QMC) sequence;
-
hankel_cholesky,
a library which
computes the upper Cholesky factor R of a nonnegative definite
symmetric H matrix so that H = R' * R.
-
hankel_pds,
a library which
can compute a lower triangular matrix L which is the Cholesky factor
of a positive definite (symmetric) Hankel matrix H, that is,
H = L * L'.
-
hb_io,
a library which
reads and writes matrices in
the Harwell Boeing (HB) sparse matrix format;
-
hb_io_new,
a library which
reads and writes matrices in
the Harwell Boeing (HB) sparse matrix format,
modified and improved by Reinhard Resch.
-
hdf5_test,
programs which
demonstrate the use of the HDF5 library and file format.
-
heat_mpi,
a program which
demonstrates the use of the Message Passing Interface (MPI), by
solving the 1D time dependent heat equation.
-
heated_plate,
a program which
solves the steady state heat equation in a 2D
rectangular region, and is intended as
a starting point for implementing an OpenMP parallel version.
-
heated_plate_openmp,
a program which
solves the steady (time independent) heat equation in a 2D
rectangular region, using OpenMP to run in parallel.
-
hello,
a program which
prints out "Hello, world!".
-
hello_mpi,
a program which
prints out "Hello, world!" using the Message Passing Interface (MPI)
for parallel programming.
-
hello_openmp,
a program which
prints out "Hello, world!" within the OpenMP parallel programming
environment.
-
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 Gauss-Hermite quadrature rules
for approximating 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_polynomial,
a library which
defines Hermite product polynomials, creating a multivariate
polynomial as the product of univariate Hermite polynomials.
-
hermite_rule,
a program which
computes and writes out a Gauss-Hermite quadrature rule
for approximating the integral of a function with density exp(-x^2)
over the interval (-oo,+oo).
-
hermite_rule_ss,
a program which
computes and writes out a Gauss-Hermite quadrature rule
to estimate the integral of a function with density exp(-x^2)
over the interval (-oo,+oo), using a Stroud and Secrest algorithm.
-
hermite_test_int,
a library which
defines test integrands for Hermite integrals
with density exp(-x^2) over the interval (-oo,+oo).
-
hexdump,
a program which
produces a hexadecimal dump of a file;
-
high_card_simulation,
a program which
simulates a situation in which you see the cards in a deck one by one,
and must select the one you think is the highest and stop;
the program uses gnuplot to create a graph of the results.
-
hilbert_curve,
a library which
computes the sequence of discrete Hilbert curves whose limit
is a space-filling curve.
-
histogram_data_2d_sample,
a program which
demonstrates how to construct a Probability Density Function (PDF)
from sample data over a 2D domain,
and then to use that PDF to create new samples.
-
htmlindex,
a program which
creates a skeleton HTML page for a marked-up C, C++ or FORTRAN file;
-
hyperball_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit hyperball in M dimensions.
-
hyperball_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit ball in M dimensions;
-
hyperball_volume_monte_carlo,
a program which
applies a Monte Carlo procedure to estimate the volume of the
unit ball in M dimensions;
-
hypercube_exactness,
a program which
tests the polynomial exactness of a quadrature rule
over the interior of the unit hypercube in M dimensions.
-
hypercube_grid,
a library which
computes a grid of points
over the interior of a hypercube in M dimensions.
-
hypercube_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit hypercube in M dimensions.
-
hypercube_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit hypercube in M dimensions.
-
hypersphere_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.
-
i2_binary_to_ascii,
a program which
converts a file of short int (I2) data from binary to ASCII format.
-
i4lib,
a library which
contains many utility routines, using single precision integer (I4)
arithmetic.
-
i8lib,
a library which
contains many utility routines, using double precision integer (I8)
arithmetic.
-
ice_io,
a library which can
read or write an ICE dataset, which defines a 3D grid,
using the NETCDF file format.
-
ice_to_mesh,
a program which
reads a NETCDF file containing an ICE dataset and rewrites the
information as a MESH file.
-
ihs,
a library which
computes elements of the Improved Hypercube Sampling (IHS)
M-dimensional Quasi Mont Carlo (QMC) sequence;
-
ihs_dataset,
a program which
creates an Improved Hypercube Sampling (IHS) dataset;
-
image_components,
a library which
seeks the connected nonzero or nonblack components of an image
or integer array.
-
image_denoise,
a library which
applies simple filtering operations to a noisy image.
-
image_edge,
a library which
demonstrates a simple procedure for edge detection in images.
-
index,
a library which
converts a M-dimensional vector index to
a one-dimensional vector index;
it can handle zero and one based indexing schemes,
as well as column major and row major conventions.
-
int_exactness,
a program which
tests the polynomial exactness of a 1D quadrature rule
for a finite interval;
-
int_exactness_chebyshev1,
a program which
tests the polynomial exactness of
Gauss-Chebyshev type 1 quadrature rules.
-
int_exactness_chebyshev2,
a program which
tests the polynomial exactness of
Gauss-Chebyshev type 2 quadrature rules.
-
int_exactness_gen_hermite,
a program which
tests the polynomial exactness of
generalized Gauss-Hermite quadrature rules.
-
int_exactness_gen_laguerre,
a program which
tests the polynomial exactness of
generalized Gauss-Laguerre quadrature rules.
-
interp,
a library which
can be used for parameterizing and interpolating data;
-
isbn,
a library which
can determine the check digit for an International Standard Book Number
or report whether a given ISBN is valid.
-
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, using gnuplot to display the initial and final
configurations.
-
ivcon,
a program which
converts between various 3D graphic file formats;
-
jacobi,
a program which
implements the Jacobi iteration for 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_exactness,
a program which
tests the polynomial exactness of rules for integrals with
a Jacobi weight function.
-
jacobi_openmp,
a program which
illustrates the use of the OpenMP application program interface
to parallelize a Jacobi iteration solving A*x=b.
-
jacobi_polynomial,
a library which
evaluates the Jacobi polynomial and associated functions.
-
jacobi_rule,
a program which
computes and writes out a Gauss-Jacobi quadrature rule of given order.
-
jacobi_rule_ss,
a program which
computes and writes out a Gauss-Jacobi quadrature rule of given order,
using a Stroud and Secrest algorithm.
-
kmeans,
a library which
handles the K-Means problem,
which organizes a set of N points in M dimensions into K clusters;
-
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 Gauss-Kronrod pair of quadrature rules
of arbitrary order,
by Robert Piessens, Maria Branders.
-
l4lib,
a library which
contains many utility routines, using one byte logical (L4)
variables.
-
lagrange_approx_1d,
a library which
defines and evaluates the Lagrange polynomial p(x) of degree m
which approximates a set of nd data points (x(i),y(i)).
-
lagrange_interp_1d,
a library which
defines and evaluates the Lagrange polynomial p(x)
which interpolates a set of data depending on a 1D argument,
so that p(x(i)) = y(i).
-
lagrange_interp_2d,
a library which
defines and evaluates the Lagrange polynomial p(x,y)
which interpolates a set of data depending on a 2D argument
that was evaluated on a product grid,
so that p(x(i),y(j)) = z(i,j).
-
lagrange_interp_nd,
a library which
defines and evaluates the Lagrange polynomial p(x)
which interpolates a set of data depending on a 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 Gauss-Laguerre 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 and writes out a
Gauss-Laguerre quadrature rule for approximating the integral
of a function with density exp(-x) over the interval [0,+oo).
-
laguerre_rule_ss,
a program which
computes a Gauss-Laguerre quadrature rule of given order,
and writes it to a file, using a Stroud and Secrest algorithm.
-
laguerre_test_int,
a library which
implements test problems for
for Gauss-Laguerre type quadrature rules
for approximating the integral
of a function with density exp(-x) over the interval [0,+oo).
-
latin_center,
a library which
computes Latin Center Squares of N points in M dimensions;
-
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
computes Latin Edge Squares of N points in M dimensions;
-
latin_edge_dataset,
a program which
creates a Latin Edge Hypercube dataset;
-
latin_random,
a library which
computes Latin Random Squares of N points in M dimensions;
-
latin_random_dataset,
a program which
creates a Latin Random Hypercube dataset;
-
latinize,
a library 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
creates a Latinized Centroidal Voronoi Tessellation (CVT);
-
lcvt_dataset,
a program which
creates a Latinized Centroidal Voronoi Tessellation (CVT);
-
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 Gauss-Legendre quadrature rule of given order.
-
legendre_rule_fast,
a program which
uses a fast (order N) algorithm to compute
a Gauss-Legendre quadrature rule of given order.
-
legendre_shifted_polynomial,
a library which
evaluates the shifted Legendre polynomial, with the domain [0,1].
-
levenshtein,
a library which
returns the Levenshtein distance between two strings.
-
lf2cr,
a program which
converts linefeeds to carriage returns in a file;
-
lf2crlf,
a program which
converts linefeeds to carriage return + linefeeds in a file;
-
lfrm,
a program which
removes all linefeed characters from a file;
-
life_opengl,
a program which
uses OpenGL to display the evolution of John Conway's Game of Life.
-
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.
-
lights_out_opengl,
a program which
sets up a Lights Out game and allows the user to solve it,
using the OpenGL graphics window.
-
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) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.
-
line_nco_rule,
a library which
computes a Newton Cotes Open (NCO) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.
-
linpack,
a library which
solves linear systems for a variety of matrix storage schemes,
real or complex arithmetic, and single or double precision,
by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart.
-
linpack_bench_d,
a program which
is a version of the double precision real LINPACK benchmark program;
-
linpack_bench,
a program which
is a version of the single precision real LINPACK benchmark program;
-
linpack_c,
a library which
factors matrices in a variety of formats, and solving the
associated linear systems, using single precision complex arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix,
by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart.
-
linpack_d,
a library which
factors matrices in a variety of formats, and solving the
associated linear systems, using double precision real arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix,
by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart.
-
linpack_s,
a library which
factors matrices in a variety of formats, and solving the
associated linear systems, using single precision real arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix,
by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart.
-
linpack_z,
a library which
factors matrices in a variety of formats, and solving the
associated linear systems, using double precision complex arithmetic;
it includes a function for the singular value decomposition (SVD)
of a rectangular matrix,
by Jack Dongarra, Cleve Moler, Jim Bunch, Pete Stewart.
-
lissajous_opengl,
a program which computes a Lissajous curve
and displays it using OpenGL.
-
llsq,
a library which
solves the simple linear least squares (LLS) problem of finding the formula
of a straight line y=a*x+b which minimizes the root-mean-square error
to a set of N data points.
-
lobatto_polynomial,
a library which
evaluates Lobatto polynomials similar to Legendre polynomials
except that they are 0 at both endpoints.
-
local_min_rc,
a library which
finds a local minimum of a scalar function of a scalar variable,
without the use of derivative information,
using reverse communication (RC),
by Richard Brent.
-
log_normal,
a library which
returns quantities related to the log normal Probability
Distribution Function (PDF).
-
log_normal_truncated_ab,
a library which
returns quantities related to the log normal Probability
Distribution Function (PDF) truncated to the interval [A,B].
-
lorenz_ode,
a program which
approximates solutions to the Lorenz system,
creating output files that can be displayed by gnuplot.
-
luhn,
a library which
can compute the Luhn check digit for a string, or verify a string,
as used for error detection in credit card numbers.
-
machar,
a library which
dynamically computes the values of various machine constants,
by William Cody;
-
machine,
a library which
returns tabulated values of the
constants associated with computer arithmetic.
-
makefiles,
programs which
illustrate the use of makefiles for maintaining a software project;
-
mandelbrot,
a program which
generates an ASCII Portable Pixel Map (PPM)
image of the Mandelbrot set;
-
mandelbrot_openmp,
a program which
generates an ASCII Portable Pixel Map (PPM) image of the
Mandelbrot fractal set, using OpenMP for parallel execution;
-
mandelbrot_ppm,
a program which
generates a binary Portable Pixel Map (PPM) image
of the Mandelbrot set,
by Eric Weeks.
-
mario,
a program which
creates a sort of "needlepoint" image of Mario, as an array of
colored squares.
-
matrix_exponential,
a library which
demonstrates some simple approaches to the problem of computing the
exponential of a matrix.
-
md,
a program which
carries out a molecular dynamics simulation, and is intended as
a starting point for implementing an OpenMP parallel version.
-
md_openmp,
a program which
carries out a molecular dynamics simulation in parallel using OpenMP.
-
medit_io,
a library which
can read or write files used by the MEDIT program, which can be used
to define the a mesh associated with the finite element method (FEM)
in 2D or 3D, using triangles, quadrilaterals, tetrahedrons
or hexahedrons.
-
medit_to_fem,
a program which
reads a mesh file created by the MEDIT program
and writes a corresponding pair of node and element files that
correspond to the FEM format.
-
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_opengl,
a program which
reads the name of two data files
defining a polygonal mesh, reads the data,
and displays the mesh using OPENGL.
-
mesh_io,
a library which
reads or writes MESH files defining a finite element mesh.
-
mesh_to_ice,
a program which
reads a MESH file containing an ICE dataset and rewrites the
information as a NETCDF file.
-
metis_test,
C++ programs which
test the metis library, which can partition unstructured graphs
or meshes, and compute fill-reducing reorderings of sparse matrices.
-
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.
-
minesweeper,
a program which
is a text-based implementation of the Minesweeper game,
by Detelina Stoyanova.
-
minpack,
a library which
solves linear least squares (LLS) and nonlinear least squares (NLS)
problems.
-
mixed,
programs which
illustrate mixed language programming in which the main program
is written in C++;
-
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.
-
mpas_draw,
a program which
reads information from a netcdf file written by mpas(),
containing the grid information
and computed solution values, some of which may be time dependent,
or organized in vertical atmospheric levels, and then displays
graphic images of data using OpenGL.
-
mpas_grid_display_opengl,
programs which
read information from an MPAS Grid file, stored in netcdf format,
and display the main (mainly hexagonal) mesh or the dual triangulation,
using OpenGL.
-
mpi,
programs which
illustrate the use of the MPI Message Passing Interface
library, for parallel programming;
-
mpi_stubs,
a library which
may be used if a parallel program is to be compiled, loaded
and run in a serial machine;
-
multigrid_poisson_1d,
a library which
applies the multigrid method to a discretized version of the
1D Poisson equation.
-
multitask_mpi,
a program which
demonstrates how to multitask, that is, to execute several unrelated
and distinct tasks simultaneously, using MPI for parallel execution.
-
multitask_openmp,
a program which
demonstrates how to multitask, that is, to execute several unrelated
and distinct tasks simultaneously,
using OpenMP for parallel execution.
-
mxm,
a program which
sets up a matrix multiplication problem A=B*C of arbitrary size,
and compares the time required for IJK, IKJ, JIK, JKI, KIJ and KJI
orderings of the loops.
-
mxm_openmp,
a program which
computes a dense matrix product C=A*B,
using OpenMP for parallel execution.
-
mxm_serial,
a program which
sets up a matrix multiplication problem A=B*C,
intended as a starting point for implementing a parallel version.
-
my_calendar,
a program which
checks a calendar file and prints lines containing the current date;
-
naca,
a library which
can take the parameters of certain NACA airfoils and return the
coordinates of a sequence of points that outline the wing shape.
The points can be plotted with gnuplot.
-
nas,
a program which
runs the NASA kernel benchmark.
-
navier_stokes_2d_exact,
a library which
evaluates an exact solution to the incompressible time-dependent
Navier-Stokes equations over an arbitrary domain in 2D.
-
navier_stokes_3d_exact,
a library which
evaluates an exact solution to the incompressible time-dependent
Navier-Stokes equations over an arbitrary domain in 3D.
-
nearest_interp_1d,
a library which
interpolates a set of data using a piecewise constant interpolant
defined by the nearest neighbor criterion,
creating graphics files for processing by gnuplot.
-
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;
-
netcdf_mpas
a library which
reads MPAS grid files, stored using the NETCDF format.
-
netcdf_test,
C++ programs which
read and write netcdf files.
-
newton_interp_1d,
a library which
finds a polynomial interpolant to data using Newton divided
differences.
-
niederreiter,
a library which
computes elements of the Niederreiter
Quasi Mont Carlo (QMC) M-dimensional sequence [arbitrary base];
-
niederreiter2,
a library which
computes elements of the Niederreiter
M-dimensional Quasi Mont Carlo (QMC) sequence using base 2;
-
niederreiter2_dataset,
a program which
creates a Niederreiter Quasi Mont Carlo (QMC) 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
implements approximate integration (quadrature) in M dimensions;
-
normal,
a library which
implements a random number generator (RNG)
for normally distributed values.
-
normal_dataset,
a program which
creates a multivariate normal random dataset;
-
obj_io,
a library which
reads and writes the data in an OBJ 3D graphics file;
-
ode,
a library which
solves a system of ordinary differential equations,
by Shampine and Gordon;
-
opengl,
programs which
illustrate the use of the OpenGL graphics library;
-
openmp,
programs which
illustrate the use of the OpenMP interface for
parallel programming shared memory system;
-
openmp_stubs,
a library which
is a dummy implementation of the OpenMP routines,
and can be used to compile, load, and run a program using OpenMP on a
system which does not have OpenMP installed.
-
optimize,
a program which
looks at the use of automatic optimization by the compiler
to make the executable code run faster.
-
ornstein_uhlenbeck,
a library which
approximates solutions of the Ornstein-Uhlenbeck
stochastic ordinary differential equation (SODE)
using the Euler method,
the Euler-Maruyama method, and the Milstein method,
and creating graphics files for processing by gnuplot.
-
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 gnuplot 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 Gauss-Patterson 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;
-
pbma_to_pbmb,
a program which
converts an ASCII Portable Bit Map (PBM) file to a binary PBM file;
-
pbmb_io,
a library which
reads or writes a binary Portable Bit Map (PBM) graphics file;
-
pbmb_to_pbma,
a program which
converts a binary Portable Bit Map (PBM) file to an ASCII PBM file;
-
pce_burgers,
a program which
defines and solves the time-dependent viscous Burgers equation,
with uncertain viscosity,
using a polynomial chaos expansion in terms of Hermite polynomials,
by Gianluca Iaccarino.
-
pce_ode_hermite,
a program which
sets up a simple scalar ordinary differential equation (ODE)
for exponential decay with an uncertain decay rate,
using a polynomial chaos expansion in terms of Hermite polynomials.
-
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.
-
pentominoes,
a library which
provides some utilities for manipulating pentominoes.
petsc_test,
C++ programs which
illustrate the use of PETSC, a suite of data structures and routines
for the scalable parallel solution of scientific applications modeled
by partial differential equations.
-
pgma_io,
a library which
reads or writes an ASCII Portable Gray Map (PGM) 2D graphics file;
-
pgma_to_pgmb,
a program which
converts an ASCII Portable Gray Map (PGM) file to a binary PGM file;
-
pgmb_io,
a library which
reads or writes a binary Portable Gray Map (PGM) 2D graphics file;
-
pgmb_to_pgma,
a program which
converts a binary Portable Gray Map (PGM) file to an ASCII PGM file;
-
piecewise_linear_product_integral,
a library which
calculates the exact value of the integral of the product of two
piecewise linear functions f(x) and g(x).
-
pink_noise,
a library which
computes a pink noise signal obeying a 1/f power law.
-
point_merge,
a library which
considers N points in M dimensional space, and counts or indexes
the unique or tolerably unique items.
-
poisson_openmp,
a program which
computes an approximate solution to
the Poisson equation in a rectangle,
using the Jacobi iteration to solve the linear system, and OpenMP to
carry out the Jacobi iteration in parallel.
-
poisson_serial,
a program which
computes an approximate solution to
the Poisson equation in a rectangle,
and is intended as the starting point for the creation of a
parallel version.
-
poisson_simulation,
a library which
simulates a Poisson process in which events randomly occur with an
average waiting time of Lambda,
creating graphics files for processing by gnuplot.
-
polpak,
a library which
evaluates a variety of mathematical functions, including
Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre,
Legendre polynomials, and the Collatz sequence.
-
polygon_grid,
a library which
generates a grid of points
over the interior of a polygon in 2D.
-
polygon_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of a polygon in 2D.
-
polygon_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of a polygon in 2D.
-
polygon_properties,
a library which
computes properties of an arbitrary polygon in the plane, defined
by a sequence of vertices, including interior angles, area, centroid,
containment of a point, convexity, diameter, distance to a point,
inradius, lattice area, nearest point in set, outradius,
uniform sampling.
-
polygon_triangulate,
a library which
triangulates a possibly nonconvex polygon in 2D,
and which can use gnuplot to display the external edges and
internal diagonals of the triangulation.
-
polygonal_surface_display_opengl,
a program which
displays a surface in 3D described as a set of polygons using OpenGL;
-
polynomial,
a library which
adds, multiplies, differentiates, evaluates and prints multivariate
polynomials in a space of M dimensions.
-
polyomino_condense,
a program which
cleans up a matrix that represents a polyomino by setting all nonzero
entries to 1, and removing initial and final rows and columns of zeros.
-
polyomino_embed,
a library which
is given matrices defining a region R and a polyomino P, and determines
the number of possible embeddings of the polyomino into the region, and
the translations necessary to achieve them.
-
polyomino_enumerate,
a library which
enumerates chiral, fixed and free polyominoes of moderate order.
-
polyomino_index,
a library which
is given a matrix defining a polyomino P, and determines
a correspondingly shaped matrix which contains an index for each
nonzero entry in P.
-
polyomino_lp_write,
a program which
writes an LP file describing a (binary) integer programming problem
related to the tiling of a region R by copies of polyomino
shapes, with possible reflections and rotations.
-
polyomino_transform,
a program which
transforms the matrix representing a polyomino by reflection and
rotation.
-
power_method,
a library which
carries out the power method for finding a dominant eigenvalue
and its eigenvector.
-
power_rule,
a program which
constructs a power rule, that is, a product quadrature rule
from identical 1D factor rules.
-
ppma_io,
a library which
reads or writes an ASCII Portable Pixel Map (PPM) graphics file;
-
ppma_to_bmp,
a program which
converts an ASCII Portable Pixel Map (PPM) graphics file
to a Microsoft BMP file;
-
ppma_to_ppmb,
a program which
converts an ASCII Portable Pixel Map (PPM) graphics file
to binary PPM format;
-
ppmb_io,
a library which
reads or writes a binary Portable Pixel Map (PPM) 2D
pixel map graphics file;
-
ppmb_to_bmp,
a program which
converts a binary Portable Pixel Map (PPM) file
to a Microsoft BMP file;
-
ppmb_to_ppma,
a program which
converts a binary Portable Pixel Map (PPM) file to ASCII PPM format;
-
praxis,
a library which
minimizes a scalar function of several variables, without
requiring derivative information,
by Richard Brent.
-
prime_mpi,
a program which
counts the number of primes between 1 and N,
using MPI for parallel execution.
-
prime_openmp,
a program which
counts the number of primes between 1 and N,
using OpenMP for parallel execution.
-
prime_serial,
a program which
counts the number of primes between 1 and N,
and is intended as a starting point for a parallel version.
-
prob,
a library which
evaluates, samples, inverts, and characterizes a number of
Probability Density Functions (PDF's)
and Cumulative Density Functions (CDF's), including anglit, arcsin,
benford, birthday, bernoulli, beta_binomial, beta, binomial, bradford,
burr, cardiod, cauchy, chi, chi squared, circular, cosine, deranged,
dipole, dirichlet mixture, discrete, empirical, english sentence and
word length, error, exponential, extreme values, f, fisk,
folded normal, frechet, gamma, generalized logistic, geometric,
gompertz, gumbel, half normal, hypergeometric, inverse gaussian,
laplace, levy, logistic, log normal, log series, log uniform,
lorentz, maxwell, multinomial, nakagami, negative binomial, normal,
pareto, planck, poisson, power, quasigeometric, rayleigh, reciprocal,
runs, sech, semicircular, student t, triangle, uniform, von mises,
weibull, zipf.
-
product_rule,
a program which
creates an M-dimensional quadrature rule
from a product of distinct 1d quadrature rules;
-
pthreads_test,
programs which
test pthreads, the posix thread library, to carry out
parallel program execution.
-
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,
creating graphics files for processing by gnuplot.
-
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 for a pyramid.
-
qr_solve,
a library which
computes the linear least squares (LLS) solution of a system A*x=b.
-
quad_mesh,
a library which
handles meshes of quadrilaterals over a 2D region;
-
quad_mesh_rcm,
a program which
computes the Reverse Cuthill-McKee (RCM) reordering for nodes
in a mesh of 4-node quadrilaterals.
-
quad_mpi,
a program which
applies a quadrature rule to estimate an
integral, working in parallel by using MPI;
-
quad_openmp,
a program which
applies a quadrature rule to estimate an integral over a 1D interval,
using OpenMP for parallel execution;
-
quad_serial,
a program which
applies a quadrature rule to estimate an integral,
intended as a starting point for parallelization exercises.
-
quad2d_openmp,
a program which
applies a product quadrature rule to
estimate an integral over a 2D rectangle,
using OpenMP for parallel execution;
-
quad2d_serial,
a program which
applies a product quadrature rule to
estimate an integral over a 2D rectangle,
intended as a starting point for parallelization exercises.
-
quadrature_golub_welsch,
a library which
computes the points and weights of a Gaussian quadrature rule using
the Golub-Welsch procedure.
-
quadrature_least_squares,
a library which
computes weights for sub-interpolatory 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 integrals;
-
quality,
a library which
computes quality of distribution
measures for pointsets in M dimensions;
-
quaternions,
a library which
carries out some simple arithmetic operations for quaternions.
-
r4lib,
a library which
contains many utility routines,
using single precision real (R4) arithmetic.
-
r83,
a library which
contains linear algebra routines for R83 matrices
(real, 64 bit, tridiagonal 3xN format).
-
r83_np,
a library which
contains linear algebra routines for R83_NP matrices
(real, 64 bit, tridiagonal 3xN format, nonpivoting factorization).
-
r83p,
a library which
contains linear algebra routines for R83P matrices
(real, 64 bit, tridiagonal periodic format).
-
r83s,
a library which
contains linear algebra routines for R83S matrices
(real, 64 bit, tridiagonal scalar format).
-
r83t,
a library which
contains linear algebra routines for R83t matrices
(real, 64 bit, tridiagonal Mx3 format).
-
r83v,
a library which
contains linear algebra routines for R83V matrices
(real, 64 bit, tridiagonal three vector format).
-
r85,
a library which
contains linear algebra routines for R85 matrices
(real, 64 bit, pentadiagonal format).
-
r8bb,
a library which
contains linear algebra routines for R8BB matrices
(real, 64 bit, border banded format).
-
r8blt,
a library which
contains linear algebra routines for R8BLT matrices
(real, 64 bit, band lower triangular format).
-
r8bto,
a library which
contains linear algebra routines for R8BTO matrices
(real, 64 bit, block Toeplitz format).
-
r8but,
a library which
contains linear algebra routines for R8BUT matrices
(real, 64 bit, band upper triangular format).
-
r8cb,
a library which
contains linear algebra routines for R8CB matrices
(real, 64 bit, Compressed Band format).
-
r8cbb,
a library which
contains linear algebra routines for R8CBB matrices
(real, 64 bit, Compressed Border Banded format).
-
r8cc,
a library which
contains linear algebra routines for R8CC matrices
(real, 64 bit, Compressed Column (Colptr,Row,Value) format).
-
r8ci,
a library which
contains linear algebra routines for R8CI matrices
(real, 64 bit, circulant format).
-
r8col,
a library which
contains utility routines for R8COL's, that is,
double precision real MxN arrays, considered as N column vectors,
each of length M. The data may be thought of as a matrix of
multiple columns, and many operations will be carried out columnwise.
-
r8gb,
a library which
contains linear algebra routines for R8GB matrices
(real, 64 bit, General Banded format).
-
r8gd,
a library which
contains linear algebra routines for R8GD matrices
(real, 64 bit, general diagonal format).
-
r8ge,
a library which
contains linear algebra routines for R8GE matrices
(real, 64 bit, General format).
-
r8ge_np,
a library which
contains nonpivoting linear algebra routines for R8GE_NP matrices
(real, 64 bit, General nonpivoting format).
-
r8lib,
a library which
contains many utility routines,
using double precision real (R8) arithmetic.
-
r8lt,
a library which
contains linear algebra routines for R8LT matrices
(real, 64 bit, lower triangular format).
-
r8ltt,
a library which
contains linear algebra routines for R8LTT matrices
(real, 64 bit, lower triangular Toeplitz format).
-
r8ncf,
a library which
contains linear algebra routines for R8NCF matrices
(real, 64 bit, nonsymmetric coordinate format).
-
r8pbl,
a library which
contains linear algebra routines for R8PBL matrices
(real, 64 bit, positive definite symmetric band lower format).
-
r8pbu,
a library which
contains linear algebra routines for R8PBU matrices
(real, 64 bit, positive definite symmetric band upper format).
-
r8po,
a library which
contains linear algebra routines for R8PO matrices
(real, 64 bit, positive definite symmetric format).
-
r8poly,
a library which
contains a number of utilities for polynomials with R8 coefficients,
that is, using double precision or 64 bit real arithmetic.
-
r8pp,
a library which
contains linear algebra routines for R8PP matrices
(real, 64 bit, positive definite symmetric packed format).
-
r8ri,
a library which
contains linear algebra routines for R8RI matrices
(real, 64 bit, row-indexed format).
-
r8row,
a library which
contains utility routines for R8ROW's, that is,
double precision real MxN arrays, considered as M row vectors,
each of length N. The data may be thought of as a matrix of
multiple rows, and many operations will be carried out rowwise.
-
r8s3,
a library which
contains linear algebra routines for R8S3 matrices
(real, 64 bit, SLAP triad (I,J,AIJ) format).
-
r8sd,
a library which
contains linear algebra routines for R8SD matrices
(real, 64 bit, symmetric diagonal format).
-
r8sm,
a library which
contains linear algebra routines for R8SM (Sherman-Morrison) matrices
(real, 64 bit, A-u*v' format).
-
r8sp,
a library which
contains linear algebra routines for R8SP matrices
(real, 64 bit, SLAP triad (I,J,AIJ) format).
-
r8sr,
a library which
carries out linear algebra operations for R8SR matrices
(real, 64 bit, diagonal + compressed row offdiagonal format).
-
r8ss,
a library which
carries out linear algebra operations for R8SS matrices
(real, 64 bit, symmetric skyline format).
-
r8sto,
a library which
contains linear algebra routines for R8STO matrices
(real, 64 bit, symmetric Toeplitz N format).
-
r8to,
a library which
contains linear algebra routines for R8TO matrices
(real, 64 bit, Toeplitz 2*N-1 format).
-
r8ut,
a library which
contains linear algebra routines for R8UT matrices
(real, 64 bit, upper triangular format).
-
r8utt,
a library which
contains linear algebra routines for R8UTT matrices
(real, 64 bit, upper triangular Toeplitz format).
-
r8vm,
a library which
contains linear algebra routines for R8VM matrices
(real, 64 bit, Vandermonde format).
-
rand48,
a program which
demonstrates the use of the RAND48 family of
random number generators (RNG's)
available in the C/C++ standard library.
-
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 distribute
according to various probability density functions (PDF's), for
various spatial dimensions, and geometries,
including the M-dimensional cube, ellipsoid, simplex and sphere.
-
random_mpi,
a program which
demonstrates one way to generate the same sequence of random numbers
for both sequential execution and parallel execution under MPI.
-
random_openmp,
a program which
illustrates how a parallel program using OpenMP can generate multiple
distinct streams of random numbers.
-
random_sorted,
a library which
generates vectors of random values which are already sorted.
-
ranlib,
a library which
produces random samples from Probability Density Functions (PDF's),
including Beta, Chi-square Exponential, F, Gamma, Multivariate normal,
Noncentral chi-square, Noncentral F, Univariate normal,
random permutations, Real uniform, Binomial, Negative Binomial,
Multinomial, Poisson and Integer uniform,
by Barry Brown and James Lovato.
-
rbf_interp_1d,
a library which
defines and evaluates
radial basis function (RBF) interpolants to 1D data.
-
rbf_interp_2d,
a library which
defines and evaluates
radial basis function (RBF) interpolants to 2D data.
-
rbf_interp_nd,
a library which
defines and evaluates radial basis function (RBF) interpolants
to 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."
-
recomment,
a program which
converts C style comments to C++ style;
-
reword,
a program which
makes a copy of a file in which
every line has the same number of words;
-
ring_mpi,
a program which
uses the MPI parallel programming environment, and measures the time
necessary to copy a set of data around a ring of processes.
-
rk4,
a library which
applies the fourth order Runge-Kutta (RK) algorithm to estimate the
solution of an ordinary differential equation (ODE)
at the next time step.
-
rkf45,
a library which
applies the Runge-Kutta-Fehlberg (RKF)
algorithm to solve a system of ordinary differential equations (ODEs);
-
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.
-
root_rc,
a library which
seeks a solution of a scalar nonlinear equation f(x)=0,
using reverse communication (RC), by Gaston Gonnet.
-
roots_rc,
a library which
seeks solutions of a system of nonlinear equations,
using reverse communication (RC), by Gaston Gonnet.
-
rot13,
a program which
makes a copy of a file which has
been encoded using the ROT13 coding and a ROT5 coding for digits.
-
rotating_cube_display_opengl,
a program which
displays a rotating color cube in 3D, using OpenGL;
-
row_echelon_integer,
a library which
carries out the exact computation of the integer row echelon form
(IREF) and integer reduced row echelon form (IRREF) of an integer
matrix.
-
sandia_cubature,
a library which
implements quadrature rules for certain M-dimensional regions
and weight functions.
-
sandia_rules,
a library which
can produce a standard 1D Gauss quadrature rule of
Chebyshev, Gegenbauer, generalized Hermite, generalized Laguerre,
Hermite, Jacobi, Laguerre, and Legendre types.
-
sandia_rules2,
a library which
contains a very small selection of functions
which serve as an interface
between sandia_sgmg or sandia_sgmga and sandia_rules.
-
sandia_sgmg,
a library which
creates sparse grids based a mixture of 1D factor rules, and which
experiments with the idea of using
linear growth rate for the 1D quadrature rules.
This is a version of sparse_grid_mixed_growth
that uses a different procedure for supplying
the parameters needed to evaluate certain quadrature rules.
-
sandia_sgmga,
a library which
creates sparse grids based on a mixture of 1D quadrature rules,
allowing anisotropic weights for each dimension.
This is a version of sgmga that uses a different procedure
for supplying the parameters needed to evaluate
certain quadrature rules.
-
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 satisfy problem.
-
satisfy_mpi,
a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfy problem,
using MPI to perform the calculation in parallel.
-
satisfy_openmp,
a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfy problem,
using OpenMP for parallel execution.
-
schedule_openmp,
a program which
demonstrates the default, static, and dynamic methods of scheduling
loop iterations in OpenMP to avoid work imbalance.
-
screenshot_opengl,
a program which
shows how a program using the OpenGL graphics library can save a
screenshot of the graphics being displayed.
-
scvt_mpi,
a program which
determines a Centroidal Voronoi Tessellation (CVT) on a
spherical surface, using triangle for triangulation, and
the boost mpi and serialization libraries,
by Doug Jacobsen;
-
sde,
a library which
illustrates properties of
stochastic ordinary differential equations (SODE's), and
common algorithms for their analysis, including the Euler method,
the Euler-Maruyama method, and the Milstein method,
making graphics files for processing and display by gnuplot,
by Desmond Higham;
-
search_mpi,
a program which
searches integers between A and B for a solution J such that F(J)=C,
carried out in parallel using MPI.
-
search_serial,
a program which
searches the integers from A to B for a value J such that F(J) = C.
this version of the program is intended as a starting point for
a parallel approach.
-
set_theory,
a library which
demonstrates various set theoretic operations
using several models of a set.
-
sftpack,
a library which
implements the slow Fourier transform, intended as a teaching
tool and comparison with the Fast Fourier Transform (FFT).
-
sgefa_openmp,
a program which
compares a standard linear algebra solver against a revised version
which can be run in parallel with OpenMP.
-
sgmg,
a library which
creates sparse grids based a mixture of 1D factor rules, and which
experiments with the idea of using linear growth rate
for the 1D quadrature rules.
-
sgmga,
a library which
creates sparse grids based on a mixture of 1D quadrature rule
families, allowing user specified growth rates for each family,
allowing anisotropic weights for each dimension.
-
shallow_water_1d,
a program which
simulates the evolution of a 1D fluid governed by the
time-dependent shallow water equations.
-
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.
-
simple_ga,
a program which
is a simple example of a genetic algorithm,
by Dennis Cormier and Sita Raghavan.
-
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 Grundmann-Moeller quadrature rules
over the interior of a triangle in 2D, a tetrahedron in 3D, or
over the interior of the simplex in M dimensions.
-
simplex_grid,
a library which
generates a regular grid of points
over the interior of an arbitrary simplex in M dimensions.
-
simplex_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit simplex in M dimensions.
-
simplex_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit simplex in M dimensions.
-
sine_transform,
a library which
demonstrates some simple properties of the discrete sine transform.
-
snakes_and_ladders,
programs which
simulate and investigate a one-player version of the game
of Snakes and Ladders.
-
sobol,
a library which
computes elements of the Sobol
M-dimensional Quasi Mont Carlo (QMC) sequence, extended to a maximal
spatial dimension of 1111,
by Bennett Fox.
-
sobol_dataset,
a program which
creates a Sobol Quasi Mont Carlo (QMC) dataset;
-
solve,
a library which
implements a linear solver which makes it easy to create
doubly-dimensioned arrays and solve associated linear systems.
-
sor,
a library which
implements a simple version of the Successive Over-Relaxation (SOR)
method for the iterative solution of a linear system of equations.
-
sort_rc,
a library which
can sort a list of any kind of objects,
using reverse communication (RC).
-
sparse_count,
a library which
for the analysis and creation of sparse grids in which a single family
of 1D quadrature rules is used for all spatial dimensions,
with a variety of 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 built-in
MATLAB "spy" command.
-
sparse_grid_cc,
a library which
creates sparse grids based on Clenshaw-Curtis rules.
-
sparse_grid_cc_dataset,
a program which
creates a sparse grid dataset based on Clenshaw-Curtis rules.
-
sparse_grid_gl,
a library which
creates sparse grids based on Gauss-Legendre rules.
-
sparse_grid_gl_dataset,
a program which
creates a sparse grid dataset based on Gauss-Legendre rules.
-
sparse_grid_hermite,
a library which
creates sparse grids based on Gauss-Hermite rules.
-
sparse_grid_hermite_dataset,
a program which
creates a sparse grid dataset based on Gauss-Hermite rules.
-
sparse_grid_hw,
a library which
creates sparse grids based on Gauss-Legendre, Gauss-Hermite,
Gauss-Patterson, or a nested variation of Gauss-Hermite rules,
by Florian Heiss and Viktor Winschel.
-
sparse_grid_laguerre,
a library which
creates sparse grids based on Gauss-Laguerre rules.
-
sparse_grid_laguerre_dataset,
a program which
creates a sparse grid dataset based on Gauss-Laguerrre rules.
-
sparse_grid_mixed,
a library which
creates sparse grids based on 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 open rules (Fejer 2, Gauss-Patterson,
Newton-Cotes-Open).
-
sparse_grid_open_dataset,
a program which
creates a sparse grid dataset based on
open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
-
sparse_interp_nd,
a library which
can be used to define a sparse interpolant to a function f(x) of a
M-dimensional argument.
-
sphere_exactness,
a program which
tests the polynomial exactness of a quadrature rule
over the surface of the unit sphere in 3D;
-
sphere_fibonacci_grid,
a library which
uses a Fibonacci spiral to create a grid of points
on the surface of the unit sphere in 3D.
-
sphere_grid,
a library which
provides a number of ways of generating grids of points, or of
points and lines, or of points and lines and faces,
over 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
for the surface of the unit sphere in 3D;
-
sphere_llq_grid,
a library which
uses longitudes and latitudes to create grids of points,
lines, and quadrilaterals
on the surface of the unit sphere in 3D.
-
sphere_llt_grid,
a library which
uses longitudes and latitudes to create grids of points,
lines, and triangles
on the surface of the unit sphere in 3D.
-
sphere_monte_carlo,
a library which
applies a Monte Carlo method to estimate the integral of a function
over the surface of the unit sphere in 3D;
-
sphere_quad,
a library which
uses triangulation to approximate an integral
over the surface of the unit sphere in 3D;
-
sphere_stereograph,
a library which
computes the stereographic mapping between points
on the plane Z=1 and
the surface of the unit sphere in 3D.
-
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_display_opengl,
a program which
displays a sphere and randomly selected generator points, and then
gradually colors in points closest to each generator
on the surface of the unit sphere in 3D .
-
sphere_xyz_display_opengl,
a program which
reads XYZ information defining points in 3D that lie (presumably)
on the surface of the unit sphere in 3D,
and displays an image of the sphere and the points, using OpenGL;
-
spiral_data,
a library which
computes a velocity vector field that satisfies the continuity
equation, writing the data to a file that can be plotted
by gnuplot.
-
spline,
a library which
interpolates or approximates data by piecewise polynomial functions;
-
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 square in 2D.
-
square_felippa_rule,
a library which
returns Felippa's quadratures rules for approximating integrals
over the interior of a square in 2D.
-
square_grid,
a library which
computes a grid of points
over the interior of a square in 2D.
-
square_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit square in 2D.
-
square_minimal_rule,
a library which
returns "almost minimal" quadrature rules,
with exactness up to total degree 55,
over the interior of the symmetric square in 2D,
by Mattia Festa and Alvise Sommariva.
-
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;
-
star_discrepancy,
a program which
computes bounds on the star discrepancy of a set of N points
in M dimensions, stored as a table file,
by Eric Thiemard.
-
stla_io,
a library which
reads and writes ASCII stereolithography (STL)
3d graphics files;
-
stochastic_diffusion,
functions which
implement several versions of a stochastic diffusivity coefficient.
-
stochastic_heat2d,
a program which
implements a finite difference method (FDM) for the steady
(time independent) 2D heat equation,
with a stochastic heat diffusivity coefficient.
-
stochastic_rk,
a library which
applies a Runge-Kutta (RK) scheme
to a stochastic ordinary differential equation (SODE).
-
stokes_2d_exact,
a library which
evaluates exact solutions to the incompressible steady
Stokes equations over the unit square in 2D.
-
string_simulation,
a program which
simulates the behavior of a vibrating string
by solving the corresponding initial boundary value problem (IBVP),
creating files that can be displayed by gnuplot.
-
stroud,
a library which
defines quadrature rules for a variety of M-dimensional regions,
including the interior of the square, cube and hypercube,
the pyramid, cone and ellipse, the hexagon,
the M-dimensional octahedron,
the circle, sphere and hypersphere, the triangle, tetrahedron
and simplex, and the surface of the circle, sphere and hypersphere.
-
subpak,
a library which
contains 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.
-
superlu_openmp,
programs which
illustrate how to use the SUPERLU library with the
OpenMP parallel programming interface,
which applies a fast direct solution method to solve
sparse linear systems,
by James Demmel, John Gilbert, and Xiaoye Li.
-
superlu_test,
C++ programs which
illustrate how a CPP program can call the SUPERLU library
(which is written in C),
which applies a fast direct solution method to solve
sparse linear systems,
by James Demmel, John Gilbert, and Xiaoye Li.
-
svd_basis,
a program which
applies the singular value decomposition (SVD) to a set of vectors,
to extract the dominant modes;
-
svd_demo,
a program which
demonstrates the calculation of the
singular value decomposition (SVD) and some of its properties;
-
svd_snowfall,
a program which
reads a file containing historical snowfall data and
analyzes the data with the Singular Value Decomposition (SVD),
displaying the results using gnuplot.
-
svd_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
computes the Delaunay triangulation
of a set of points stored as a table file;
-
table_io,
a library which
reads and writes a simple dataset stored as a table file;
-
table_latinize,
a program which
reads a dataset of N points in M dimensions
from a table file,
adjusts data to form a Latin Hypercube;
-
table_quality,
a program which
reads a dataset of N points in the
M-dimensional unit hypercube from a table file,
and analyzes the quality of dispersion;
-
table_voronoi,
a program which
reads a set of 2D points from a table file, and
prints information about the Voronoi diagram;
-
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.
-
test_approx,
a library which
implements test problems for approximation,
provided as a set of (x,y) data.
-
test_eigen,
a library which
implements test matrices for eigenvalue analysis.
-
test_int,
a library which
implements test problems for
approximate integration in one dimension.
-
test_int_2d,
a library which
implements test problems for
approximate integration in two dimensions.
-
test_interp,
a library which
defines test problems for interpolation,
provided as a set of (x,y) data.
-
test_interp_1d,
a library which
defines test problems for interpolation of data y(x),
which depends on a 1D argument.
-
test_interp_2d,
a library which
defines test problems for interpolation of data z(x,y),
depending on a 2D argument.
-
test_interp_nd,
a library which
defines test problems for interpolation of data z(x),
depending on an M-dimensional argument.
-
test_lls,
a library which
implements linear least squares (LLS) 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_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_opt_con,
a library which
defines test problems for the minimization of
a scalar function of several variables,
with the search constrained to lie
within a specified hyper-rectangle.
-
test_optimization,
a library which
implements test problems for optimization
of a scalar function of several variables,
as described by Molga and Smutnicki.
-
test_values,
a library which
returns a small set of values for a variety of mathematical
functions, suitable for a rough test of accuracy for algorithms;
-
test_zero,
a library which
implements test problems for the solution
of a single nonlinear equation in one variable.
-
testpack,
a program which
demonstrates the use of
a set of test integrand functions chosen 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 files containing
the nodes and elements defining this tri_surface data.
-
tet_mesh_display_opengl,
a program which
reads two files describing
a tetrahedral mesh in 3D and displays it using OpenGL.
-
tet_mesh_l2q,
a program which
reads information about a 4-node (linear) tet mesh and
creates data defining a corresponding 10-node (quadratic)
tet mesh;
-
tet_mesh_q2l,
a program which
reads information about a 10-node (quadratic) tet mesh and
creates data defining a corresponding 4-node (linear)
tet mesh;
-
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
reads a node coordinate file
and a tetrahedron file and returns quality measures for
the tetrahedronal mesh;
-
tet_mesh_rcm,
a program which
computes the Reverse Cuthill McKee (RCM) reordering for the nodes
of a tet_mesh that uses 4-node or 10-node tetrahedrons;
-
tet_mesh_refine,
a program which
refines a tet mesh;
-
tet_mesh_tet_neighbors,
a program which
reads information about a tet mesh and writes out a list of the
tetrahedrons that are adjacent to a given tetrahedron;
-
tet_mesh_volumes,
a program which
computes the volume of each tetrahedron in a tet 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 a general tetrahedron in 3D.
-
tetrahedron_ncc_rule,
a library which
defines Newton-Cotes closed (NCC) quadrature rules
over the interior of a tetrahedron in 3D.
-
tetrahedron_nco_rule,
a library which
defines Newton-Cotes 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
of a tetrahedron in 3D.
-
tetrahedron01_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit tetrahedron in 3D.
-
three_body_simulation,
a program which
simulates the behavior of three planets,
constrained to lie in a plane,
and moving under the influence of gravity,
by Walter Gander and Jiri Hrebicek.
-
tiler_3d,
a library which
blends a pattern repeatedly into a region in 3D;
-
timer,
programs which
measure the CPU time used by a portion of a user's program;
-
timestamp,
a library which
prints the current YMDHMS date as a timestamp,
and other timekeeping operations;
-
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.
-
toms112,
a library which
determines whether a point is contained in a polygon,
by Moshe Shimrat.
This is a version of ACM TOMS algorithm 112.
-
toms178,
a library which
seeks the minimizer of a scalar function of several variables
using the Hooke-Jeeves 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.
This is a version of ACM TOMS algorithm 446,
by Roger Broucke.
-
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.
-
toms515,
a library which
can select subsets of size K from a set of size N,
This is a version of ACM TOMS Algorithm 515,
by Bill Buckles, Matthew Lybanon.
-
toms577,
a library which
evaluates Carlson's elliptic integral functions RC, RD, RF and RJ.
This is a version of ACM TOMS algorithm 577.
-
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 Culligan-Hensley.
-
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.
-
toms917,
a library which
evaluates the Wright Omega function,
by Piers Lawrence, Robert Corless, David Jeffrey.
This is a version of ACM TOMS algorithm 917.
-
treepack,
a library which
carries out computations on trees,
a simple kind of graph that is minimally connected.
-
tri_surface_display_opengl,
a program which
displays a 3D triangulated surface or TRI_SURFACE using OpenGL;
-
tri_surface_io,
a library which
reads and writes the 3D graphics information
in a tri_surface file;
-
triangle_analyze,
a program which
reads a triangle defined in a file, and uses the triangle_properties()
library to compute angles, area, centroid, circumcircle, edge lengths,
incircle, orientation, orthocenter, and quality.
-
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 the unit triangle in 2D.
-
triangle_integrals,
a library which
returns the exact value of the integral of any polynomial
over the interior of an arbitrary triangle in 2D.
-
triangle_interpolate,
a library which
shows how vertex data can be interpolated at any point
in the interior of a triangle.
-
triangle_io,
a library which
can read or write some of the files created by Jonathan Shewchuk's
triangle program.
-
triangle_lyness_rule,
a library which
returns Lyness-Jespersen 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 general triangle in 2D.
-
triangle_ncc_rule,
a library which
defines Newton-Cotes closed (NCC) quadrature rules
over the interior of a triangle in 2D.
-
triangle_nco_rule,
a library which
defines Newton-Cotes 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_to_fem,
a program which reads the NODE and ELE files
created by the triangle program to
describe a triangular mesh, and writes a corresponding pair of
node and element files in the 2D FEM format.
-
triangle_to_medit,
a program which reads the NODE and ELE files
created by the triangle() program to
describe a triangular mesh, and writes a corresponding MESH file
for input to medit().
-
triangle_to_xml,
a program which reads the NODE and ELE files created by triangle() to
describe a triangular mesh in 2D, and writes out a corresponding
XML mesh file for use by DOLFIN or FENICS.
-
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.
-
triangle01_integrals,
a library which
returns the integral of any monomial
over the interior of the unit triangle in 2D.
-
triangle01_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit triangle in 2D.
-
triangulation,
a library which
computes the triangulation of a set of points in the plane,
and performs various operations using a triangulation, including
searching a Delaunay triangulation to find
which triangle contains a given point.
-
triangulation_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_opengl,
a program which
reads two files describing
a triangulation and displays it using OpenGL.
-
triangulation_histogram,
a program which
computes histograms of data over a triangulation.
-
triangulation_l2q,
a program which
reads information about a 3-node (linear) triangulation and creates
data defining a corresponding 6-node (quadratic) triangulation;
-
triangulation_mask,
a program which
reads a triangulation and calls
a user-supplied 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_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 (PS) file;
-
triangulation_q2l,
a program which
reads information about a 6-node triangulation and creates data
defining a corresponding 3-node 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 3-node or 6-node triangles;
-
triangulation_refine,
a program which
refines a triangulation;
-
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 3-node triangulation and creates data
defining a corresponding 4-node triangulation (vertices + centroid);
-
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;
-
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].
-
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 city-to-city distances and solves a (small!)
traveling salesperson problem, using brute force.
-
ubvec,
a library which
demonstrates how nonnegative integers can be stored as
unsigned binary vectors, and arithmetic can be performed on them.
-
umfpack_test,
C++ programs which
call umfpack to solve a sparse linear system.
-
uncontrol,
a program which
removes control characters from a file;
-
unicycle,
a library which
considers permutations containing a single cycle,
sometimes called cyclic permutations.
-
uniform,
a library which
implements uniform random number generators (RNG's)
for a variety of arithmetic types.
-
uniform_dataset,
a program which
creates a file of uniform pseudorandom values;
-
upc,
is a library which
computes the check digit of a uniform product code (UPC),
or reports whether a full 12-digit UPC is actually valid.
-
valgrind_test,
programs which
illustrate the use of the VALGRIND suite of programs which includes
a memory leak detector.
-
van_der_corput,
a library which
evaluates the van der Corput 1-dimensional Quasi Mont Carlo (QMC) sequence,
using a simple interface.
-
van_der_corput_advanced,
a library which
computes elements of the van der Corput
1-dimensional Quasi Mont Carlo (QMC) sequence, allowing more sophisticated
input and control.
-
van_der_corput_dataset,
a program which
creates a file of Quasi Mont Carlo (QMC) van der Corput values;
-
vandermonde,
a library which
implements the Bjork-Pereyra 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 setting up and solving a linear system
for the polynomial coefficients
involving the Vandermonde matrix,
creating graphics files for processing by gnuplot.
-
vandermonde_interp_2d,
a library which
finds a polynomial interpolant to data z(x,y) of a 2D argument
by setting up and
solving a linear system for the polynomial coefficients
involving the Vandermonde matrix.
-
walker_sample,
a library which
efficiently samples a discrete probability vector using
Walker sampling.
-
walsh,
a library which
implements versions of the Walsh and Haar transforms.
-
wathen,
a library which
compares storage schemes (full, banded, sparse triplet ) and
solution strategies: Linpack full, Linpack banded,
conjugate gradient (CG), for linear systems involving the Wathen
matrix, which can arise when solving a problem using the
finite element method (FEM).
-
wave_mpi,
a program which
uses finite differences and the Message Passing Interface (MPI)
to estimate a solution to the wave equation.
-
wavelet,
a library which
does some simple wavelet calculations;
-
wedge_exactness,
a program which
investigates the polynomial exactness of a quadrature rule
over the interior of the unit wedge in 3D.
-
wedge_felippa_rule,
a library which
returns quadrature rules for approximating integrals
over the interior of the unit wedge in 3D.
-
wedge_grid,
a library which
computes a grid of points
over the interior of the unit wedge in 3D.
-
wedge_integrals,
a library which
returns the exact value of the integral of any monomial
over the interior of the unit wedge in 3D.
-
wedge_monte_carlo,
a library which
uses the Monte Carlo method to estimate an integral
over the interior of the unit wedge in 3D.
-
weekday,
a library which
determines the day of the week corresponding to a given date,
such as 14 October 1066, Julian calendar, ... which was a Saturday.
-
width,
a program which
returns the length and location of the longest line in a text file;
-
wishart,
a library which
produces sample matrices from the Wishart or Bartlett distributions,
useful for sampling random covariance matrices.
-
wrap,
a program which
wraps a file so that no line is longer than 80 characters;
-
wrap2,
a program which
wraps a text file so that no line is
longer than a given maximum; the wrapping may be done slightly
earlier than at the maximum, in order to avoid breaking words;
-
wtime,
a library which
returns a reading of the wall clock time in seconds.
-
x_window_test,
C++ programs which
test the X Window system.
-
xy_display_opengl,
a program which
reads XY information defining points in 2D
and displays an image using OpenGL;
-
xy_io,
a library which
reads and writes XY, XYL and XYF files defining points,
lines, and faces in 2D.
-
xyf_display_opengl,
a program which
reads XYF information defining points and faces in 2D
and displays an image using OpenGL;
-
xyl_display_opengl,
a program which
reads XYL information defining points and lines in 2D
and displays an image using OpenGL;
-
xyz_display_opengl,
a program which
reads XYZ information defining points in 3D
and displays an image using OpenGL;
-
xyz_io,
a library which
reads and writes XYZ, XYZL and XYZF files defining points, lines and
faces in 3D.
-
xyzf_display_opengl,
a program which
reads XYZF information defining points and faces in 3D
and displays an image using OpenGL;
-
xyzl_display_opengl,
a program which
reads XYZL information defining points and lines in 3D
and displays an image using OpenGL;
-
zero_rc,
a library which
seeks a solution of a scalar nonlinear equation f(x)=0,
using reverse communication (RC), by Richard Brent.
-
ziggurat,
a library which
samples the uniform, normal or exponential distributions,
using the ziggurat method,
by Marsaglia and Tsang.
-
ziggurat_inline,
a library which
samples the uniform, normal or exponential distributions,
using the ziggurat method, by Marsaglia and Tsang.
In this original version, each random number generator (RNG) is
implemented inline, for increased speed.
-
ziggurat_openmp,
a program which
demonstrates how the ziggurat library can be used
as a random number generator (RNG) in an OpenMP parallel program.
You can go up one level to
the main web page.
Last revised on 03 November 2018.