- 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 C 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 C 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 C version of Applied Statistics Algorithm 7,
- asa032, a library which evaluates the incomplete Gamma function, by G Bhattacharjee; 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, by R ONeill; this is a C version of Applied Statistics Algorithm 47;
- asa058, a library which carries out K-means clustering of data, by David Sparks; this is a C version of Applied Statistics Algorithm 58;
- asa063, a library which evaluates the incomplete Beta function, by KL Majumder and G Bhattacharjee; this is a C 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 C version of Applied Statistics Algorithm 66;
- asa076, a library which evaluates Owen's T function, by Young and Minder; this is a C 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 C version of Applied Statistics Algorithm 91;
- asa103, a library which evaluates the digamma or psi function, by Jose Bernardo; this is a C version of Applied Statistics Algorithm 103;
- asa109, a library which inverts the incomplete Beta function, by Cran, Martin and Thomas; this is a C 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 C 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 C version of Applied Statistics Algorithm 113;
- asa121, a library which evaluates the trigamma function, by BE Schneider; this is a C version of Applied Statistics Algorithm 121;
- asa136, a library which implements a clustering algorithm, by Hartigan and Wong; this is a C 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 C version of Applied Statistics Algorithm 144;
- asa147, a library which evaluates the incomplete Gamma function, by Chi Leung Lau; this is a C 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 C 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 C version of Applied Statistics Algorithm 159;
- asa172, a library which generates all multidimensional indices in a given range, simulating the behavior of an arbitrary number of nested loops, by OFlaherty and MacKenzie. this is a C version of Applied Statistics Algorithm 172;
- asa183, a library which implements a pseudorandom number generator, by Wichman and Hill; this is a C version of Applied Statistics Algorithm 183;
- asa226, a library which evaluates the noncentral incomplete Beta function, by Russell Lenth; this is a C version of Applied Statistics Algorithm 226;
- asa239, a library which evaluates the incomplete Gamma function, by Shea; this is a C 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 C 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 C version of Applied Statistics Algorithm 243;
- asa245, a library which evaluates the logarithm of the Gamma function, by Allan Mcleod; 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, by Chasalow and Brand; this is a C version of Applied Statistics Algorithm 299;
- asa310, a library which evaluates the noncentral incomplete Beta function, by Chattamvelli and Shanmugam; 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.
- ball_volume_monte_carlo, a program which applies a Monte Carlo procedure to estimate the volume of the M-dimensional unit ball;
- barycentric_interp_1d, a library which defines and evaluates the barycentric Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i). The barycentric approach means that very high degree polynomials can safely be used.
- bernstein, a library which evaluates the Bernstein polynomials;
- beta_nc, a library which evaluates the cumulative density function (CDF) of the noncentral Beta distribution;
- bio, a library which manages binary I/O, by Greg Hood.
- 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].
- 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 (BLAS), using single precision complex arithmetic;
- blas1_d, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), using double precision real arithmetic;
- blas1_s, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), using single precision real arithmetic;
- blas1_z, a library of the Level 1 Basic Linear Algebra Subprograms (BLAS), 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.
- brownian_motion_simulation, a library which simulates Brownian motion in an M-dimensional region.
- burgers_solution, a library which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
- c, programs which illustrate some of the features of the C programming language.
- c_arrays, programs which illustrate the use of vectors, matrices and tensors.
- 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.
- c_operators, a program which illustrates the use of some of the operators supplied by the C language.
- c_random, programs which illustrate the use of the C random number generator routines.
- c4_complex_lib, a library which defines a single precision complex (C4) variable as a structure, and implements certain corresponding elementary functions.
- c4lib, a library which implements certain elementary functions for single precision complex (C4) variables using the C99 "float complex" datatype.
- c8_complex_lib, a library which defines a double precision complex (C8) variable as a structure, and implements certain corresponding elementary functions.
- c8lib, a library which implements certain elementary functions for double precision complex (C8) variables using the C99 standard "double complex" datatype.
- 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.
- chebyshev, a library which computes the Chebyshev interpolant or 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).
- chrpak, a library which can manipulate characters and strings;
- circle_arc_grid, a library which computes grid points along a circular arc.
- circle_grid, a library which computes grid points inside a circle.
- clenshaw_curtis_rule, a program which implements a Clenshaw Curtis quadrature rule;
- cnoise, a library which generates samples of noise obeying a 1/f^alpha power law, by Miroslav Stoyanov.
- collatz_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 library 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.
- cordic, a library which computes a few special functions using the CORDIC algorithm.
- correlation, a library which contains examples of statistical correlation functions.
- csparse, a library which carries out the direct solution of sparse linear systems, by Timothy Davis.
- cycle_brent, a library which carries out an iterated function evaluation, and seeks to determine the nearest element of a cycle, and the cycle's length, using Brent's method.
- cycle_floyd, a library which carries out an iterated function evaluation, and seeks to determine the nearest element of a cycle, and the cycle's length, using Floyd's method.
- cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
- 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, programs which illustrate the use of dislin, a scientific graphics package.
- 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.
- duel_simulation, a program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
- 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 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;
- fair_dice_simulation, a program which simulates N tosses of 2 dice, making a histogram of the results.
- fd_predator_prey, a program which solves a pair of predator prey ordinardy differential equations (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_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.
- fftw3, programs which illustrate the use of FFTW3, a library of routines for the Fast Fourier Transform (FFT), by Matteo Frigo and Steven Johnson.
- 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.
- 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;
- geompack, a library which computes the Delaunay triangulation of 2D data, by Barry Joe;
- gm_rule, a library which defines Grundmann-Moeller quadratures rules for an M-dimensional simplex.
- 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, programs 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 single precision integer (I4) arithmetic.
- i8lib, a library which contains many utility routines, using double precision integer (I8) 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.
- index, a library which converts a multidimensional 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.
- is_serial, a program which is a serial version of the NAS Parallel Benchmark Integer Sort (IS).
- 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.
- 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 multidimensional argument that was evaluated on a product grid, so that p(x(i)) = z(i).
- laplace_mpi, a program which solves Laplace's equation on a rectangle, using MPI for parallel execution.
- latin_cover, a library which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.
- 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. The original version of this library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
- 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; it includes a function to compute the singular value decomposition (SVD) of a rectangular matrix. The original version of this library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
- linpack_s, a library which factors matrices in a variety of formats, and solving the associated linear systems, using single precision real arithmetic; it includes a function to compute the singular value decomposition (SVD) of a rectangular matrix. The original version of this library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
- linplus, a library which 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 values of various machine characteristic 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_ascii, a program which generates an ASCII text image of the Mandelbrot set, using just two lines of C code.
- 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.
- 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 netcddf 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.
- 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.
- 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 generalized minimum residual (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, 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, programs which illustrate the use of the Message Passing Interface (MPI) 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 a Magnetic Resonance Imaging (MRI) file to ASCII text.
- mri_to_pgm, a program which converts the binary data in a Magnetic Resonance Imaging (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.
- nearest_interp_1d, a library which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion.
- netcdf, 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 (ODEs), 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 (ODE's), 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, programs which illustrate the use of the OpenGL graphics library;
- openmp, programs which illustrate the use of the OpenMP interface for parallel programming shared memory system;
- openmp_stubs, a library which is a dummy implementation of the OpenMP routines, and can be used to compile, load, and run a program using OpenMP on a system which does not have OpenMP installed.
- optimize, a program which looks at the use of automatic optimization by the compiler to make the executable code run faster.
- 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;
- pbmb_io, a library which reads or writes a binary Portable Bit Map (PBM) graphics file;
- pbmlib, a library which reads or writes graphics files in the Portable Bit Map (PBM) format;
- pce_burgers, a program which defines and solves a version of 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.
- pcl_read, a program which reads a PCL file and extracts the numeric data;
- peri1d, a program which sets up and solves a 1D time-dependent peridynamics problem, by Miroslav Stoyanov;
- peri2d, a program which sets up and solves a 2D time-dependent peridynamics problem, by Miroslav Stoyanov;
- pgma_io, a library which reads or writes ASCII Portable Gray Map (PGM) 2D graphics files;
- pgmb_io, a library which reads or writes a binary Portable Gray Map (PGM) 2D graphics file;
- 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 (IV) 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.
- poisson_simulation, a library which simulates a Poisson process in which events randomly occur with an average waiting time of Lambda.
- polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
- polygon_moments, a library which computes arbitrary moments of a polygon.
- 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) 2D graphics file;
- ppmb_io, a library which reads or writes a binary Portable Pixel Map (PPM) 2D 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, 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.
- 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.
- qr_solve, a library which computes the least squares solution of a linear system A*x=b.
- 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; this program is 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.
- random_openmp, a program which illustrates how a parallel program using OpenMP can generate multiple distinct streams of random numbers.
- 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 multidimensional data.
- rbox, a program which generates random pointsets for testing computational geometry algorithms;
- 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."
- 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 (ODE's);
- 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.
- sde, a library which illustrates the properties of stochastic differential equations (SDE's), and common algorithms for their analysis, 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.
- 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.
- 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.
- 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 multidimensional data, based on inverse distance weighting.
- 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;
- sparse_interp_nd, a library which can be used to define a sparse interpolant to a function f(x) of a multidimensional argument.
- 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.
- 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.
- 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 ordinary differential equation (ODE).
- string_simulation, a program which simulates the behavior of a vibrating string.
- 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;
- svd_demo, a program which demonstrates the calculation of the singular value decomposition (SVD) and some of its properties;
- 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, a library which implements test problems for approximate integration (quadrature) in one dimension.
- test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
- test_int_hermite, a library which defines test integrands for Hermite integrals with interval (-oo,+oo) and weight exp(-x^2).
- 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_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), which depends on a 2D argument.
- test_interp_nd, a library which defines test problems for interpolation of data z(x), depending on an M-dimensional argument.
- test_ls, a library which implements linear least squares test problems of the form A*x=b.
- test_mat, a library which 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;
- 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.
- tetrahedron_grid, a library which computes a grid of points inside a 3D tetrahedron.
- 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.
- timer, programs 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;
- toeplitz_cholesky, a library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
- toms178, a library which seeks the minimizer of a function of several variables, using the Hooke-Jeeves direct search method, by Arthur Kaupe. this is a C version of ACM TOMS algorithm 178.
- toms179, a library which calculates the incomplete Beta ratio, by Oliver Ludwig; 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 Function (CDF); 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 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, a library which computes the triangulation of a set of points in the plane, and to perform various operations using a triangulation;
- 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.
- unicycle, a library which considers permutations containing a single cycle, sometimes called cyclic permutations.
- 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, programs which illustrate the use of the valgrind suite of programs which includes a memory leak detector.
- 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.
- 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.
- walsh, a library which implements versions of the Walsh and Haar transforms.
- wavelet, a library which does some simple wavelet calculations;
- 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.
- 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.
forked from johannesgerer/jburkardt-c
Resources for Computation using C
License
latifkabir/Computation_using_C
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Â
Â
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
Repository files navigation
About
Resources for Computation using C
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 85.0%
- HTML 13.2%
- Shell 1.3%
- C++ 0.2%
- Roff 0.2%
- Fortran 0.1%