C Source Codes
-
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 a C version of Applied Statistics Algorithm 5;
-
asa006,
a library which
computes the Cholesky factor of a positive definite symmetric matrix;
this is a C version of Applied Statistics Algorithm 6;
-
asa007,
a library which
computes the inverse of a positive definite symmetric matrix;
this is a C version of Applied Statistics Algorithm 7;
-
asa032,
a library which
evaluates the incomplete Gamma function;
this is a C version of Applied Statistics Algorithm 32;
-
asa047,
a library which
minimizes a scalar function of several variables using the Nelder-Mead algorithm;
this is a C version of Applied Statistics Algorithm 47;
-
asa058,
a library which
carries out K-means clustering of data;
this is a C version of Applied Statistics Algorithm 58;
-
asa063,
a library which
evaluates the incomplete Beta function;
this is a C version of Applied Statistics Algorithm 63;
-
asa066,
a library which
computes the cumulative density function of the standard normal distribution;
this is a C version of Applied Statistics Algorithm 66;
-
asa076,
a library which
evaluates Owen's T function;
this is a C version of Applied Statistics Algorithm 76;
-
asa091,
a library which
computes the percentage points of the Chi-square distribution;
this is a C version of Applied Statistics Algorithm 91;
-
asa103,
a library which
evaluates the digamma or psi function;
this is a C version of Applied Statistics Algorithm 103;
-
asa109,
a library which
inverts the incomplete Beta function;
this is a C version of Applied Statistics Algorithm 109;
-
asa111,
a library which
evaluates the percentage points of the normal distribution;
this is a C version of Applied Statistics Algorithm 111;
-
asa113,
a library which
clusters data using the Banfield and Bassill transfer and swap algorithm;
this is a C version of Applied Statistics Algorithm 113;
-
asa121,
a library which
evaluates the trigamma function;
this is a C version of Applied Statistics Algorithm 121;
-
asa136,
a library which
clusters data using the Hartigan and Wong algorithm;
this is a C version of Applied Statistics Algorithm 136;
-
asa144,
a library which
randomly generates tables with given row and column sums;
this is a C version of Applied Statistics Algorithm 144;
-
asa147,
a library which
evaluates the incomplete Gamma function;
this is a C++ version of Applied Statistics Algorithm 147;
-
asa152,
a library which
evaluates point and cumulative probabilities associated with the
hypergeometric distribution;
this is a C version of Applied Statistics Algorithm 152;
-
asa159,
a library which
computes a random table with given row
and column sums;
this is a C version of Applied Statistics Algorithm 159;
-
asa172,
a library which
simulates the generation of a set of multi-indices by nested DO-Loops;
this is a C version of Applied Statistics Algorithm 172;
-
asa183,
a library which
implements the Wichman-Hill pseudorandom number generator;
this is a C version of Applied Statistics Algorithm 183;
-
asa226,
a library which
evaluates the noncentral incomplete Beta function;
this is a C version of Applied Statistics Algorithm 226;
-
asa239,
a library which
evaluates the incomplete Gamma function;
this is a C version of Applied Statistics Algorithm 239;
-
asa241,
a library which
computes the inverse of the normal CDF;
this is a C version of Applied Statistics Algorithm 241;
-
asa243,
a library which
evaluates the lower tail of the noncentral Student's T distribution;
this is a C version of Applied Statistics Algorithm 243;
-
asa245,
a library which
evaluates the logarithm of the Gamma function;
this is a C version of Applied Statistics Algorithm 245;
-
asa299,
a library which
computes the lattice points
(integer coordinates) in an M-dimensional simplex;
this is a C version of Applied Statistics Algorithm 299;
-
asa310,
a library which
evaluates the noncentral incomplete Beta function;
this is a C version of Applied Statistics Algorithm 310;
-
ascii_to_mri,
a program which
restores MRI data to its original binary format, having been
previously converted to an ASCII text file.
-
ball_grid,
a library which
computes grid points inside a 3D ball.
-
bernstein,
a library which
evaluates the Bernstein polynomials;
-
beta_nc,
a library which
evaluates the CDF of the noncentral Beta distribution;
-
bio,
a library which
manages binary I/O,
by Greg Hood.
-
black_scholes,
a library which
implements some simple approaches to
the Black-Scholes option valuation theory,
by Desmond Higham.
-
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.
-
blas1_c,
a library of the Level 1 Basic Linear Algebra Subprograms,
using single precision complex arithmetic;
-
blas1_d,
a library of the Level 1 Basic Linear Algebra Subprograms,
using double precision real arithmetic;
-
blas1_s,
a library of the Level 1 Basic Linear Algebra Subprograms,
using single precision real arithmetic;
-
blas1_z,
a library of the Level 1 Basic Linear Algebra Subprograms,
using double precision complex arithmetic;
-
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,
by Richard Brent.
-
burgers_solution,
a library which
evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
-
c,
examples which
illustrate some of the features of the C programming language.
-
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_intrinsics,
a program which
illustrates the use of intrinsic functions supplied by the C language.
-
c4_complex_lib,
a library which
defines a single precision complex variable or "C4" as a structure,
and implements certain corresponding elementary functions.
-
c4lib,
a library which
implements certain elementary functions for "C4"
or single precision complex variables
using the C99 "float complex" datatype.
-
c8_complex_lib,
a library which
defines a double precision complex variable or "C8" as a structure,
and implements certain corresponding elementary functions.
-
c8lib,
a library which
implements certain elementary functions for "C8"
or double precision complex variables
using the C99 standard "double complex" datatype.
-
chebyshev,
a library which
computes the Chebyshev interpolant/approximant to a given function
over an interval.
-
chrpak,
a library which
can manipulate characters and strings;
-
circle_arc_grid,
a program which
computes grid points along a circular arc.
-
circle_grid,
a library which
computes grid points inside a circle.
-
cnoise,
a library which
generates samples of noise obeying a 1/f^alpha power law,
by Miroslav Stoyanov.
-
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.
-
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.
-
cordic,
a library which
computes a few special functions using the CORDIC algorithm.
-
csparse,
a library which
carries out the direct solution of sparse
linear systems, by Timothy Davis.
-
cyclic_reduction,
a library which
solves a tridiagonal linear system using cyclic reduction;
-
diaphony,
a program which
reads a file of N points in M dimensions and computes its diaphony, a measure
of point dispersion.
-
dijkstra,
a program which
runs a simple example 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.
-
dislin,
examples which
illustrate the use of DISLIN, a scientific graphics package.
-
divdif,
a library which
computes divided difference polynomials from data;
-
ellipse_grid,
a library which
computes grid points inside an ellipse.
-
ellipsoid_grid,
a library which
computes grid points inside a 3D ellipsoid.
-
f77split,
a program which
splits a file containing
multiple FORTRAN77 routines into separate files;
-
f90split,
a program which
splits a file containing multiple FORTRAN90 routines into separate files;
-
fd_predator_prey,
a program which
solves a pair of predator prey ODE's using a finite difference approximation.
-
fd1d_burgers_lax,
a program which
applies the finite difference method 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 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
to a two point boundary value problem in one spatial dimension.
-
fd1d_heat_explicit,
a library 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;
-
fd1d_wave,
a program which
applies the finite difference method to solve the time-dependent
wave equation in one spatial dimension.
-
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_bvp_linear,
a program which
applies the finite element method, with piecewise linear elements,
to a two point boundary value problem 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 for the steady
(time independent) 1D heat equation;
-
fem2d_poisson_rectangle_linear,
a program which
solves the 2D Poisson equation on a rectangle,
using the finite element method,
and piecewise linear triangular elements.
-
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
in parallel, using OpenMP.
-
fft_serial,
a program which
computes a Fast Fourier Transform, and is intended as
a starting point for implementing an OpenMP parallel version.
-
fftw3,
examples which
illustrate the use of FFTW3, a library of routines
for Fast Fourier Transforms,
by Matteo Frigo and Steven Johnson.
-
filum,
a library which
performs various operations with files;
-
flood_opengl,
a program which
uses OpenGL to allow the user to select regions of an image
and flood them with color,
by Art Wetzel.
-
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,
by Wayne Fullerton.
-
forest_fire_simulation,
a program which
models the occurrence of fires in a forest, and displays the status
of the forest using X Windows, by Michael Creutz.
-
gcc_intrinsics,
a program which
demonstrates or tests some of the intrinsic functions made available
by the Gnu GCC compiler for C.
-
gcc_quadmath,
a program which
illustrates the use of quadruple precision real arithmetic,
as provided on some systems by the Gnu GCC compiler for C.
-
geometry,
a library which
carries out geometrical algorithms for 2D, 3D, ND;
-
gnuplot_i,
a library which
allows an executing C, C++ or FORTRAN program to interact with the
GNUPLOT graphics program,
by Nicholas Devillard.
-
gnuplot_i_examples,
programs which
demonstrate the use of the GNUPLOT_I library for interactive
runtime GNUPLOT graphics.
-
gprof,
examples which
illustrate the use of the GPROF program performance monitor;
-
graphchk,
a program which
checks that a METIS graph file has the proper format;
-
graphics_examples,
programs which
illustrate how various kinds of data can be displayed and analyzed graphically.
-
haar,
a library which
computes the Haar transform of data.
-
heat_mpi,
a program which
demonstrates the use of 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 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.
-
i4lib,
a library which
contains many utility routines, using "I4" or "single precision integer"
arithmetic.
-
i8lib,
a library which
contains many utility routines, using "I8" or "double precision integer"
arithmetic.
-
ice_io,
a library which
reads or writes ICE grid files stored in NETCDF format.
-
ice_to_mesh,
a program which
reads a NETCDF file containing an ICE dataset and rewrites the
information as a MESH file.
-
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.
-
is_serial,
a program which
is a serial version of the NAS Parallel Benchmark IS
(integer sort).
-
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.
-
kmetis,
a program which
uses the METIS library to partition
the nodes of a graph in a balanced way, useful for parallel
processing;
-
kronrod,
a library which
can compute a Gauss and Gauss-Kronrod pair of quadrature rules
of arbitrary order,
by Robert Piessens, Maria Branders.
-
laplace_mpi,
a program which
solves Laplace's equation on a rectangle,
using MPI for parallel execution.
-
latinize,
a library which
adjusts N points in M dimensions to form a Latin Hypercube;
-
legendre_rule_fast,
a program which
uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order.
-
life_opengl,
a program which
uses OpenGL to display the evolution of John Conway's Game of Life,
by Simon Green.
-
lights_out_opengl,
a program which
sets up a Lights Out game and allows the user to solve it,
using the OpenGL graphics window.
-
linpack,
a library which
solves linear systems for a variety of matrix storage schemes,
real or complex arithmetic, and single or double precision.
-
linpack_bench,
a program which
is a version of the LINPACK benchmark program;
-
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 which
factors matrices in a variety of formats, and solving the
associated linear systems, using single precision real arithmetic;
-
linplus,
a library which
factors/solves/multiplies matrices in a variety of formats;
-
llsq,
a library which
solves the simple linear least squares problem of finding the formula
of a straight line y=a*x+b which minimizes the root-mean-square error
to a set of N data points.
-
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,
a directory of example 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_ascii,
a program which
generates an ASCII TEXT image of the Mandelbrot set,
using just two lines of C code.
-
mandelbrot_ppm,
a program which
generates a binary Portable Pixel Map (PPM) image of the Mandelbrot set,
by Eric Weeks.
-
matmul,
a program which
carries out a matrix multiplication benchmark;
-
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.
-
memory_test,
a program which
tests the memory available on the computer by declaring
and using big vectors.
-
mesh_io,
a library which
can read or write MESH files, which can be used to define the geometry
of a finite element mesh in 2D or 3D, using triangles, quadrilaterals,
tetrahedrons or hexahedrons.
-
mesh_to_ice,
a program which
reads the ICE dataset information from a MESH files and rewrites
it to a NETCDF file.
-
mesh2dual,
a program which
used the METIS library to convert
a finite element mesh to a dual graph.
-
mesh2nodal,
a program which
uses the METIS library to convert
a finite element mesh to a nodal graph.
-
metis,
a library which
partitions the nodes of a graph or the elements of a mesh, for division among
a number of parallel processes, or to reorder the variables in a sparse
matrix to minimize fillin;
-
mgmres,
a library which
applies the restarted GMRES algorithm to a sparse linear system,
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.
-
mixed,
a directory of example programs which
illustrate the use of mixed language programming in which the main
routine is written in C;
-
mm_io,
a library which
reads and writes a Matrix Market (MM) Sparse Matrix File;
-
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.
-
mri_to_ascii,
a program which
converts the binary data in an MRI file to ASCII text.
-
mri_to_pgm,
a program which
converts the binary data in an MRI file to a sequence of PGM image files.
-
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.
-
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_openmp,
a program which
compares the performance of the matrix multiplication problem
y=A*x, with and without parallelization by OpenMP.
-
nas,
a program which
runs the NASA kernel benchmark.
-
netcdf,
a directory of example programs which
read and write NETCDF files.
-
normal,
a library which
generates pseudorandom normal values;
-
nsasm,
a library which
computes the jacobian matrix associated
with a finite element approximation of the incompressible
steady Navier-Stokes equations in 2D, and to store these as
a sparse matrix, by Per-Olof Persson.
-
obj_to_ply,
a program which
converts a 3D graphics file from OBJ format to
PLY format format, by Greg Turk.
-
ode,
a library which
solves a system of ordinary differential equations,
by Shampine and Gordon;
-
ode_moshier,
a library which
implements the Adams-Bashforth-Moulton and Runge-Kutta (RK) methods of
solving systems of ordinary differential equations,
by Steven Moshier.
-
oemetis,
a program which
uses the METIS library to reorder
the variables in a sparse matrix.
-
onmetis,
a program, using the METIS library, which can reorder
the variables in a sparse matrix.
-
opengl,
examples which
illustrate the use of the OpenGL graphics library;
-
openmp,
examples which
illustrate the use of the OpenMP interface for
parallel programming shared memory system;
-
openmp_stubs,
a stub 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.
-
owens,
a library which
evaluates Owen's T function;
-
paranoia,
a program which
checks the accuracy of the floating point arithmetic on a computer.
-
partdmesh,
a program, using the METIS library, which can partition
a finite element mesh after constructing the dual graph.
-
partition_problem,
a library which
seeks solutions of the partition problem, splitting a set of integers into
two subsets with equal sum.
-
partnmesh,
a program, using the METIS library, which can partition
a finite element mesh after constructing the nodal graph.
-
pbma_io,
a library which
reads or writes an ASCII Portable Bit Map (PBM) bit map graphics file;
-
pbmlib,
a library which
reads or writes graphics files in the Portable Bit Map (PBM) format;
-
pcl_read,
a program which
reads a PCL file and extracts the numeric data;
-
pgma_io,
a library which
reads or writes ASCII Portable Gray Map (PGM) 2D grayscale graphics files;
-
pig_latin,
a program which
converts its input to Pig Latin; a winner of the International
Obfuscated C Code Competition in the Most Humorous category,
by Don Dodson;
-
pink_noise,
a library which
computes a pink noise signal obeying a 1/f power law.
-
plato_ply,
a program which
writes a PLY graphics file for any Platonic solid,
by Greg Turk.
-
ply_io,
a library which
reads or writes a 3D graphics file in PLY format,
by Greg Turk;
-
ply_to_iv,
a program which
converts a 3D graphics file from PLY format to Inventor format,
by Greg Turk.
-
ply_to_obj,
a program which
converts a 3D graphics file from PLY format to OBJ format,
by Greg Turk.
-
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.
-
polpak,
a library which
evaluates a variety of mathematical functions, including
Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials,
and the Collatz sequence.
-
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 Portable Pixel Map (PPM) graphics file;
-
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.
-
pthreads,
examples which
illustrate the use of the POSIX thread library to carry out
parallel program execution.
-
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.
-
quadrule,
a library which
defines quadrature rules for approximating integrals;
-
qvoronoi,
a program which
computes the Voronoi diagram
of a pointset in M dimensions (part of the QHULL package);
-
r4lib,
a library which
contains many utility routines, using single precision real (R4) arithmetic.
-
r8lib,
a library which
contains many utility routines, using double precision real (R8) arithmetic.
-
rand48,
a program which
demonstrates the use of the RAND48 family of random number generators
available in the C/C++ standard library.
-
randlc,
a library which
generates a sequence of pseudorandom numbers,
used by the NAS Benchmark programs.
-
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.
-
rbox,
a program which
generates random pointsets for testing computational geometry algorithms;
-
rk4,
a library which
applies the fourth order Runge-Kutta (RK) algorithm to estimate the
solution of an ordinary differential equation at the next time step.
-
rkf45,
a library which
applies the Runge-Kutta-Fehlberg (RKF)
algorithm to solve a system of ordinary differential equations;
-
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.
-
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.
-
sftpack,
a library which
implements the slow Fourier transform, intended as a teaching
tool and comparison with the fast Fourier transform.
-
sgefa_openmp,
a program which
compares a standard linear algebra solver against a revised version
which can be run in parallel with OpenMP.
-
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.
-
showme,
a program which
displays triangulations and meshes,
by Jonathan Shewchuk;
-
simplex_coordinates,
a library which
computes the Cartesian coordinates of the vertices of a regular
simplex in M dimensions.
-
sine_transform,
a library which
demonstrates some simple properties of the discrete sine transform.
-
smolpack,
a library which
estimates the integral of a function
over an M-dimensional hypercube using a sparse grid,
by Knut Petras;
-
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 unit sphere.
-
sphere_lebedev_rule,
a library which
computes Lebedev quadrature rules for the unit sphere;
-
sphere_quad,
a library which
approximates an integral over the surface of the unit sphere
by applying a triangulation to the surface;
-
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.
-
star_discrepancy,
a program which
computes bounds on the star discrepancy of a set of N points
in M dimensions,
by Eric Thiemard.
-
stochastic_rk,
a library which
applies a Runge-Kutta (RK) scheme to a stochastic differential equation.
-
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
subsets, combinations, permutations;
-
subset_sum,
a program which
seeks solutions of the subset sum problem.
-
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;
-
super_blas,
a library which
implements some of the BLAS routines, for
particular use by super_lu;
-
super_lu,
a library which
implements a very fast direct solver
for sparse linear systems;
-
sweep2,
a program which
computes Voronoi Diagrams or Delaunay triangulations,
by Steve Fortune;
-
table_io,
a library which
reads and writes a simple dataset stored as a table file;
-
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_2d,
a library which
implements test problems for
approximate integration (quadrature) in two dimensions.
-
test_interp,
a library which
defines test problems for interpolation,
provided as a set of (x,y) data.
-
test_interp_fun,
a library which
defines test problems for interpolation,
provided as a function.
-
test_interp_scattered,
a library which
defines test problems for interpolation of data (x,y,z(x,y)),
with the data points (x,y) scattered irregularly.
-
test_mat,
a library which
implements test matrices.
-
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_opt_con,
a library which
defines test problems for the minimization of a scalar function of several variables,
with the search constrained to lie within a specified hyper-rectangle.
-
test_optimization,
a library which
implements test problems for optimization
of a scalar function of several variables,
as described by Molga and Smutnicki.
-
test_values,
a library which
returns a small set of values
for a variety of mathematical functions,
suitable for a rough test of accuracy for algorithms;
-
testpack,
a program which
demonstrates the use of
a set of test integrand functions chosen by Alan Genz.
-
tetrahedron_grid,
a library which
computes a grid of points inside a 3D tetrahedron.
-
timer,
examples which
illustrate how to estimate the CPU time taken by a portion of a program;
-
timestamp,
a library which
returns the current YMDHMS date as a timestamp, and performs other chores;
-
toms178,
a library which
seeks the minimizer of a function of several variables, using the
Hooke-Jeeves direct search 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.
-
toms322,
a library which
evaluates the F and Student's T cumulative density functions;
this is a C version of ACM TOMS algorithm 322.
-
toms446,
a library which
manipulates Chebyshev series for interpolation and approximation;
this is a C 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 C version of ACM TOMS algorithm 462.
-
toms655,
a library which
computes computes the weights for interpolatory quadrature rule;
this library is commonly called IQPACK;
this is a C version of ACM TOMS algorithm 655.
-
toms722,
a library which
supports IEEE arithmetic.
-
triangle,
a program which
generates meshes, Delaunay triangulations, and Voronoi diagrams,
by Jonathan Shewchuk;
-
triangle_grid,
a library which
computes a triangular grid of points.
-
triangle_io,
a library which
can read or write some of the files created by Jonathan Shewchuk's
triangle program.
-
triangulate,
a program which
triangulates a polygonal region,
by Joseph ORourke;
-
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;
-
trig_to_neib,
a program which
reads node and ele files (a format prescribed by triangle)
describing a triangulation, and produces a file defining the
neighbor triangles of each element; the program can also produce
information about the Voronoi diagram. The program is by Lili Ju.
-
uniform,
a library which
generates uniform pseudorandom values;
-
uudecode,
a program which
recovers the original file from a UU encoded file,
by Stephen Satchell and Chuck Forsberg.
-
uuencode,
a program which
takes an input file, especially a binary file,
and creates a UU encoded copy that is a text file, suitable for
transmission through mail or other text-only systems,
by Stephen Satchell and Chuck Forsberg.
-
valgrind,
a directory of programs which
illustrate the use of the valgrind suite of programs which includes
a memory leak detector.
-
walsh,
a library which
implements versions of the Walsh and Haar transforms.
-
wtime,
a library which
returns a reading of the wall clock time in seconds.
-
xboids,
a program which
simulates the behavior of a flying flock of animals,
displaying the results using X Windows,
by Conrad Parker.
-
xising,
a program which
models the variations in ferromagnetism in a material, displaying
the results using X Windows,
by Michael Creutz.
-
xwaves,
a program which
simulates the behavior of solutions of certain forms of the wave equation, displaying
the results using X Windows,
by Michael Creutz.
-
ziggurat,
a library which
samples the uniform, normal or exponential distributions, using the ziggurat method,
by Marsaglia and Tsang.
-
ziggurat_openmp,
a program which
demonstrates how the ziggurat library can be used to generate random numbers
in an OpenMP parallel program.
You can go up one level to
the main web page.
Last revised on 26 February 2012.