C++ Source Codes {#c-source-codes align=”center”}
- albany, examples of 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;
- 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.
- 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.
- 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, 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.
- 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, 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.
- clapack_sc, 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, as customized for the FSU
Department of Scientific Computing.
- 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.
- 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_integrals, a library
which returns the exact value of the integral of any monomial over
the interior of the unit disk in 2D.
- disk_monte_carlo, a
library which applies a Monte Carlo method to estimate integrals of
a function over the interior of the unit disk in 2D;
- disk_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;
- disk_rule, a library which computes
quadrature rules for the general disk in 2D, that is, the interior
of the circle of radius RC and center (XC,YC).
- 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).
- 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.
- 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_laguerre_rule, a
program which computes and writes out a generalized Gauss-Laguerre
quadrature rule of given order and parameter value.
- geometry, a library which performs
geometric calculations in 2, 3 and M dimensional space, including
the computation of angles, areas, containment, distances,
intersections, lengths, and volumes.
- 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, programs which illustrate how a
program can write data and command files so that gnuplot can create
plots of the program results.
- gnuplot_i_examples,
programs which demonstrate the use of the gnuplot_i library for
interactive runtime gnuplot graphics.
- 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, 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, functions 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_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.
- .mdindex].mdindex.mdindex.md), 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.
- 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_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].
- 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, a program which
is a version of the 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.
- 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, programs calling a C 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, programs which read and write netcdf
files.
- netcdf_mpas a library which reads
MPAS grid files, stored using the NETCDF format.
- 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_rcc, programs which
illustrate how a C++ program, using OpenMP, can be compiled and run
in batch mode on the FSU High Performance Computing (HPC) cluster
operated by the Research Computing Center (RCC).
- 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.
- partial_digest, a library
which solves the partial digest problem;
- 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.
- 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.
- 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, programs which illustrate the
use of 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;
- 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).
- 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;
- 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_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, 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.
- superlu_openmp, programs
which illustrate how to use the SUPERLU library with the OpenMP
parallel programming interface, which applies a fast direct solution
method to solve sparse linear systems, by James Demmel, John
Gilbert, and Xiaoye Li.
- svd_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_partial_digest,
a library which can generate example cases of the partial digest
problem.
- 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 the unit 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.
- 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, ACM TOMS Algorithm 515, by Bill
Buckles, Matthew Lybanon.
- 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 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.
- 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, examples which illustrate how to
solve a sparse linear system by calling the C library UMFPACK, by
Timothy Davis.
- 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, 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.
- 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 31 January 2017.