C++ Source Codes
I've written, converted, modified or admired a few C++ packages.
For each package listed below, if you click on its name, you can see
an expanded explanation of its purpose, a list of its contents, and
copy the entire source code file, a sample calling program, or the
results of running the calling program.
Currently available software includes:
-
anagram,
a program which
determines anagrams of a string, by James Cherry;
-
ann,
a library which
computes Approximate Nearest Neighbors, by David Mount and Sunil Arya;
-
ann_test,
a program which
uses the ann to approximate the nearest
neighbors of a set of points stored in a file;
-
ann_to_fig,
a program which
plots the search tree used
by ann, while seeking the
approximate nearest neighbors of a set of points;
-
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;
this is Applied Statistics Algorithm 5;
-
asa006
a library which
computes the Cholesky factor of a positive definite symmetric matrix;
this is Applied Statistics Algorithm 6;
-
asa007
a library which
computes the inverse of a positive definite symmetric matrix;
this is Applied Statistics Algorithm 7;
-
asa032
a library which
evaluates the incomplete Gamma function;
this is Applied Statistics Algorithm 32;
-
asa047
a library which
minimizes a scalar function of several variables using the Nelder-Mead algorithm;
this is Applied Statistics Algorithm 47;
-
asa058
a library which
carries out clustering of data;
this is Applied Statistics Algorithm 58;
-
asa063
a library which
evaluates the incomplete Beta function;
this is Applied Statistics Algorithm 63;
-
asa066
a library which
computes the cumulative density function of the standard normal distribution;
this is Applied Statistics Algorithm 66;
-
asa076
a library which
evaluates Owen's T function;
this is Applied Statistics Algorithm 76;
-
asa091,
a library which
computes the percentage points of the Chi-square distribution;
this is Applied Statistics Algorithm 91;
-
asa103,
a library which
evaluates the digamma or psi function;
this is Applied Statistics Algorithm 103;
-
asa109
a library which
inverts the incomplete Beta function;
this is Applied Statistics Algorithm 109;
-
asa111
a library which
evaluates the percentage points of the normal distribution;
this is Applied Statistics Algorithm 111;
-
asa113
a library which
clusters data using the Banfield and Bassill transfer and swap algorithm;
this is Applied Statistics Algorithm 113;
-
asa121,
a library which
evaluates the trigamma function;
this is Applied Statistics Algorithm 121;
-
asa136
a library which
clusters data using the Hartigan and Wong algorithm;
this is Applied Statistics Algorithm 136;
-
asa144
a library which
randomly generates tables with given row and column sums;
this is Applied Statistics Algorithm 144;
-
asa147
a library which
evaluates the incomplete Gamma function;
this is Applied Statistics Algorithm 147;
-
asa152,
a library which
evaluates point and cumulative probabilities associated with the
hypergeometric distribution;
this is Applied Statistics Algorithm 152;
-
asa159,
a library which
computes a random table with given row
and column sums;
this is Applied Statistics Algorithm 159;
-
asa172
a library which
simulates the generation of a set of multi-indices by nested DO-Loops;
this is Applied Statistics Algorithm 172;
-
asa183,
a library which
implements the Wichman-Hill pseudorandom number generator;
this is Applied Statistics Algorithm 183;
-
asa226
a library which
evaluates the noncentral incomplete Beta function;
this is Applied Statistics Algorithm 226;
-
asa239
a library which
evaluates the incomplete Gamma function;
this is Applied Statistics Algorithm 239;
-
asa241,
a library which
computes the inverse of the normal CDF;
this is Applied Statistics Algorithm 241;
-
asa243
a library which
evaluates the lower tail of the noncentral Student's T distribution;
this is Applied Statistics Algorithm 243;
-
asa245
a library which
evaluates the logarithm of the Gamma function;
this is Applied Statistics Algorithm 245;
-
asa299,
a library which
computes the lattice points
(integer coordinates) in an multi_dimensional simplex;
this is Applied Statistics Algorithm 299;
-
asa310
a library which
evaluates the noncentral incomplete Beta function;
this is Applied Statistics Algorithm 310;
-
beta_nc,
a library which
evaluates the CDF of the noncentral Beta distribution;
-
bins,
a library which
handles geometric data partially sorted into bins;
-
bits_to_ui,
a program which
reads a text file of "bits", ('0' and '1'
characters), and writes a binary file in which groups of 32 bits
have been interpreted as an unsigned integer;
-
blas1_c,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms,
using single precision complex arithmetic;
-
blas1_d,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms,
using double precision real arithmetic;
-
blas1_s,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms,
using single precision real arithmetic;
-
blas1_z,
a library which
constitutes the Level 1 Basic Linear Algebra Subprograms,
using double precision complex 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 PPM file;
-
bmp_to_ppmb,
a program which
converts a
Microsoft BMP file
to a
binary PPM file;
-
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 Richard Brent's routines for finding zeroes or minima of
functions, without the use of derivative information.
-
calendar_rd,
a program which computes the representation of a given date in a
number of calendrical systems,
by Edward Reingold and Nachum Dershowitz
-
caustic_open_gl,
a program which computes a caustic curve and displays it using OpenGL.
-
ccvt_box,
a program which
carries out a CVT calculation constrained to a box region,
with points projected to the boundary;
-
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;
-
clenshaw_curtis_grid,
a library which
implements a multidimensional Clenshaw Curtis quadrature rule;
-
clenshaw_curtis_rule,
a program which
implements a Clenshaw Curtis quadrature rule;
-
cnf_io
is a library which
reads or writes CNF data files, used to store boolean formulas in
conjunctive normal form.
-
cordic,
a library which
computes a few special functions using the CORDIC algorithm.
-
cpp,
examples which
illustrate some features of the C++ language;
-
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 CRC (cyclic redundancy checksum) as used by the
PNG data format.
-
crrm,
a program which
removes carriage returns from a file;
-
cvt,
a library which
computes an N point CVT (Centroidal
Voronoi Tessellation) in M dimensions;
-
cvt_dataset,
a program which
creates a CVT (Centroidal Voronoi Tessellation) dataset;
-
dcdflib,
a library which
evaluates and inverts of various cumulative distribution functions;
-
deblank,
a program which
removes all blank lines from a file;
-
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;
-
detroff,
a program which
removes from a file every occurrence of the TROFF overprint
pair character+backspace, which can make a MAN page printable;
-
dislin,
examples which
illusrate the use of DISLIN, a scientific plotting package;
-
divdif,
a library which
computes divided difference polynomials from data;
-
dunavant,
a library which
defines Dunavant quadrature rules in a triangle;
-
emps,
a program which
expands a compressed MPS linear programming file;
-
faure,
a library which
computes elements of the Faure
multi_dimensional quasirandom sequence;
-
fd_predator_prey,
a program which
solves a pair of predator prey ODE's using a finite difference approximation.
-
fd1d_bvp,
a program which
applies the finite difference method
to a two point boundary value problem in one spatial dimension.
-
fd1d_heat_explicit,
a program which
implements a finite difference solution, explicit in time, of the
time dependent 1D heat equation;
-
fd1d_heat_implicit,
a program which
implements a finite difference solution, implicit in time, of the
time dependent 1D heat equation;
-
fd1d_heat_steady,
a program which
implements a finite difference solution for the steady
(time independent) 1D heat equation;
-
fekete,
a library which
sets up one of seven Fekete rules for interpolation
or quadrature in a triangle;
-
felippa,
a library which
defines quadrature rules for lines, triangles, quadrilaterals,
pyramids, wedges, tetrahedrons and hexahedrons.
-
fem_io,
a library which
reads or writes
FEM files,
(three text files describing a finite element model);
-
fem1d,
a program which
applies the finite element method,
using piecewise linear basis functions, to a linear
two point boundary value problem in 1D;
-
fem1d_adaptive,
a program which
uses an adaptive mesh when applying the finite element method,
with piecewise linear basis functions, to a linear
two point boundary value problem in 1D;
-
fem1d_nonlinear,
a program which
applies the finite element method, with piecewise linear basis functions, to a nonlinear
two point boundary value problem in 1D;
-
fem1d_pmethod,
a program which
applies the p-method version of the finite element method to a linear
two point boundary value problem in 1D;
-
fem1d_project
is 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_heat,
a program which
applies the finite element method
to solve the time dependent heat equation on a square in 2D;
-
fem2d_poisson,
is a program which
solves the 2D Poisson equation on a rectangle, using the finite element method,
and piecewise quadratic triangular elements.
-
fem2d_poisson_linear
is a program which
solves the 2D Poisson equation on a rectangle, using the finite element method,
and piecewise linear triangular elements.
-
fem2d_project
is 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
is 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.
-
fempack,
a library which
implements various finite element calculations;
-
ffp_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 free_fem_poisson which replaces
the banded storage and direct solver by a sparse storage format
and an iterative solver.)
-
fft_open_mp
is a program which
demonstrates the computation of a Fast Fourier Transform
in parallel, using OpenMP.
-
fft_serial
is a program which
computes a Fast Fourier Transform, and is intended as
a starting point for implementing an OpenMP parallel version.
-
filum,
a library which
performs various operations with files;
-
floyd
is a library which
implements Floyd's algorithm for finding the shortest distance between pairs of
nodes on a directed graph.
-
free_fem_heat,
a program which
applies the finite element method
to solve the time-dependent heat equation in an
arbitrary triangulated region in 2D;
-
free_fem_navier_stokes,
a program which
applies the finite element method
to solve the steady incompressible Navier Stokes equations
in an arbitrary triangulated region in 2D;
-
free_fem_poisson,
a program which
applies the finite element method
to solve Poisson's equation in an arbitrary triangulated region in 2D;
-
free_fem_stokes,
a program which
applies the finite element method
to solve the steady incompressible Stokes's equations
in an arbitrary triangulated region in 2D;
-
fsu_dakota,
a library which
implements a variety of methods
for the generation of quasirandom numbers, submitted for
inclusion in the Sandia Labs DAKOTA package;
-
g++_intrinsics,
a program which
tests or demonstrates some of the intrinsic functions provided by the G++ compiler.
-
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 ALPHA.
-
gen_laguerre_rule,
a program which
computes and writes out a generalized Gauss-Laguerre quadrature rule of given order
and parameter value ALPHA.
-
geometry,
a library which
carries out geometrical algorithms for 2D, 3D, ND;
-
geompack,
a library which
computes the Delaunay triangulation of 2D data;
-
gm_rules,
a library which
defines Grundmann-Moeller quadratures rules for an M-dimensional simplex.
-
gp_io,
a library which
reads GP data files.
-
gprof,
examples which
illustrate the use of the GPROF program performance monitor;
-
grf_display_open_gl,
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
generates N random points on an
multi_dimensional uniform grid;
-
grid_dataset,
a program which
creates a file of grid values;
-
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,
examples which
illustrate the use of the Gnu Scientific Library;
-
halton,
a library which
computes elements of the Halton
multi-dimensional quasirandom sequence;
-
halton_dataset,
a program which
creates a Halton quasirandom sequence;
-
hammersley,
a library which
computes elements of the Hammersley
multi_dimensional quasirandom sequence;
-
hammersley_dataset,
a program which
creates a Hammersley quasirandom sequence;
-
hb_io,
a library which
reads and writes matrices in the Harwell Boeing sparse matrix format;
-
heat_mpi,
a program which
demonstrates the use of MPI, by
solving the 1D time dependent heat equation.
-
heated_plate
is 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.
-
hello,
a program which
prints out "Hello, world!".
-
hermite_rule,
a program which
computes and writes out a Gauss-Hermite quadrature rule of given order.
-
hex_grid,
a library which
creates a hexagonal grid of points in the unit square or an arbitrary rectangle;
-
hex_grid_dataset,
a program which
creates a hexagonal grid of points,
using the
hex_grid library;
-
hexdump,
a program which
produces a hexadecimal dump of a file;
-
htmlindex,
a program which
creates a skeleton HTML page for a marked-up C, C++ or FORTRAN file;
-
ihs,
a library which
computes elements of the Improved
Distributed Hypercube Sampling multi-dimensional quasirandom sequence;
-
ihs_dataset,
a program which
creates an IHS (Improved Distributed Hypercube Sampling) dataset;
-
index,
a program which
extracts routine definition lines
from a marked-up C, C++, FORTRAN77 or FORTRAN90 file;
-
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_gegenbauer,
a program which
tests the polynomial exactness of Gauss-Gegenbauer 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.
-
int_exactness_hermite,
a program which
tests the polynomial exactness of Gauss-Hermite quadrature rules.
-
int_exactness_jacobi,
a program which
tests the polynomial exactness of Gauss-Jacobi quadrature rules.
-
int_exactness_laguerre,
a program which
tests the polynomial exactness of Gauss-Laguerre quadrature rules.
-
int_exactness_legendre,
a program which
tests the polynomial exactness of Gauss-Legendre quadrature rules.
-
ivcon,
a program which
converts between various 3D graphic file formats;
-
jacobi_rule,
a program which
computes and writes out a Gauss-Jacobi quadrature rule of given order.
-
joinup
is a program which
restores the original file from the fixed-size pieces created by SPLITUP.
-
keast,
a library which
defines Keast quadrature rules in a tetrahedron;
-
laguerre_rule,
a program which
computes and writes out a Gauss-Laguerre quadrature rule of given order.
-
latin_center,
a library which
computes Latin Center Squares of N points in M dimensions;
-
latin_edge,
a library which
computes Latin Edge Squares of N points in M dimensions;
-
latin_random,
a library which
computes Latin Random Squares of N points in M dimensions;
-
latinize,
a library which
adjusts N points in M dimensions to form a Latin Hypercube;
-
lattice,
a library which
returns lattice rules for multiple integration;
-
lcvt,
a library which
creates a sort of "Latinized" CVT (Centroidal Voronoi Tessellation);
-
lcvt_dataset,
a program which
creates a "Latinized" CVT (Centroidal Voronoi Tessellation);
-
legendre_rule,
a program which
writes out a Gauss-Legendre quadrature rule of given order.
-
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;
-
lights_out_open_gl,
a program which
sets up a "Lights Out" game and allows the user to solve it,
using the OpenGL graphics window.
-
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;
-
linpack_d,
a library which
factors matrices in a variety of formats, and solving the
associated linear systems, using double precision real arithmetic;
-
linpack_s,
a library hich
factors matrices in a variety of formats, and solving the
associated linear systems, using single precision real arithmetic;
-
linpack_z,
a library which
factors matrices in a variety of formats, and solving the
associated linear systems, using double precision complex arithmetic;
-
linplus,
a library which
factors/solves/multiplies matrices in a variety of formats;
-
lissajous_open_gl,
a program which computes a Lissajous curve and displays it using OpenGL.
-
machar,
a library which
dynamically computes the value of various machine characteristic constants;
-
machine,
a library which
returns tabulated values of the constants associated with computer arithmetic
-
makefiles,
examples which
illustrate the use of MAKEFILES for maintaining a software project;
-
md
is a program which
carries out a molecular dynamics simulation, and is intended as
a starting point for implementing an OpenMP parallel version.
-
md_open_mp
a program which
carries out a molecular dynamics simulation using OpenMP.
-
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 arbitrary dimension.
-
mesh_display_open_gl,
a program which
reads data defining a polygonal mesh and displays it using OpenGL.
-
mgmres,
a library which
applies the restarted GMRES algorithm to a sparse linear system;
-
mixed,
examples which
illustrate mixed language programming in which the main program
is written in C++;
-
mpi,
examples 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;
-
mpi_sysx,
examples which
illustrate the use of PBS scripts for submitting MPI jobs to System X.
-
mxv,
a program which
compares the performance of (FOR I, FOR J) loops and (FOR J, FOR I ) loops
for computing the product of an MxN matrix A and an N vector X.
-
mxv_open_mp,
a program which
compares the performance of the matrix multiplication problem
y=A*x, with and without parallelization by OpenMP.
-
my_calendar,
a program which
checks a calendar file and prints any line containing the current date;
-
my_complex,
a C++ class for complex numbers;
-
nast2d,
a program which
applies the 2D finite volume method to solve
transient Navier Stokes flow, by Griebel, Dornseifer and Neunhoffer;
-
ncc_tetrahedron,
a library which
defines Newton-Cotes closed
quadrature rules in a tetrahedron;
-
ncc_triangle,
a library which
defines Newton-Cotes closed
quadrature rules in a triangle;
-
nco_tetrahedron,
a library which
defines Newton-Cotes open quadrature rules in a tetrahedron;
-
nco_triangle,
a library which
defines Newton-Cotes open quadrature rules in a triangle;
-
neighbors_to_metis_graph,
a program which
reads a file describing the neighbor
structure of a tet mesh, and writes a
METIS GRAPH
file suitable for input to one of the family of programs based
on METIS.
-
niederreiter,
a library which
computes elements of the Niederreiter
quasirandom M dimensional sequence [arbitrary base];
-
niederreiter2,
a library which
computes elements of the Niederreiter
multi-dimensional quasirandom sequence using base 2;
-
nint_exactness,
a program which
tests the polynomial exactness
of a multidimensional quadrature rule
defined over a finite rectangular product region.
-
nint_exactness_mixed
a program which
measures the polynomial exactness of a multidimensional quadrature rule
based on a mixture of 1D quadrature rule factors.
-
nint_exactness_tet,
a program which
tests the polynomial
exactness of a quadrature rule for the tetrahedron;
-
nint_exactness_tri,
a program which
tests the polynomial
exactness of a quadrature rule for the triangle;
-
nintlib,
a library which
implements approximate integration (quadrature)
in multiple dimensions;
-
normal,
a library which
generates pseudorandom normal numbers;
-
open_gl,
examples which
illustrate the use of the OpenGL graphics library;
-
open_mp,
examples which
illustrate the use of the OpenMP interface for
parallel programming shared memory system;
-
open_mp_sgi,
examples which
illustrate the use of OpenMP with C++ programs on the
Virginia Tech SGI systems.
-
open_mp_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.
-
owens
a library which
evaluates Owen's T function;
-
pages,
a program which
counts the number of pages (sets of 60 lines) in a file;
-
patterson_rule,
a program which
looks up and writes out a Gauss-Patterson quadrature rule of given order.
-
pbma_io,
a library which
reads or writes an
ASCII PBM
bit map graphics file;
-
pbmb_io,
a library which
reads or writes a
binary PPM
bit map graphics file;
-
pcl_read,
a program which
reads a PCL file and extracts the numeric data;
-
petsc,
examples which
illustrate the use of the Portable Extensible Toolkit for
Scientific Computations;
-
pgma_io,
a library which
reads or writes an
ASCII PGM
gray map graphics file;
-
pgma_to_pgmb,
a program which
converts an
ASCII PGM file to a
binary PGM file;
-
pgmb_io,
a library which
reads or writes a
binary PGM file,
a 2D gray map graphics format;
-
pgmb_to_pgma,
a program which
converts a
binary PGM file;
to a
ASCII PGM file;
-
piecewise_linear_product_integral
is a library which
calculates the exact value of the integral of the product of two
piecewise linear functions F(X) and G(X).
-
png_crc,
a program which
computes the CRC (cyclic redundancy checksum) for a
PNG graphics file
(or any other file, for that matter);
-
polpak,
a library which
evaluates recursively defined polynomials,
and other special functions;
-
polygonal_surface_display_open_gl
a program which
displays a surface in 3D described as a set of polygons using OpenGL;
-
power_method
a library which
carries out the power method for finding a dominant eigenvalue
and its eigenvector.
-
ppma_io,
a library which
reads or writes an
ASCII PPM file
pixel map graphics file;
-
ppma_to_bmp,
a program which
converts an
ASCII PPM file
to a
Microsoft BMP file;
-
ppma_to_ppmb,
a program which
converts an
ASCII PPM file
to binary PPM format;
-
ppmb_io,
a library which
reads or writse a
binary PPM 2D
pixel map graphics file;
-
ppmb_to_bmp,
a program which
converts a
binary PPM file to a
Microsoft BMP file;
-
ppmb_to_ppma,
a program which
converts a
binary PPM file to
ASCII PPM format
-
prime_number
is a program which
counts the number of primes between 1 and N.
-
prime_number_mpi
is a program which
counts the number of primes between 1 and N,
using MPI for parallel execution.
-
prime_number_open_mp
is a program which
counts the number of primes between 1 and N,
using OpenMP for parallel execution.
-
prob,
a library which
evaluates the PDF, CDF, mean, variance and
samples of various probability distributions;
-
product_factor,
a program which
creates a multidimensional quadrature rule
from a product of distinct 1d quadrature rules;
-
product_rule,
a program which
creates a multidimensional quadrature rule
from a product of identical 1d quadrature rules;
-
pthreads,
examples which
illustrate the use of the POSIX thread library to carry out
parallel program execution.
-
quad_mesh,
a library which
handles meshes of quadrilaterals over a 2D region;
-
quad_mpi,
a program which
applies a quadrature rule to estimate an
integral, working in parallel by using MPI;
-
quad_open_mp,
a program which
applies a quadrature rule to estimate an
integral, working in parallel by using OpenMP;
-
quadrature_test
a program which
reads the definition of a
multidimensional 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.
-
quadrule,
a library which
defines quadrature rules for
approximating integrals;
-
quality,
a library which
computes quality of distribution
measures for pointsets in M dimensions;
-
rand48,
a program which
demonstrates the use of the RAND48 family of random number generators
available in the C/C++ standard library.
-
random_data,
a library which
generates sample points for
various probability distributions, spatial dimensions, and geometries;
-
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.
-
rcm,
a library which
applies the reverse Cuthill McKee algorithm for
reordering the nodes of a graph, and reducing the bandwidth of a
corresponding sparse matrix;
-
recomment,
a program which
converts C style comments to C++ style;
-
region_sample,
a library which
returns sample points from a region;
-
reword,
a program which
makes a copy of a file in which
every line has the same number of "words";
-
rkf45,
a library which
applies the Runge-Kutta-Fehlberg
algorithm to solve a system of ordinary differential equations;
-
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_open_gl
a program which
displays a rotating color cube in 3D, using OpenGL;
-
rsites,
a program which
generates random pointsets with
integer coordinates for testing computational geometry algorithms;
-
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_sparse,
a library which
can produce a multidimensional 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.
-
satisfiability
is a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem.
-
satisfiability_mpi
is a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem,
using MPI to perform the calculation in parallel.
-
satisfiability_open_mp
is a program which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem,
using OpenMP for parallel execution.
-
sgefa_open_mp,
a program which
compares a standard linear algebra solver against a revised version
which can be run in parallel with OpenMP.
-
simple_ga,
a program which
is a simple example of a genetic algorithm.
-
sobol,
a library which
computes elements of the Sobol
multi-dimensional quasirandom sequence, extended to a maximal
spatial dimension of 1111;
-
sobol_old,
a library which
computes elements of the Sobol
multi_dimensional quasirandom sequence, restricted to a maximal
spatial dimension of 40;
-
sp_level_closed,
a program which
creates of a sparse grid dataset based on
closed rules (Clenshaw-Curtis, Newton-Cotes-Closed).
-
sp_level_open,
a program which
creates a sparse grid dataset based on
open rules (Fejer 2, Gauss-Patterson, Newton-Cotes-Open).
-
sparse_grid_cc,
a library of routines 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_closed,
a library of routines which
creates sparse grids based on closed rules (Clenshaw-Curtis, Newton-Cotes-Closed).
-
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_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 a mixture of 1D factor rules.
-
sparse_grid_mixed_growth,
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.
-
sparse_grid_open,
a library which
creates sparse grids based on open rules (Fejer 2, Gauss-Patterson,
Newton-Cotes-Open).
-
sphere_voronoi_display_open_gl,
a program which
displays a sphere and randomly selected generator points, and then
gradually colors in points in the sphere that are closest to each generator.
-
spline,
a library which
interpolates or approximates data by piecewise polynomial functions;
-
splitup
is a program which
splits a file into fixed-size pieces.
-
stla_io,
a library which
reads and writes
ASCII STL (stereolithography)
3d graphics files;
-
stroud,
a library which
defines rules for numerical integration (quadrature)
over M dimensional regions, including spheres, toruses and
other shapes;
-
subpak,
a library which
contains many utility routines;
-
subset,
a library which
ranks, unranks and generates random subset,
combinations, permutations and other combinatorial objects;
-
sum_million,
a program which
sums the integers from 1 to 1,000,000, as a demonstration of how
to rate a computer's speed;
-
svd_basis,
a program which
applies the singular value
decomposition to a set of vectors,
to extract the dominant modes;
-
svd_demo,
a program which
demonstrates the calculation of the
singular value decomposition and some of its properties;
-
table_border,
a program which
reads a
TABLE file of 2D data,
and adds data representing a boundary layer of zero values;
-
table_delaunay,
a program which
computes the Delaunay triangulation
of a set of points stored as a
TABLE file;
-
table_discrepancy,
a program which
computes bounds on the star discrepancy of a set of N points
in multi_dimensions, 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
multi-dimensional unit hypercube from a
TABLE file,
and analyzes the quality of dispersion;
-
table_unborder,
a program which
reads a
TABLE file
of 2D data and deletes the data representing the boundary layer;
-
table_voronoi,
a program which
reads a set of 2D points from a
TABLE file, and
prints information about the Voronoi diagram;
-
tanh_quad,
a library which
sets up the tanh quadrature rule;
-
tanh_sinh_rule,
a program which
computes and writes out a tanh-sinh quadrature rule of given order.
-
test_int_2d,
a library which
implements test problems for
approximate integration (quadrature) in two dimensions.
-
test_int_hermite,
a library which
implements test problems for
approximate integration over an infinite interval,
often carried out using Gauss-Hermite quadrature.
-
test_int_laguerre,
a library which
implements test problems for
approximate integration over a semi-infinite interval,
often carried out using Gauss-Laguerre quadrature.
-
test_mat,
a library which
implements test matrices.
-
test_min,
a library which
implements test problems for
minimization of a scalar function of a scalar variable.
-
test_nint,
a library which
implements test problems for
approximate integration (quadrature) in M dimensions.
-
test_tri_int,
a library which
implements test functions for
integration over a triangle in 2 dimensions.
-
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;
-
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_display_open_gl,
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_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 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;
-
tga_io,
a library which
reads a TGA or TARGA graphics file;
-
tiler_3d,
a library which
blends a pattern repeatedly into a region in 3D;
-
timer,
examples 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;
-
toms178
a library which
seeks the minimizer of a scalar function of several variables
using the Hooke-Jeeves method;
this is a C++ version of ACM TOMS algorithm 178.
-
toms179
a library which
calculates the incomplete Beta ratio;
this is a C++ version of ACM TOMS algorithm 179.
-
toms291
a library which
approximates the logarithm of the Gamma function;
this is a C++ version of ACM TOMS algorithm 291.
-
tri_surface_io,
a library which
reads and writes the 3D graphics information
in an TRI_SURFACE file;
-
triangulation,
a library which
computes the triangulation of a set of
points in the plane, to search it, plot it, and manipulate it
in other ways;
-
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_display_open_gl,
a program which
reads two files describing
a triangulation and displays it using OpenGL.
-
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_orient,
a program which
ensures that the triangles in
an order 3 or order 6 triangulation have positive orientation;
-
triangulation_plot,
a program which
reads files describing a triangulation, and creates
an Encapsulated PostScript image of it.
-
triangulation_q2l,
a program which
reads information about a 6-node triangulation and creates data
defining a corresponding 3-node triangulation;
-
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 reordering for the nodes
of a triangulation that uses 3-node or 6-node triangles;
-
triangulation_refine,
a program which
refines a triangulation;
-
triangulation_t3_to_t4
is 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;
-
uncontrol,
a program which
removes control characters from a file;
-
uniform,
a library which
generates uniform pseudorandom numbers;
-
uniform_dataset,
a program which
creates a file of uniform pseudorandom values;
-
van_der_corput,
a library which
evaluates the van der Corput 1-dimensional quasirandom sequence;
-
van_der_corput_dataset,
a program which
creates a file of van der Corput values;
-
vector_read,
a library which
reads, one line at a time, numeric data, storing it in a vector returned to the user;
-
wandzura,
a library which
returns a Wandzura rule for quadrature in a triangle;
-
width,
a program which
returns the length and location of the longest line in a text file;
-
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
is a library which
returns a reading of the wall clock time in seconds.
-
x_window,
examples which
illustrate the use of the X Window graphical terminal system;
-
xy_display_open_gl,
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_open_gl,
a program which
reads XYF information defining points and faces in 2D
and displays an image using OpenGL;
-
xyl_display_open_gl,
a program which
reads XYL information defining points and lines in 2D
and displays an image using OpenGL;
-
xyz_display_open_gl,
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_open_gl,
a program which
reads XYZF information defining points and faces in 3D
and displays an image using OpenGL;
-
xyzl_display_open_gl,
a program which
reads XYZL information defining points and lines in 3D
and displays an image using OpenGL;
-
ziggurat,
a library which
samples the uniform, normal or exponential distributions, using the ziggurat method.
-
ziggurat_open_mp,
a program which
demonstrates how the ZIGGURAT library can be used to generate random numbers
in an OpenMP parallel program.
-
ziggurat_original,
a library which
is the original version of the ZIGGURAT library.
You can go up one level to
the main web page.
Last revised on 24 April 2009.