- allocatable_array_test
- analemma, a Fortran90 code which evaluates the equation of time, a formula for the difference between the uniform 24 hour day and the actual position of the sun, creating data files that can be plotted with gnuplot(), based on a C code by Brian Tung.
- analemma_test
- annulus_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate the integral of a function over the interior of a circular annulus in 2D.
- annulus_monte_carlo_test
- apportionment, a Fortran90 code which demonstrates some of the methods used or proposed for fairly assigning seats in the House of Representatives to each state;
- apportionment_test
- args, a Fortran90 code which reports the command line arguments of a Fortran90 code;
- args_test
- arpack, a Fortran90 code which computes eigenvalues for large matrices, by Richard Lehoucq, Danny Sorensen, Chao Yang;
- arpack_test
- asa005, a Fortran90 code which evaluates the Cumulative Density Function (CDF) of the noncentral T Probability Density Function (PDF), by BE Cooper. This is a version of Applied Statistics Algorithm 5;
- asa005_test
- asa006, a Fortran90 code which computes the Cholesky factorization of a symmetric positive definite (SPD) matrix, by Michael Healy. This is a version of Applied Statistics Algorithm 6;
- asa006_test
- asa007, a Fortran90 code which computes the inverse of a symmetric positive definite (SPD) matrix, by Michael Healy. This is a version of Applied Statistics Algorithm 7.
- asa007_test
- asa032, a Fortran90 code which evaluates the incomplete Gamma function, by G Bhattacharjee. This is a version of Applied Statistics Algorithm 32.
- asa032_test
- asa047, a Fortran90 code which minimizes a scalar function of several variables using the Nelder-Mead algorithm, by R ONeill. This is a version of Applied Statistics Algorithm 47.
- asa047_test
- asa053, a Fortran90 code which produces sample matrices from the Wishart distribution, by William Smith and Ronald Hocking. This is a version of Applied Statistics Algorithm 53.
- asa053_test
- asa058, a Fortran90 code which implements the K-means data clustering algorithm, by David Sparks. This is a version of Applied Statistics Algorithm 58.
- asa058_test
- asa063, a Fortran90 code which evaluates the incomplete Beta function, by KL Majumder and G Bhattacharjee. This is a version of Applied Statistics Algorithm 63.
- asa063_test
- asa066, a Fortran90 code which evaluates the Cumulative Density Function (CDF) of the normal probability distribution, by David Hill. This is a version of Applied Statistics Algorithm 66.
- asa066_test
- asa076, a Fortran90 code which evaluates the Owen T function, needed to compute the Cumulative Density Function (CDF) of the noncentral T distribution, by Young and Minder. This is a version of Applied Statistics Algorithm 76.
- asa076_test
- asa082, a Fortran90 code which computes the determinant of an orthogonal matrix; this is a version of Applied Statistics Algorithm 82, by J C Gower.
- asa082_test
- asa091, a Fortran90 code which evaluates the percentage points of the Chi-Squared distribution, by Best and Roberts. This is a version of Applied Statistics Algorithm 91.
- asa091_test
- asa103, a Fortran90 code which evaluates the digamma or psi function, by Jose Bernardo. This is a version of Applied Statistics Algorithm 103.
- asa103_test
- asa109, a Fortran90 code which inverts the incomplete Beta function, by Cran, Martin and Thomas. This is a version of Applied Statistics Algorithm 109.
- asa109_test
- asa111, a Fortran90 code which evaluates the percentage points of the normal distribution, by Beasley and Springer. This is a version of Applied Statistics Algorithm 111.
- asa111_test
- asa113, a Fortran90 code which implements a clustering algorithm using transfers and swaps, by Banfield and Bassill. This is a version of Applied Statistics Algorithm 113.
- asa113_test
- asa121, a Fortran90 code which evaluates the trigamma function, by BE Schneider. This is a version of Applied Statistics Algorithm 121.
- asa121_test
- asa136, a Fortran90 code which implements a clustering algorithm, by Hartigan and Wong. This is a version of Applied Statistics Algorithm 136.
- asa136_test
- asa144, a Fortran90 code which randomly generates an RxC contingency table, by James Boyett. This is a version of Applied Statistics Algorithm 144.
- asa144_test
- asa147, a Fortran90 code which evaluates the incomplete Gamma function, by Chi Leung Lau. This is a version of Applied Statistics Algorithm 147.
- asa147_test
- asa152, a Fortran90 code which evaluates the Probability Density Function (PDF) and Cumulative Density Function (CDF) associated with the hypergeometric distribution, by Richard Lund; this is a version of Applied Statistics Algorithm 152.
- asa152_test
- asa159, a Fortran90 code which randomly generates an RxC contingency table, by Michael Patefield; This is a version of Applied Statistics Algorithm 159.
- asa159_test
- asa172, a Fortran90 code which generates all M-dimensional indices in a given range, simulating the behavior of an arbitrary number of nested loops, by OFlaherty and MacKenzie. This is a version of Applied Statistics Algorithm 172.
- asa172_test
- asa183, a Fortran90 code which implements a random number generator (RNG), by Wichman and Hill. This is a version of Applied Statistics Algorithm 183.
- asa183_test
- asa189, a Fortran90 code which estimates the parameters of a beta binomial distribution based on a sample of values generated by the distribution, by D Smith; this is a version of Applied Statistics Algorithm 189;
- asa189_test
- asa205, a Fortran90 code which generates all the contingency tables corresponding to a given set of row and column sums. This is a version of Applied Statistics Algorithm 205.
- asa205_test
- asa226, a Fortran90 code which evaluates the Cumulative Density Function (CDF) of the noncentral Beta distribution, by Russell Lenth. This is a version of Applied Statistics Algorithm 226.
- asa226_test
- asa239, a Fortran90 code which evaluates the incomplete Gamma function, by Shea. This is a version of Applied Statistics Algorithm 239.
- asa239_test
- asa241, a Fortran90 code which evaluates the percentage points of the normal distribution, by Michael Wichura. This is a version of Applied Statistics Algorithm 241.
- asa241_test
- asa243, a Fortran90 code which evaluates the Cumulative Density Function (CDF) of the noncentral T distribution, by Russell Lenth; this is a version of Applied Statistics Algorithm 243.
- asa243_test
- asa245, a Fortran90 code which evaluates the logarithm of the Gamma function, by Allan Mcleod; this is a version of Applied Statistics Algorithm 245.
- asa245_test
- asa266, a Fortran90 code which evaluates various properties of the Dirichlet Probability Density Function (PDF); this is a version of Applied Statistics Algorithm 266;
- asa266_test
- asa299, a Fortran90 code which computes the lattice points in an M-dimensional simplex, by Chasalow and Brand; this is a version of Applied Statistics Algorithm 299;
- asa299_test
- asa310, a Fortran90 code which computes the Cumulative Density Function (CDF) of the noncentral Beta distribution, by Chattamvelli and Shanmugam; this is a version of Applied Statistics Algorithm 310.
- asa310_test
- asa314, a Fortran90 code which computes the inverse of a matrix whose elements are subject to modulo arithmetic, by Roger Payne. This is a version of Applied Statistics Algorithm 314;
- asa314_test
- atbash, a Fortran90 code which applies the Atbash substitution cipher to a string of text.
- atbash_test
- backtrack_binary_rc, a Fortran90 code which carries out a backtrack search for binary decisions, using reverse communication (RC).
- backtrack_binary_rc_test
- ball_grid, a Fortran90 code which computes grid points inside a 3D ball.
- ball_grid_test
- ball_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit ball in 3D.
- ball_integrals_test
- ball_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit ball in 3D;
- ball_monte_carlo_test
- barycentric_interp_1d, a Fortran90 code which defines and evaluates the barycentric Lagrange polynomial p(x) which interpolates data, so that p(x(i)) = y(i). The barycentric approach means that very high degree polynomials can safely be used.
- barycentric_interp_1d_test
- bdmlib, a Fortran90 code which estimates the weights in a Dirichlet mixture based on sample data;
- bdmlib_test
- bellman_ford, a Fortran90 code which implements the Bellman-Ford algorithm for finding the shortest distance from a given node to all other nodes in a directed graph whose edges have been assigned real-valued lengths.
- bellman_ford_test
- bernstein_polynomial, a Fortran90 code which evaluates the Bernstein polynomials;
- bernstein_polynomial_test
- besselj, a Fortran90 code which evaluates Bessel J functions of noninteger order;
- besselj_test
- beta_nc, a Fortran90 code which evaluates the cumulative density function (CDF) of the noncentral Beta distribution;
- beta_nc_test
- bezier_surface, a Fortran90 code which reads, writes, prints and manipulates the data that defines a Bezier surface;
- bezier_surface_test
- bisection_integer, a Fortran90 code which seeks an integer solution to the equation F(X)=0, using bisection within a user-supplied change of sign interval [A,B].
- bisection_integer_test
- bisection_rc, a Fortran90 code which seeks a solution to the equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication (RC).
- bisection_rc_test
- bivar, a Fortran90 code which interpolates scattered bivariate data. This is a version of ACM TOMS algorithm 526, by Hiroshi Akima.
- bivar_test
- black_scholes, a Fortran90 code which implements some simple approaches to the Black-Scholes option valuation theory, creating graphics files for processing by gnuplot(), by Desmond Higham.
- black_scholes_test
- blend, a Fortran90 code which carries out 1D/2D/3D blending interpolation;
- blend_test
- box_behnken, a Fortran90 code which computes a Box-Behnken design, that is, arguments to sample the behavior of a function of multiple parameters;
- box_behnken_test
- brownian_motion_simulation, a Fortran90 code which simulates Brownian motion in an M-dimensional region, creating graphics files for processing by gnuplot().
- brownian_motion_simulation_test
- burgers_solution, a Fortran90 code which evaluates exact solutions of the time-dependent 1D viscous Burgers equation.
- burgers_solution_test
- bvec, a Fortran90 code which demonstrates how signed integers can be stored as binary vectors, and arithmetic can be performed on them.
- bvec_test
- c8lib, a Fortran90 code which implements certain elementary functions for double precision complex (C8) variables;
- c8lib_test
- caesar, a Fortran90 code which applies a Caesar Shift Cipher to a string of text.
- caesar_test
- calendar_nyt, a Fortran90 code which shows the correspondence between dates and the New York Times volume and issue number;
- calendar_nyt_test
- cauchy_principal_value, a Fortran90 code which uses Gauss-Legendre quadrature to estimate the Cauchy Principal Value (CPV) of certain singular integrals.
- cauchy_principal_value_test
- ccn_rule, a Fortran90 code which defines a Clenshaw Curtis Nested (CCN) quadrature rule.
- ccn_rule_test
- ccs_io, a Fortran90 code which reads and writes sparse linear systems stored in the Compressed Column Storage (CCS) format.
- ccs_io_test
- ccs_to_st, a Fortran90 code which converts a sparse matrix from compressed column storage (CCS) to sparse triplet (ST) format.
- ccs_to_st_test
- cdflib, a Fortran90 code which evaluates the cumulative density function (CDF), inverse CDF, and certain other inverse functions, for distributions including beta, binomial, chi-square, noncentral chi-square, F, noncentral F, gamma, negative binomial, normal, Poisson, and students T, by Barry Brown, James Lovato, Kathy Russell.
- cdflib_test
- cell, a Fortran90 code which defines a cell array, a generalization of an array which compactly stores and retrieves vector or matrix data of varying size, such as the rows of a triangular matrix.
- cell_test
- cg, a Fortran90 code which implements a simple version of the conjugate gradient (CG) method for solving a system of linear equations of the form A*x=b, suitable for situations in which the matrix A is positive definite, only real, positive eigenvalues and symmetric.
- cg_test
- cg_rc, a Fortran90 code which implements the conjugate gradient (CG) method for solving a positive definite sparse linear system A*x=b, using reverse communication (RC).
- cg_rc_test
- change_dynamic, a Fortran90 code which uses dynamic programming to solve the change making problem, in which a given sum is to be formed using coins of various denominations.
- change_dynamic_test
- chebyshev, a Fortran90 code which computes the Chebyshev interpolant/approximant to a given function over an interval.
- chebyshev_test
- chebyshev_interp_1d, a Fortran90 code which determines the combination of Chebyshev polynomials which interpolates data, so that p(x(i)) = y(i).
- chebyshev_interp_1d_test
- chebyshev_polynomial, a Fortran90 code which considers the Chebyshev polynomials T(i,x), U(i,x), V(i,x) and W(i,x). Functions are provided to evaluate the polynomials, determine their zeros, produce their polynomial coefficients, produce related quadrature rules, project other functions onto these polynomial bases, and integrate double and triple products of the polynomials.
- chebyshev_polynomial_test
- chebyshev_series, a Fortran90 code which evaluates a Chebyshev series approximating a function f(x), while efficiently computing one, two or three derivatives of the series, which approximate f'(x), f''(x), and f'''(x), by Manfred Zimmer.
- chebyshev_series_test
- chrpak, a Fortran90 code which manipulates characters and strings;
- chrpak_test
- circle_arc_grid, a Fortran90 code which computes a grid of points over the length of a circle or circular arc in 2D.
- circle_arc_grid_test
- circle_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the circumference of the unit circle in 2D.
- circle_integrals_test
- circle_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function along the circumference of the unit circle in 2D;
- circle_monte_carlo_test
- circle_packing, a Fortran90 code which performs a circle-packing test on the spacing for points;
- circle_packing_test
- circle_segment, a Fortran90 code which carries out computations associated with a circle segment, including height, angle, area, centroid, sampling, and quadrature, creating some graphics images using gnuplot().
- circle_segment_test
- clausen, a Fortran90 code which evaluates a Chebyshev interpolant to the Clausen function Cl2(x).
- clausen_test
- clenshaw_curtis_grid, a Fortran90 code which sets up a Clenshaw Curtis quadrature rule in multiple dimensions;
- clenshaw_curtis_grid_test
- cluster_energy, a Fortran90 code which groups data into a given number of clusters to minimize the energy.
- cluster_energy_test
- cnf_io, a Fortran90 code which reads or writes DIMACS Conjunctive Normal Form (CNF) files defining satisfiability problems in terms of a boolean formula.
- cnf_io_test
- codepack, a Fortran90 code which determine if two graphs are isomorphic.
- codepack_test
- collatz_recursive, a Fortran90 code which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
- collatz_recursive_test
- colored_noise, a Fortran90 code which generates samples of noise obeying a 1/f^alpha power law.
- colored_noise_test
- colors, a Fortran90 code which converts between various formats for describing colors;
- colors_test
- combo, a Fortran90 code 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.
- combo_test
- compass_search, a Fortran90 code which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.
- compass_search_test
- complex_numbers_test, a Fortran90 code which demonstrates some simple features involved in the use of complex numbers.
- components, a Fortran90 code which organizes contiguous cells into labeled clusters, for a 1D, 2D, or 3D array. This code has uses in image analysis and percolation simulation.
- components_test
- condition, a Fortran90 code which implements methods of computing or estimating the condition number of a matrix.
- condition_test
- continued_fraction, a Fortran90 code which deals with simple and generalized continued fractions.
- continued_fraction_test
- cordic, a Fortran90 code which computes a few special functions using the CORDIC algorithm.
- cordic_test
- cosine_transform, a Fortran90 code which demonstrates some simple properties of the discrete cosine transform (DCT).
- cosine_transform_test
- csv_io, a Fortran90 code which reads and writes files that use the Comma Separated Value (CSV) format.
- csv_io_test
- cube_exactness, a Fortran90 code which computes the polynomial exactness of quadrature rules over the interior of a cube in 3D.
- cube_exactness_test
- cube_grid, a Fortran90 code which computes a grid of points over the interior of a cube in 3D.
- cube_grid_test
- cube_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit cube in 3D.
- cube_integrals_test
- cube_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit cube in 3D.
- cube_monte_carlo_test
- cuda_loop, a Fortran90 code which shows how, in a CUDA program running on a Graphics Processing Unit (GPU), the choice of block and thread factors determines the allocation of tasks to processors.
- cuda_loop_test
- cvt, a Fortran90 code which computes elements of a Centroidal Voronoi Tessellation (CVT).
- cvt_test
- cvt_basis, a Fortran90 code which uses discrete Centroidal Voronoi Tessellation (CVT) techniques to produce a small set of basis vectors that are good cluster centers for a large set of data vectors;
- cvt_basis_test
- cvt_basis_flow, a Fortran90 code which extracts dominant solution modes from solutions of a flow problem governed by the Navier Stokes Equations (NSE) using Centroidal Voronoi Tessellation (CVT) methods.
- cvtp, a Fortran90 code which creates a Centroidal Voronoi Tessellation on a Periodic region (CVTP).
- cvtp_test
- cvt_triangulation, a Fortran90 code which applies Centroidal Voronoi Tessellation (CVT) techniques to the test_triangulation() set;
- cvt_triangulation_test
- cyclic_reduction, a Fortran90 code which solves a tridiagonal linear system using cyclic reduction.
- cyclic_reduction_test
- differ, a Fortran90 code which determines the finite difference method (FDM) coefficients necessary to compute an approximation of given accuracy to a derivative of a given order.
- differ_test
- dijkstra, a Fortran90 code which implements a simple version of the Dijkstra minimum distance algorithm for graphs.
- dijkstra_test
- discrete_pdf_sample_2d, a Fortran90 code which demonstrates how to construct a Probability Density Function (PDF) from a table of sample data, and then to use that PDF to create new samples.
- discrete_pdf_sample_2d_test
- disk_grid, a Fortran90 code which computes grid points within the interior of a disk of user specified radius and center in 2D, using gnuplot() to create an image of the grid.
- disk_grid_test
- disk_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate integrals of a function over the interior of the general disk in 2D;
- disk_monte_carlo_test
- disk01_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit disk in 2D.
- disk01_integrals_test
- disk01_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit disk in 2D;
- disk01_monte_carlo_test
- disk01_quarter_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit quarter disk in 2D;
- disk01_quarter_monte_carlo_test
- distance_to_position, a Fortran90 code which estimates the positions of cities based on a city-to-city distance table.
- distance_to_position_test
- dream, a Fortran90 code which implements the DREAM algorithm for accelerating Markov Chain Monte Carlo (MCMC) convergence using differential evolution, using five user functions to define the problem, by Guannan Zhang.
- dream_test
- duel_simulation, a Fortran90 code which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.
- duel_simulation_test
- dutch, a Fortran90 code which carries out tasks in computational geometry.
- dutch_test
- edge, a Fortran90 code which defines some test functions in 1D, 2D and 3D for the detection of edges or discontinuities. It uses gnuplot() to display the jumps in curves and surfaces.
- edge_test
- ellipse, a Fortran90 code which carries out geometric calculations for ellipses and ellipsoids, including area, distance to a point, eccentricity, perimeter, points along the perimeter, random sampling, conversion between standard and quadratic forms.
- ellipse_test
- ellipse_grid, a Fortran90 code which computes grid points over the interior of an ellipse in 2D.
- ellipse_grid_test
- ellipse_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate the value of integrals over the interior of an ellipse in 2D.
- ellipse_monte_carlo_test
- ellipsoid, a Fortran90 code which carries out geometric calculations for ellipsoids, including area, random sampling, conversion between standard and quadratic forms.
- ellipsoid_test
- ellipsoid_grid, a Fortran90 code which computes a grid of points over the interior of an ellipsoid in 3D.
- ellipsoid_grid_test
- ellipsoid_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate the value of integrals over the interior of an ellipsoid in M dimensions.
- ellipsoid_monte_carlo_test
- elliptic_integral, a Fortran90 code which evaluates complete elliptic integrals of first, second and third kind, using the Carlson elliptic integral functions.
- elliptic_integral_test
- etdrk4, a Fortran90 code which uses the ETD RK4 method to solve systems of stiff ordinary differential equations (ODE), by Aly-Khan Kassam, Lloyd Trefethen.
- etdrk4_test
- euler, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the forward Euler method.
- euler_test
- f90split, a Fortran90 code which reads a Fortran file and creates individual files for every blockdata, function, module, program, or subroutine in the file.
- f90split_test
- fair_dice_simulation, a Fortran90 code which simulates N games where two fair dice are thrown and summed, creating graphics files for processing by gnuplot().
- fair_dice_simulation_test
- fastgl, a Fortran90 code which carries out the rapid computation of the Kth value and weight of an N point Gauss-Legendre quadrature rule, by Ignace Bogaert.
- fastgl_test
- fd_predator_prey, a Fortran90 code which solves a pair of predator prey ordinary differential equations (ODE) using the finite difference method (FDM), and plots the data with gnuplot().
- fd_predator_prey_test
- fd1d_advection_diffusion_steady, a Fortran90 code which applies the finite difference method (FDM) to solve the steady advection diffusion equation v*ux-k*uxx=0 in one spatial dimension, with constant velocity v and diffusivity k, writing graphics files for processing by gnuplot().
- fd1d_advection_diffusion_steady_test
- fd1d_advection_ftcs, a Fortran90 code which applies the finite difference method (FDM) to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the forward time centered space (FTCS) method, writing graphics files for processing by gnuplot().
- fd1d_advection_ftcs_test
- fd1d_advection_lax, a Fortran90 code which applies the finite difference method (FDM) to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the Lax method to approximate the time derivative, writing graphics files for processing by gnuplot().
- fd1d_advection_lax_test
- fd1d_advection_lax_wendroff, a Fortran90 code which applies the finite difference method (FDM) to solve the time-dependent advection equation ut = - c * ux in one spatial dimension, with a constant velocity, using the Lax-Wendroff method to approximate the time derivative, writing graphics files for processing by gnuplot().
- fd1d_advection_lax_wendroff_test
- fd1d_burgers_lax, a Fortran90 code which applies the finite difference method (FDM) and the Lax Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
- fd1d_burgers_lax_test
- fd1d_burgers_leap, a Fortran90 code which applies the finite difference method (FDM) and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
- fd1d_burgers_leap_test
- fd1d_bvp, a Fortran90 code which applies the finite difference method (FDM) to a two point boundary value problem (BVP) in one spatial dimension.
- fd1d_bvp_test
- fd1d_heat_explicit, a Fortran90 code which implements a finite difference method (FDM), explicit in time, of the time dependent 1D heat equation;
- fd1d_heat_explicit_test
- fd1d_heat_implicit, a Fortran90 code which implements a finite difference method (FDM), implicit in time, of the time dependent 1D heat equation;
- fd1d_heat_implicit_test
- fd1d_heat_steady, a Fortran90 code which implements a finite difference method (FDM) for the steady time-independent 1D heat equation;
- fd1d_heat_steady_test
- fd1d_predator_prey, a Fortran90 code which implements the finite difference method (FDM) for a 1D predator-prey system, creating graphics files for processing by gnuplot(), by Marcus Garvie.
- fd1d_predator_prey_test
- fd1d_wave, a Fortran90 code which applies the finite difference method (FDM) to solve the time-dependent wave equation utt = c * uxx in one spatial dimension.
- fd1d_wave_test
- fd2d_heat_steady, a Fortran90 code which implements a finite difference method (FDM) for the steady time-independent 2D heat equation;
- fd2d_heat_steady_test
- fd2d_predator_prey, a Fortran90 code which implements the finite difference method (FDM) for a 2D predator-prey system, by Marcus Garvie.
- fd2d_predator_prey_test
- fem_basis, a Fortran90 code which defines and evaluates basis functions associated with the finite element method (FEM) for any degree in an M-dimensional simplex: 1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)
- fem_basis_test
- fem_io, a Fortran90 code which reads or writes FEM files, which describe the nodes, elements, and function values associated with a finite element method (FEM) model;
- fem_io_test
- fem_to_gmsh, a Fortran90 code which reads a pair of FEM files defining node coordinates and elements, of a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a gmsh() mesh file.
- fem_to_gmsh_test
- fem_to_mesh, a Fortran90 code which reads FEM files defining the node coordinates, boundary nodes, and elements of a finite element mesh, and rewrites the data as a MESH file.
- fem_to_mesh_test
- fem_to_triangle, a Fortran90 code which reads FEM files defining a 2D mesh of triangles, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding pair of node and element files for Jonathan Shewchuk's triangle() program
- fem_to_triangle_test
- fem_to_xml, reads a pair of FEM files defining node coordinates and elements, of a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding XML file for input to dolfin() or fenics().
- fem_to_xml_test
- fem1d, a Fortran90 code which applies the finite element method (FEM), using piecewise linear basis functions, to a linear two point boundary value problem (BVP) in 1D;
- fem1d_test
- fem1d_adaptive, a Fortran90 code which uses an adaptive mesh when applying the finite element method (FEM), with piecewise linear basis functions, to a linear two point boundary value problem (BVP) in 1D;
- fem1d_adaptive_test
- fem1d_bvp_linear, a Fortran90 code which applies the finite element method (FEM), with piecewise linear elements, to a two point boundary value problem (BVP) in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
- fem1d_bvp_linear_test
- fem1d_bvp_quadratic, a Fortran90 code which applies the finite element method (FEM), with piecewise quadratic elements, to a two point boundary value problem (BVP) in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
- fem1d_bvp_quadratic_test
- fem1d_heat_steady, a Fortran90 code which implements the finite element method (FEM) for the steady time-independent 1D heat equation;
- fem1d_heat_steady_test
- fem1d_lagrange, a Fortran90 code which sets up the matrices and vectors associated with the finite element method (FEM) solution of a boundary value problem (BVP) -u''+u=f(x), using Lagrange basis polynomials.
- fem1d_lagrange_test
- fem1d_nonlinear, a Fortran90 code which applies the finite element method (FEM), with piecewise linear basis functions, to a nonlinear two point boundary value problem (BVP) in 1D;
- fem1d_nonlinear_test
- fem1d_pack, a Fortran90 code which contains utilities for 1D finite element method (FEM) calculations.
- fem1d_pack_test
- fem1d_pmethod, a Fortran90 code which applies the p-method version of the finite element method (FEM) to a linear two point boundary value problem (BVP) in 1D;
- fem1d_pmethod_test
- fem1d_project, a Fortran90 code 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_project_test
- fem1d_sample, a Fortran90 code which samples a scalar or vector finite element function of one variable, defined by FEM files, returning interpolated values at the sample points.
- fem1d_sample_test
- fem2d_bvp_linear, a Fortran90 code which applies the finite element method (FEM), with piecewise linear elements, to a 2D boundary value problem (BVP) in a rectangle, and compares the computed and exact solutions with the L2 and seminorm errors.
- fem2d_bvp_linear_test
- fem2d_bvp_quadratic, a Fortran90 code which applies the finite element method (FEM), with piecewise quadratic elements, to a 2D boundary value problem (BVP) in a rectangle, and compares the computed and exact solutions with the L2 and seminorm errors.
- fem2d_bvp_quadratic_test
- fem2d_bvp_serene, a Fortran90 code which applies the finite element method (FEM), with serendipity elements, to a 2D boundary value problem (BVP) in a rectangle, and compares the computed and exact solutions with the L2 and seminorm errors.
- fem2d_bvp_serene_test
- fem2d_heat, a Fortran90 code which uses the finite element method (FEM) and the backward Euler method to solve the time-dependent heat equation on an arbitrary triangulated region in 2D. The user supplies some information in some problem-dependent subroutines.
- fem2d_heat_test
- fem2d_heat_rectangle, a Fortran90 code which implements the finite element method (FEM) for the time dependent heat equation on a triangulated square in 2D;
- fem2d_heat_rectangle_test
- fem2d_pack, a Fortran90 code which implements simple 2D finite element method (FEM) calculations;
- fem2d_pack_test
- fem2d_poisson_rectangle, a Fortran90 code which solves the 2D Poisson equation on a rectangle, using the finite element method (FEM), and piecewise quadratic triangular elements.
- fem2d_poisson_rectangle_test
- fem2d_poisson_rectangle_linear, a Fortran90 code which solves the 2D Poisson equation on a rectangle, using the finite element method (FEM), and piecewise linear triangular elements.
- fem2d_poisson_rectangle_linear_test
- fem2d_sample, a Fortran90 code which samples at arbitray points a finite element function, defined by FEM files, three text files describing the nodes, triangles, and coefficients.
- fem2d_sample_test
- fem3d_pack, a Fortran90 code which contains utilities for 3D finite element method (FEM) calculations.
- fem3d_pack_test
- fem3d_sample, a Fortran90 code which evaluates a finite element function defined on a 3D tetrahedral mesh.
- fem3d_sample_test
- fftpack5, a Fortran90 code which computes Fast Fourier Transforms (FFTs), by Paul Swarztrauber and Dick Valent;
- fftpack5_test
- fftpack51, a Fortran90 code which computes Fast Fourier Transforms (FFTs), using real 64 bit arithmetic, by Paul Swarztrauber and Dick Valent;
- fftpack51_test
- fftw_test, a Fortran90 code which calls fftw(), which computes Fast Fourier Transforms (FFT), by Matteo Frigo and Steven Johnson.
- file_name_sequence, a Fortran90 code which demonstrates ways to generate a sequence of filenames, which can be useful when generating a sequence of still snapshots to be animated later.
- file_name_sequence_test
- filum, a Fortran90 code which performs various operations on files;
- filum_test
- floyd, a Fortran90 code which implements the Floyd algorithm for finding the shortest distance between pairs of nodes on a directed graph.
- floyd_test
- football_dynamic, a Fortran90 code which uses dynamic programming to count the ways of achieving a given score in football.
- football_dynamic_test
- football_rank, a Fortran90 code which is given a set of game scores, and produces a ranking of college football teams.
- football_rank_test
- freefem_msh_io, a Fortran90 code which reads and writes files used by FreeFem++ to store mesh information for the finite element method (FEM).
- freefem_msh_io_test
- fsolve, a Fortran90 code which solves systems of nonlinear equations, inspired by the fsolve() function in MATLAB, and based on the minpack() minimization package.
- fsolve_test
- fsplit, a Fortran90 code which reads a Fortran file and creates individual files for every function, program, or subroutine in the file, by Van Snyder.
- fsplit_test
- gauss_seidel, a Fortran90 code which implements the Gauss-Seidel iteration for linear systems.
- gauss_seidel_test
- gegenbauer_cc, a Fortran90 code which computes the Gegenbauer weighted integral of a function f(x) using a Clenshaw-Curtis approach.
- gegenbauer_cc_test
- gegenbauer_exactness, a Fortran90 code which tests the polynomial exactness of Gauss-Gegenbauer quadrature rules.
- gegenbauer_exactness_test
- gegenbauer_polynomial, a Fortran90 code which evaluates the Gegenbauer polynomial and associated functions.
- gegenbauer_polynomial_test
- gegenbauer_rule, a Fortran90 code which computes and writes out a Gauss-Gegenbauer quadrature rule of given order.
- gegenbauer_rule_test
- gen_hermite_exactness, a Fortran90 code which tests the polynomial exactness of generalized Gauss-Hermite quadrature rules.
- gen_hermite_exactness_test
- gen_hermite_rule, a Fortran90 code which computes and writes out a generalized Gauss-Hermite quadrature rule of given order and parameter value.
- gen_hermite_rule_test
- gen_laguerre_exactness, a Fortran90 code which tests the polynomial exactness of generalized Gauss-Laguerre quadrature rules.
- gen_laguerre_exactness_test
- gen_laguerre_rule, a Fortran90 code which computes and writes out a generalized Gauss-Laguerre quadrature rule of given order and parameter value.
- gen_laguerre_rule_test
- geometry, a Fortran90 code which performs geometric calculations in 2, 3 and M dimensional space, including the computation of angles, areas, containment, distances, intersections, lengths, and volumes.
- geometry_test
- glomin, a Fortran90 code which finds a global minumum of a scalar function of a scalar variable, without the use of derivative information, by Richard Brent.
- glomin_test
- gmsh_io, a Fortran90 code which reads or writes some of the files created by gmsh() for 1D, 2D or 3D meshes used by the finite element method (FEM).
- gmsh_io_test
- gmsh_to_fem, a Fortran90 code which reads a mesh data file created by gmsh() and writes a pair of node and element files that correspond to the FEM format.
- gmsh_to_fem_test
- graph_paper, a Fortran90 code which makes PostScript (PS) graph paper;
- graph_paper_test
- graph_theory, a Fortran90 code which carries out operations on abstract graphs, such as a breadth-first-search, the computation of a minimum spanning tree, an Euler or Hamilton circuit, blocks, chromatic polynomial, or transitive closure. Objects include undirected and directed graphs, weighted graphs, trees and mazes.
- graph_theory_test
- grf_io, a Fortran90 code which reads or writes a grf file which represents a mathematical graph;
- grf_io_test
- grf_to_eps, a Fortran90 code which converts a grf file to Encapsulated PostScript (EPS) format;
- grf_to_eps_test
- haar_transform, a Fortran90 code which computes the Haar transform of 1d or 2d data.
- haar_transform_test
- hello, a Fortran90 code which prints out "Hello, world!".
- hello_test
- hermite_cubic, a Fortran90 code which computes the value, derivatives or integral of a Hermite cubic polynomial, or manipulate an interpolating function made up of piecewise Hermite cubic polynomials.
- hermite_cubic_test
- hermite_integrands, a Fortran90 code which defines test integrands for Hermite integrals with density exp(-x^2) over the interval (-oo,+oo).
- hermite_integrands_test
- hermite_interpolant, a Fortran90 code which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
- hermite_interpolant_test
- hermite_polynomial, a Fortran90 code which evaluates the physicist's Hermite polynomial, the probabilist's Hermite polynomial, the Hermite function, and related functions.
- hermite_polynomial_test
- hermite_product_polynomial, a Fortran90 code which defines Hermite product polynomials, creating a multivariate polynomial as the product of univariate Hermite polynomials.
- hermite_product_polynomial_test
- humps, a Fortran90 code which evaluates the humps function, its first and second derivatives, and its antiderivative.
- humps_test
- hyperball_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit hyperball in M dimensions.
- hyperball_integrals_test
- hyperball_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit ball in M dimensions;
- hyperball_monte_carlo_test
- hypercube_grid, a Fortran90 code which computes a grid of points over the interior of a hypercube in M dimensions.
- hypercube_grid_test
- hypercube_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit hypercube in M dimensions.
- hypercube_integrals_test
- hypercube_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit hypercube in M dimensions.
- hypercube_monte_carlo_test
- hypergeometric, a Fortran90 code which evaluates the generalized hypergeometric functions pFq, for integer p and q, for complex arguments of large magnitude, by Warren Perger, Atul Bhalla, and Mark Nardin.
- hypergeometric_test
- hypersphere, a Fortran90 code which carries out various operations for an M dimensional hypersphere, including converting between Cartesian and spherical coordinates, stereographic projection, sampling the surface of the sphere, and computing the surface area and volume.
- hypersphere_test
- hypersphere_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the surface of the unit hypersphere in M dimensions.
- hypersphere_integrals_test
- hypersphere_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in M dimensions;
- hypersphere_monte_carlo_test
- i4lib, a Fortran90 code which contains utilities which use single precision integer (I4) arithmetic.
- i4lib_test
- i8lib, a Fortran90 code which contains many utility routines, using double precision integer (I8) arithmetic.
- i8lib_test
- interp, a Fortran90 code which parameterizies and interpolates data;
- interp_test
- intlib, a Fortran90 code which carries out approximate integration (quadrature) in one dimension;
- intlib_test
- is_prime, a Fortran90 code which implements various versions of the sieve of Eratosthenes to determine whether a given integer is prime.
- is_prime_test
- jacobi, a Fortran90 code which implements the Jacobi method for the iterative solution of linear systems.
- jacobi_test
- jacobi_eigenvalue, a Fortran90 code which implements the Jacobi iteration for the determination of the eigenvalues and eigenvectors of a real symmetric matrix.
- jacobi_eigenvalue_test
- jacobi_polynomial, a Fortran90 code which evaluates the Jacobi polynomial and associated functions.
- jacobi_polynomial_test
- kdv_ift, a FORTRAN90 code which uses the IFT method to solve the Korteweg-DeVries equation, by Aly-Khan Kassam, Lloyd Trefethen.
- kdv_ift_test
- ketel_one, a Fortran90 code which finds all words formed from the letters in "ketel one vodka";
- ketel_one_test
- kmeans, a Fortran90 code which handles the K-Means problem, which organizes N points in M dimensions into K clusters;
- kmeans_test
- knapsack_01_brute, a Fortran90 code which uses brute force to solve small versions of the 0/1 knapsack problem;
- knapsack_01_brute_test
- kronrod_rule, a Fortran90 code which computes a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
- kronrod_rule_test
- lagrange_approx_1d, a Fortran90 code which evaluates the Lagrange polynomial p(x) of degree m which approximates n data points (x(i),y(i)).
- lagrange_approx_1d_test
- lagrange_interp_1d, a Fortran90 code which evaluates the Lagrange polynomial p(x) which interpolates data depending on a 1D argument, so that p(x(i)) = y(i).
- lagrange_interp_1d_test
- lagrange_interp_2d, a Fortran90 code which evaluates the Lagrange polynomial p(x,y) which interpolates 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_2d_test
- lagrange_interp_nd, a Fortran90 code which evaluates the Lagrange polynomial p(x) which interpolates data depending on a multidimensional argument that was evaluated on a product grid, so that p(x(i)) = z(i).
- lagrange_interp_nd_test
- lagrange_nd, a Fortran90 code which implements several multivariate Lagrange interpolation schemes developed by Tomas Sauer.
- lagrange_nd_test
- laguerre_integrands, a Fortran90 code which implements test problems for Gauss-Laguerre quadrature rules for estimating the integral of a function with density exp(-x) over the interval [0,+oo).
- laguerre_integrands_test
- laguerre_polynomial, a Fortran90 code which evaluates the Laguerre polynomial, the generalized Laguerre polynomials, and the Laguerre function.
- laguerre_polynomial_test
- lapack_d, a Fortran90 code which is the double precision real version of the LAPACK linear algebra code.
- lapack_d_test
- laplacian, a Fortran90 code which carries out computations related to the discrete Laplacian operator, including full or sparse evaluation, evaluation for unequally spaced data sampling points, application to data samples, solution of associated linear systems, eigenvalues and eigenvectors, and extension to 2D and 3D geometry.
- laplacian_test
- latin_center, a Fortran90 code which computes N points in an M dimensional Latin Center square;
- latin_center_test
- latin_cover, a Fortran90 code which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.
- latin_cover_test
- latin_edge, a Fortran90 code which returns N points in an M dimensional Latin Edge square;
- latin_edge_test
- latin_random, a Fortran90 code which returns N points in an M dimensional Latin Random square;
- latin_random_test
- latinize, a Fortran90 code which adjusts N points in M dimensions to form a Latin hypercube;
- latinize_test
- legendre_exactness, a Fortran90 code which tests the monomial exactness of quadrature rules for estimating Legendre-type integrals of a function f(x) with density rho(x)=1 over the interval [-1,+1].
- legendre_exactness_test
- legendre_fast_rule, a Fortran90 code which uses a fast algorithm to compute a Gauss-Legendre quadrature rule for estimating the integral of a function with density rho(x)=1 over the interval [-1,+1].
- legendre_fast_rule_test
- legendre_polynomial, a Fortran90 code which evaluates the Legendre polynomial and associated functions.
- legendre_polynomial_test
- legendre_product_polynomial, a Fortran90 code which defines Legendre product polynomials, creating a multivariate polynomial as the product of univariate Legendre polynomials.
- legendre_product_polynomial_test
- legendre_rule, a Fortran90 code which computes Gauss-Legendre quadrature rules for estimating the integral of a function with density rho(x)=1 over the interval [-1,+1].
- legendre_rule_test
- legendre_shifted_polynomial, a Fortran90 code which evaluates the shifted Legendre polynomial, with domain [0,1].
- legendre_shifted_polynomial_test
- levenshtein_distance, a Fortran90 code which returns the Levenshtein distance between two strings.
- levenshtein_distance_test
- levenshtein_matrix, a Fortran90 code which returns the Levenshtein distance matrix defined by two strings.
- levenshtein_matrix_test
- line_cvt_lloyd, a Fortran90 code which applies the Lloyd iteration repeatedly to N points, to compute a Centroidal Voronoi Tessellation (CVT) over the interior of a line segment in 1D.
- line_cvt_lloyd_test
- line_grid, a Fortran90 code which computes a grid of points over the interior of a line segment in 1D.
- line_grid_test
- line_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the length of the unit line in 1D.
- line_integrals_test
- line_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the length of the unit line in 1D.
- line_monte_carlo_test
- linear_algebra, Fortran90 codes which carry out various linear algebra operations for matrices stored in a variety of formats.
- llsq, a Fortran90 code which solves the simple linear least squares (LLS) problem of finding the formula of a straight line y=a*x+b which minimizes the root mean square error to N data points.
- llsq_test
- local_min, a Fortran90 code which finds a local minimum of a scalar function of a scalar variable, without the use of derivative information, by Richard Brent.
- local_min_test
- local_min_rc, a Fortran90 code which finds a local minimum of a scalar function of a scalar variable, without the use of derivative information, using reverse communication (RC), by Richard Brent.
- local_min_rc_test
- log_normal, a Fortran90 code which returns quantities related to the log normal Probability Distribution Function (PDF).
- log_normal_test
- log_normal_truncated_ab, a Fortran90 code which returns quantities related to the log normal Probability Distribution Function (PDF) truncated to the interval [A,B].
- log_normal_truncated_ab_test
- lorenz_ode, a Fortran90 code which approximates solutions to the Lorenz system of ordinary differential equations (ODE), creating output files that can be displayed by gnuplot().
- lorenz_ode_test
- machar, a Fortran90 code which dynamically computes the values of various machine characteristic constants by William Cody;
- machar_test
- machine, a Fortran90 code which returns tabulated values of the constants associated with computer arithmetic;
- machine_test
- matrix_exponential, a Fortran90 code which demonstrates some simple approaches to the problem of computing the exponential of a matrix;
- matrix_exponential_test
- mgmres, a Fortran90 code which applies the restarted Generalized Minimum Residual (GMRES) algorithm to solve a sparse linear system, using Compressed Row Storage (CRS) or sparse triplet (ST) format, by Lili Ju.
- mgmres_test
- middle_square, a Fortran90 code which implements the middle square algorithm for generating random integers. This is a very early method, attributed to von Neumann, which actually is deeply flawed, with short cycles.
- middle_square_test
- midpoint_explicit, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method, also called the modified Euler method.
- midpoint_explicit_test
- midpoint_fixed, a Fortran90 code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using a fixed point iteration for the nonlinear equation.
- midpoint_fixed_test
- minpack, a Fortran90 code which solves systems of nonlinear equations, or the least squares minimization of the residual of linear or nonlinear equations, by Jorge More, Danny Sorenson, Burton Garbow, Kenneth Hillstrom.
- minpack_test
- monomial, a Fortran90 code which enumerates, lists, ranks, unranks and randomizes multivariate monomials in a space of M dimensions, with total degree less than N, equal to N, or lying within a given range.
- monomial_test
- monomial_value, a Fortran90 code which evaluates a monomial in M dimensions.
- monomial_value_test
- muller, a Fortran90 code which seeks a root of a nonlinear equation using the Muller method, with complex arithmetic.
- muller_test
- navier_stokes_2d_exact, a Fortran90 code which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations (NSE) over an arbitrary domain in 2D.
- navier_stokes_2d_exact_test
- navier_stokes_3d_exact, a Fortran90 code which evaluates an exact solution to the incompressible time-dependent Navier-Stokes equations (NSE) over an arbitrary domain in 3D.
- navier_stokes_3d_exact_test
- nearest_interp_1d, a Fortran90 code which interpolates data using a piecewise constant interpolant defined by the nearest neighbor criterion, creating graphics files for processing by gnuplot().
- nearest_interp_1d_test
- newton_interp_1d, a Fortran90 code which finds a polynomial interpolant to data using Newton divided differences.
- newton_interp_1d_test
- newton_rc, a Fortran90 code which solves a system of nonlinear equations by Newton's method, using reverse communication (RC).
- newton_rc_test
- nms, a Fortran90 code which includes a wide variety of numerical software, including solvers for linear systems of equations, interpolation of data, numerical quadrature, linear least squares (LLS) data fitting, the solution of nonlinear equations, ordinary differential equations (ODE), optimization and nonlinear least squares (NLS), simulation and random numbers, trigonometric approximation and Fast Fourier Transforms (FFT).
- nms_test
- normal, a Fortran90 code which implements a random number generator (RNG) for normally distributed values;
- normal_test
- ode, a Fortran90 code which solves a system of ordinary differential equations (ODE), by Shampine and Gordon;
- ode_test
- owen, a Fortran90 code which evaluates the Owen T function.
- owen_test
- partition_brute, a Fortran90 code which uses a brute force algorithm to seek solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
- partition_brute_test
- pce_burgers, a Fortran90 code which 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_burgers_test
- pce_ode_hermite, a Fortran90 code 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.
- pce_ode_hermite_test
- pdflib, a Fortran90 code which evaluates Probability Density Functions (PDF) and produces random samples from them, including beta, binomial, chi, exponential, gamma, inverse chi, inverse gamma, multinomial, normal, scaled inverse chi, and uniform.
- pdflib_test
- persistence, a Fortran90 code which demonstrates how to initialize, get, or set data stored within a function, using static/persistent/saved/local memory.
- persistence_test
- poisson_1d_multigrid, a Fortran90 code which applies the multigrid method to a discretized version of the 1D Poisson equation.
- poisson_1d_multigrid_test
- polpak, a Fortran90 code which evaluates a variety of mathematical functions, polynomials, and sequences, including Bell, Benford, Bernoulli, Bernstein, Cardan, Catalan, Charlier, Chebyshev, Collatz, Delannoy, Euler, Fibonacci, Gegenbauer, Gudermannian, Harmonic, Hermite, Hofstadter, Jacobi, Krawtchouk, Laguerre, Lambert, Legendre, Lerch, Meixner, Mertens, Moebius, Motzkin, Phi, Stirling, Tau, Tribonacci, Zernike.
- polpak_test
- polygon, a Fortran90 code which computes properties of an arbitrary polygon in the plane, defined by a sequence of vertices, including interior angles, area, centroid, containment of a point, convexity, counter clockwise ordering, diameter, distance to a point, inradius, lattice area, nearest point in set, outradius, uniform sampling, and triangulation.
- polygon_test
- polygon_grid, a Fortran90 code which generates a grid of points over the interior of a polygon in 2D.
- polygon_grid_test
- polygon_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of a polygon in 2D.
- polygon_integrals_test
- polygon_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of a polygon in 2D.
- polygon_monte_carlo_test
- polygon_triangulate, a Fortran90 code which triangulates a possibly nonconvex polygon in 2D, and which uses gnuplot() to display the external edges and internal diagonals of the triangulation.
- polygon_triangulate_test
- polynomial, a Fortran90 code which adds, multiplies, differentiates, evaluates and prints multivariate polynomials in a space of M dimensions.
- polynomial_test
- polynomials, a Fortran90 code which defines multivariate polynomials over rectangular domains, for which certain information is to be determined, such as the maximum and minimum values.
- polynomials_test
- polyominoes, a Fortran90 code which manipulates polyominoes and tilings.
- polyominoes_test
- power_method, a Fortran90 code which carries out the power method for finding a dominant eigenvalue and its eigenvector.
- power_method_test
- praxis, a Fortran90 code which minimizes a scalar function of several variables, without requiring derivative information, by Richard Brent.
- praxis_test
- predator_prey_ode, a Fortran90 code which solves a time-dependent predator-prey system of ordinary differential equations (ODE).
- predator_prey_ode_test
- prime, a Fortran90 code which counts the number of primes between 1 and N, and is intended as a starting point for a parallel version.
- prime_test
- prime_pi, a Fortran90 code which evaluates Pi(n), the number of primes less than or equal to an integer n.
- prime_pi_test
- prob, a Fortran90 code which evaluates, samples, inverts, and characterizes Probability Density Functions (PDF) and Cumulative Density Functions (CDF), including anglit, arcsin, benford, birthday, bernoulli, beta_binomial, beta, binomial, bradford, burr, cardiod, cauchy, chi, chi squared, circular, cosine, deranged, dipole, dirichlet mixture, discrete, empirical, english sentence and word length, error, exponential, extreme values, f, fisk, folded normal, frechet, gamma, generalized logistic, geometric, gompertz, gumbel, half normal, hypergeometric, inverse gaussian, laplace, levy, logistic, log normal, log series, log uniform, lorentz, maxwell, multinomial, nakagami, negative binomial, normal, pareto, planck, poisson, power, quasigeometric, rayleigh, reciprocal, runs, sech, semicircular, student t, triangle, uniform, von mises, weibull, zipf.
- prob_test
- pwl_approx_1d, a Fortran90 code which approximates data using a piecewise linear function.
- pwl_approx_1d_test
- pwl_interp_1d, a Fortran90 code which interpolates data using a piecewise linear function.
- pwl_interp_1d_test
- pwl_interp_2d, a Fortran90 code which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.
- pwl_interp_2d_test
- pwl_interp_2d_scattered, a Fortran90 code which evaluates a piecewise linear interpolant to data which is available at an irregularly arranged set of points.
- pwl_interp_2d_scattered_test
- pwl_product_integral, a Fortran90 code which calculates the exact value of the integral of the product of two piecewise linear functions f(x) and g(x).
- pwl_product_integral_test
- pyramid_grid, a Fortran90 code which computes a grid of points over the interior of the unit pyramid in 3D;
- pyramid_grid_test
- pyramid_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit pyramid in 3D.
- pyramid_integrals_test
- pyramid_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit pyramid in 3D;
- pyramid_monte_carlo_test
- qr_solve, a Fortran90 code which computes the linear least squares (LLS) solution of a system A*x=b.
- qr_solve_test
- quad_mesh, a Fortran90 code which handles meshes of quadrilaterals over a 2D region;
- quad_mesh_test
- quad_mesh_rcm, a Fortran90 code which computes the Reverse Cuthill McKee (RCM) reordering for nodes in a mesh of 4-node quadrilaterals.
- quad_mesh_rcm_test
- quad_rule, a Fortran90 code which implements rules for approximate integration (quadrature) in one dimension;
- quad_rule_test
- quality, a Fortran90 code which computes quality of distribution measures for pointsets in M dimensions;
- quality_test
- quotes, a Fortran90 code which prints a random quote from a file;
- quotes_test
- r83, a Fortran90 code which contains linear algebra routines for r83 matrices (real, 64 bit, tridiagonal 3xN format).
- r83_test
- r83_np, a Fortran90 code which contains linear algebra routines for r83_np matrices (real, 64 bit, tridiagonal 3xN format, nonpivoting factorization).
- r83_np_test
- r83p, a Fortran90 code which contains linear algebra routines for r83p matrices (real, 64 bit, tridiagonal periodic format).
- r83p_test
- r83s, a Fortran90 code which contains linear algebra routines for r83s matrices (real, 64 bit, tridiagonal scalar format).
- r83s_test
- r83t, a Fortran90 code which contains linear algebra routines for r83t matrices (real, 64 bit, tridiagonal Mx3 format).
- r83t_test
- r83v, a Fortran90 code which contains linear algebra routines for r83v matrices (real, 64 bit, tridiagonal three vector format).
- r83v_test
- r85, a Fortran90 code which contains linear algebra routines for r85 matrices (real, 64 bit, pentadiagonal format).
- r85_test
- r8bb, a Fortran90 code which contains linear algebra routines for r8bb matrices (real, 64 bit, border banded format).
- r8bb_test
- r8blt, a Fortran90 code which contains linear algebra routines for r8blt matrices (real, 64 bit, band lower triangular format).
- r8blt_test
- r8bto, a Fortran90 code which contains linear algebra routines for r8bto matrices (real, 64 bit, block Toeplitz format).
- r8bto_test
- r8but, a Fortran90 code which contains linear algebra routines for r8but matrices (real, 64 bit, band upper triangular format).
- r8but_test
- r8cb, a Fortran90 code which contains linear algebra routines for r8cb matrices (real, 64 bit, Compressed Band format).
- r8cb_test
- r8cbb, a Fortran90 code which contains linear algebra routines for r8cbb matrices (real, 64 bit, Compressed Border Banded format).
- r8cbb_test
- r8ccs, a Fortran90 code which contains linear algebra routines for r8ccs matrices (real, 64 bit, Compressed Column Storage (Colptr,Row,Value) format).
- r8ccs_test
- r8ci, a Fortran90 code which contains linear algebra routines for r8ci matrices (real, 64 bit, circulant format).
- r8ci_test
- r8col, a Fortran90 code which contains utility routines for an R8COL, that is, a double precision real MxN array, considered as N column vectors, each of length M. The data may be thought of as a matrix of multiple columns, and many operations will be carried out columnwise.
- r8col_test
- r8gb, a Fortran90 code which contains linear algebra routines for r8gb matrices (real, 64 bit, General Banded format).
- r8gb_test
- r8gd, a Fortran90 code which contains linear algebra routines for r8gd matrices (real, 64 bit, general diagonal format).
- r8gd_test
- r8ge, a Fortran90 code which contains linear algebra routines for R8GE matrices (real, 64 bit, General format).
- r8ge_test
- r8lib, a Fortran90 code which contains many utility routines, using double precision real (R8) arithmetic.
- r8lib_test
- r8lt, a Fortran90 code which contains linear algebra routines for R8LT matrices (real, 64 bit, Lower Triangular).
- r8lt_test
- r8ltt, a Fortran90 code which contains linear algebra routines for r8ltt matrices (real, 64 bit, lower triangular Toeplitz format).
- r8ltt_test
- r8ncf, a Fortran90 code which contains linear algebra routines for r8ncf matrices (real, 64 bit, nonsymmetric coordinate format).
- r8ncf_test
- r8pbl, a Fortran90 code which contains linear algebra routines for r8pbl matrices (real, 64 bit, symmetric positive definite (SPD) band lower format).
- r8pbl_test
- r8pbu, a Fortran90 code which contains linear algebra routines for r8pbu matrices (real, 64 bit, symmetric positive definite (SPD) band upper format).
- r8pbu_test
- r8po, a Fortran90 code which contains linear algebra routines for r8po matrices (real, 64 bit, symmetric positive definite (SPD) format).
- r8po_test
- r8poly, a Fortran90 code which operates on polynomials, including evaluation, differentiation, integration, multiplication, synthetic division, shifting the base, computing a power, taking the norm. It also defines Chebyshev, Lagrange and Legendre polynomials.
- r8poly_test
- r8pp, a Fortran90 code which contains linear algebra routines for r8pp matrices (real, 64 bit, symmetric positive definite (SPD) packed format).
- r8pp_test
- r8ri, a Fortran90 code which contains linear algebra routines for r8ri matrices (real, 64 bit, row indexed format).
- r8ri_test
- r8row, a Fortran90 code which contains utilities for an R8ROW, that is, a double precision real MxN array, considered as M row vectors, each of length N. The data may be thought of as a matrix of multiple rows, and many operations will be carried out rowwise.
- r8row_test
- r8sd, a Fortran90 code which contains linear algebra routines for r8sd matrices (real, 64 bit, symmetric diagonal format).
- r8sd_test
- r8sm, a Fortran90 code which contains linear algebra routines for r8sm matrices (real, 64 bit, Sherman-Morrison A-u*v' format).
- r8sm_test
- r8sr, a Fortran90 code which carries out linear algebra operations for r8sr matrices (real, 64 bit, diagonal + compressed row offdiagonal format).
- r8sr_test
- r8ss, a Fortran90 code which carries out linear algebra operations for r8ss matrices (real, 64 bit, symmetric skyline format).
- r8ss_test
- r8st, a Fortran90 code which contains linear algebra routines for R8ST matrices (real, 64 bit, Sparse Triplet).
- r8st_test
- r8sto, a Fortran90 code which contains linear algebra routines for r8sto matrices (real, 64 bit, symmetric Toeplitz N format).
- r8sto_test
- r8to, a C code which contains linear algebra routines for r8to matrices (real, 64 bit, Toeplitz 2*N-1 format).
- r8to_test
- r8ut, a Fortran90 code which contains linear algebra routines for r8ut matrices (real, 64 bit, Upper Triangular).
- r8ut_test
- r8utp, a Fortran90 code which carries out linear algebra operations on r8utp matrices, real 64 bit, Upper Triangular Packed format.
- r8utp_test
- r8utt, a Fortran90 code which contains linear algebra routines for r8utt matrices (real, 64 bit, upper triangular Toeplitz format).
- r8utt_test
- r8vm, a Fortran90 code which contains linear algebra routines for r8vm matrices (real, 64 bit, vandermonde format).
- r8vm_test
- random_data, a Fortran90 code which uses a random number generator (RNG) to sample points distributed according to various probability density functions (PDF), spatial dimensions, and geometries, including the M-dimensional cube, ellipsoid, simplex and sphere.
- random_data_test
- rbf_interp_1d, a Fortran90 code which defines and evaluates radial basis function (RBF) interpolants to 1D data.
- rbf_interp_1d_test
- rbf_interp_2d, a Fortran90 code which defines and evaluates radial basis function (RBF) interpolants to 2D data.
- rbf_interp_2d_test
- rbf_interp_nd, a Fortran90 code which defines and evaluates radial basis function (RBF) interpolants to multidimensional data.
- rbf_interp_nd_test
- rk4, a Fortran90 code which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE).
- rk4_test
- rkf45, a Fortran90 code which applies a Runge-Kutta-Fehlberg (RKF) solver to a system of ordinary differential equations (ODE);
- rkf45_test
- rnglib, a Fortran90 code which implements a random number generator (RNG) with splitting facilities, allowing multiple independent streams to be computed, by L'Ecuyer and Cote.
- rnglib_test
- row_echelon_integer, a Fortran90 code which carries out the exact computation of the integer row echelon form (IREF) and integer reduced row echelon form (IRREF) of an integer matrix.
- row_echelon_integer_test
- sandia_cubature, a Fortran90 code which computes M-dimensional quadrature rules for certain regions and weight functions.
- sandia_cubature_test
- sandia_cvt, a Fortran90 code which positions a given number of points in an arbitrary region, using probabilistic Centroidal Voronoi Tessellation (CVT) techniques to achieve good coverage and separation; developed for Sandia National Laboratory;
- sandia_cvt_test
- sandia_rules, a Fortran90 code which produces 1D quadrature rules of Chebyshev, Clenshaw Curtis, Fejer 2, Gegenbauer, generalized Hermite, generalized Laguerre, Hermite, Jacobi, Laguerre, legendre and Patterson types.
- sandia_rules_test
- sandia_sgmgg, a Fortran90 code which explores a generalized construction method for sparse grids.
- sandia_sgmgg_test
- sandia_sparse, a Fortran90 code which produces a M-dimensional sparse grid, based on a variety of 1D quadrature rules; only isotropic grids are generated, that is, the same rule is used in each dimension, and the same maximum order is used in each dimension.
- sandia_sparse_test
- satisfy_brute, a Fortran90 code which uses brute force to find all assignments of values to a set of logical variables which make a complicated logical statement true.
- satisfy_brute_test
- sde, a Fortran90 code which illustrates properties of stochastic ordinary differential equations (SODE), and common algorithms for their analysis, including the Euler method, the Euler-Maruyama method, and the Milstein method, making graphics files for processing and display by gnuplot(), by Desmond Higham;
- sde_test
- set_theory, a Fortran90 code which demonstrates various set theoretic operations using several models of a set.
- set_theory_test
- sftpack, a Fortran90 code which implements the slow Fourier transform, intended as a teaching tool and comparison with the Fast Fourier Transform (FFT).
- sftpack_test
- shallow_water_1d, a Fortran90 code which simulates the evolution of a 1D fluid governed by the time-dependent shallow water equations.
- shallow_water_1d_test
- shepard_interp_1d, a Fortran90 code which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
- shepard_interp_1d_test
- shepard_interp_2d, a Fortran90 code which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.
- shepard_interp_2d_test
- shepard_interp_nd, a Fortran90 code which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.
- shepard_interp_nd_test
- simplex_coordinates, a Fortran90 code which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
- simplex_coordinates_test
- simplex_grid, a Fortran90 code which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.
- simplex_grid_test
- simplex_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit simplex in M dimensions.
- simplex_integrals_test
- simplex_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate an integral over the interior of the unit simplex in M dimensions.
- simplex_monte_carlo_test
- sine_transform, a Fortran90 code which demonstrates some simple properties of the discrete sine transform (DST).
- sine_transform_test
- slap, a Fortran90 code which forms the Sparse Linear Algebra Package (SLAP), for the iterative solution of sparse linear systems, by Anne Greenbaum and Mark Seager.
- slap_test
- slap_io, a Fortran90 code which reads and writes sparse matrix files in the SLAP format;
- slap_io_test
- snakes_and_ladders, a Fortran90 code which provides tools for the study of the game of Snakes and Ladders.
- snakes_and_ladders_test
- solve, a Fortran90 code which demonstrates how Gauss elimination can be used to solve a linear system A*x=b.
- solve_test
- sort_rc, a Fortran90 code which sorts a list of any kind of objects, using reverse communication (RC).
- sort_rc_test
- sparse_display, a Fortran90 code which reads information defining a matrix of numbers and display the sparsity pattern or location of the nonzero elements using gnuplot().
- sparse_display_test
- sparse_grid_cc, a Fortran90 code which creates sparse grids based on Clenshaw-Curtis rules.
- sparse_grid_cc_test
- sparse_grid_gl, a Fortran90 code which creates sparse grids based on Gauss-legendre rules.
- sparse_grid_gl_test
- sparse_grid_hermite, a Fortran90 code which creates sparse grids based on Gauss-Hermite rules.
- sparse_grid_hermite_test
- sparse_grid_hw, a Fortran90 code which creates sparse grids based on Gauss-Legendre, Gauss-Hermite, Gauss-Patterson, or a nested variation of Gauss-Hermite rules, by Florian Heiss and Viktor Winschel.
- sparse_grid_hw_test
- sparse_grid_laguerre, a Fortran90 code which creates sparse grids based on Gauss-Laguerre rules.
- sparse_grid_laguerre_test
- sparse_grid_mixed, a Fortran90 code which creates a sparse grid dataset based on a mixed set of 1D factor rules.
- sparse_grid_mixed_test
- sparse_interp_nd, a Fortran90 code which defines a sparse interpolant to a function f(x) of a multidimensional argument.
- sparse_interp_nd_test
- special_functions, a Fortran90 code which evaluates special functions, including Airy, Associated Legendre Bessel, Beta, Complete Elliptic Integral, Confluent Hypergeometric, Cosine Integral, Elliptic Integral, Error, Exponential Integral, Fresnel Integral, Gamma, Hankel, Hypergeometric, Incomplete Beta, Incomplete Gamma, Jacobian Elliptic, Kelvin, Lambda, Legendre, Mathieu, Modified Spherical Bessel, Parabolic Cylinder, Psi, Riccati-Bessel, Sine Integral, Spheroidal Wave, Struve, Whittaker, as well as Bernoulli Numbers, Euler Numbers, Hermite polynomials, Laguerre polynomials, legendre polynomials, by Shanjie Zhang, Jianming Jin;
- special_functions_test
- sphere_cubed_grid, a Fortran90 code which uses the projection of a cube to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.
- sphere_cubed_grid_test
- sphere_cvt, a Fortran90 code which uses a Centroidal Voronoi Tessellation (CVT) to generate a mesh of well-separated points on the surface of the unit sphere in 3D.
- sphere_cvt_test
- sphere_delaunay, a Fortran90 code which reads a file containing the coordinates of points on the surface of the unit sphere in 3D, computes the Delaunay triangulation, and outputs a PostScript (PS) file of the image;
- sphere_delaunay_test
- sphere_fibonacci_grid, a Fortran90 code which uses a Fibonacci spiral to create a grid of points on the surface of the unit sphere in 3D.
- sphere_fibonacci_grid_test
- sphere_grid, a Fortran90 code which generates grids of points, or of points and lines, or of points and lines and faces, on the surface of the unit sphere in 3D.
- sphere_grid_test
- sphere_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the surface of the unit sphere in 3D.
- sphere_integrals_test
- sphere_llq_grid, a Fortran90 code which uses longitudes and latitudes to create grids of points, lines, and quadrilaterals on the surface of the unit sphere in 3D.
- sphere_llq_grid_test
- sphere_llt_grid, a Fortran90 code which uses longitudes and latitudes to create grids of points, lines, and triangles on the surface of the unit sphere in 3D.
- sphere_llt_grid_test
- sphere_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in 3D;
- sphere_monte_carlo_test
- sphere_quad, a Fortran90 code which uses triangulation to approximate an integral on the surface of the unit sphere in 3D;
- sphere_quad_test
- sphere_stereograph, a Fortran90 code which computes the stereographic mapping between points on the surface of the unit sphere in 3D and points on the plane Z = 1; a generalized mapping is also available.
- sphere_stereograph_test
- sphere_triangle_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over a spherical triangle on the surface of the unit sphere in 3D;
- sphere_triangle_monte_carlo_test
- sphere_triangle_quad, a Fortran90 code which uses quadrature to estimate the integral of a function over a spherical triangle on the surface of the unit sphere in 3D.
- sphere_triangle_quad_test
- sphere_voronoi, a Fortran90 code which reads a file containing the coordinates of points on the surface of the unit sphere in 3D, computes the Voronoi diagram, and outputs a PostScript (PS) file of the image;
- sphere_voronoi_test
- spline, a Fortran90 code which interpolates and approximates via splines;
- spline_test
- square_grid, a Fortran90 code which computes a grid of points over the interior of a square in 2D.
- square_grid_test
- square_hex_grid, a Fortran90 code which computes a hexagonal grid of points over the interior of a square in 2D.
- square_hex_grid_test
- square_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit square or symmetric unit square in 2D.
- square_integrals_test
- square_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of the unit square in 2D.
- square_monte_carlo_test
- st_io, a Fortran90 code which reads and writes sparse linear systems stored in the Sparse Triplet (ST) format.
- st_io_test
- st_to_ccs, a Fortran90 code which converts sparse matrix data from Sparse Triplet (ST) format to Compressed Column Storage (CCS) format;
- st_to_ccs_test
- stiff_ode, a Fortran90 code which considers an ordinary differential equation (ODE) which is an example of a stiff ODE.
- stiff_ode_test
- stla_io, a Fortran90 code which reads and writes the 3D graphics information in an ASCII stereolithography (STL) file;
- stla_io_test
- stokes_2d_exact, a Fortran90 code which evaluates exact solutions to the incompressible steady Stokes equations over the unit square in 2D.
- stokes_2d_exact_test
- string_pde, a Fortran90 code which sets up and solves the partial differential equations (PDE) describing a vibrating string, creating files that can be displayed by gnuplot().
- string_pde_test
- stroud, a Fortran90 code which defines quadrature rules for a variety of M-dimensional regions, including the interior of the square, cube and hypercube, the pyramid, cone and ellipse, the hexagon, the M-dimensional octahedron, the circle, sphere and hypersphere, the triangle, tetrahedron and simplex, and the surface of the circle, sphere and hypersphere.
- stroud_test
- subset, a Fortran90 code which enumerates, generates, randomizes, ranks and unranks combinatorial objects including combinations, compositions, Gray codes, index sets, partitions, permutations, polynomials, subsets, and Young tables. Backtracking routines are included to solve some combinatorial problems.
- subset_test
- subset_sum, a Fortran90 code which seeks solutions of the subset sum problem, in which it is desired to find a subset of integers which has a given sum.
- subset_sum_test
- subset_sum_backtrack, a Fortran90 code which uses backtracking to find solutions of the subset sum problem, in which it is desired to find a subset of integers which has a given sum.
- subset_sum_backtrack_test
- subset_sum_brute, a Fortran90 code which uses brute force to find solutions of the subset sum problem, in which it is desired to find a subset of integers which has a given sum.
- subset_sum_brute_test
- svd_basis, a Fortran90 code which applies the singular value decomposition (SVD) to a collection of data vectors, extracting dominant modes;
- svd_basis_test
- svd_basis_weight, a Fortran90 code which applies the singular value decomposition (SVD) to a collection of weighted data vectors, extracting dominant modes;
- svd_basis_weight_test
- svd_snowfall, a Fortran90 code which reads a file containing historical snowfall data and analyzes the data with the Singular Value Decomposition (SVD), displaying the results using gnuplot().
- svd_snowfall_test
- svd_test, a Fortran90 code which demonstrates the Singular Value Decomposition (SVD).
- svd_truncated, a Fortran90 code which demonstrates the computation of the reduced or truncated Singular Value Decomposition (SVD) that is useful for cases when one dimension of the matrix is much smaller than the other.
- svd_truncated_test
- table_columns, a Fortran90 code which reads a table file of N points in M dimensions and creates a new file by copying various columns, with repetition and shuffling;
- table_columns_test
- table_io, a Fortran90 code which reads and writes data as a table file.
- table_io_test
- table_quality, a Fortran90 code which reads a table file of N points in M dimensions and computes the uniformity of the placement of the points;
- table_quality_test
- test_approx, a Fortran90 code which implements test problems for approximation, provided as (x,y) data.
- test_approx_test
- test_eigen, a Fortran90 code which implements test matrices for eigenvalue analysis.
- test_eigen_test
- test_int, a Fortran90 code which implements test problems for approximate integration in one dimension.
- test_int_test
- test_int_2d, a Fortran90 code which implements test problems for approximate integration in two dimensions.
- test_int_2d_test
- test_interp, a Fortran90 code which defines test problems for interpolation, provided as (x,y(x)) data.
- test_interp_test
- test_interp_1d, a Fortran90 code which defines test problems for interpolation of data y(x), which depends on a 1D argument.
- test_interp_1d_test
- test_interp_2d, a Fortran90 code which defines test problems for interpolation of data z(x,y), depending on a 2D argument.
- test_interp_2d_test
- test_interp_nd, a Fortran90 code which defines test problems for interpolation of data z(x), depending on an M-dimensional argument.
- test_interp_nd_test
- test_lls, a Fortran90 code which implements linear least squares (LLS) test problems of the form A*x=b.
- test_lls_test
- test_matrix, a Fortran90 code which defines test matrices for which the condition number, determinant, eigenvalues, eigenvectors, inverse, null vectors, P*L*U factorization or linear system solution are known. Examples include the Fibonacci, Hilbert, Redheffer, Vandermonde, Wathen and Wilkinson matrices.
- test_matrix_test
- test_matrix_exponential, a Fortran90 code which defines test cases for computing the matrix exponential.
- test_matrix_exponential_test
- test_mesh, a Fortran90 code which implements some sample 2D meshes.
- test_mesh_test
- test_min, a Fortran90 code which implements test problems for minimization of a scalar function of a scalar variable.
- test_min_test
- test_nearest, a Fortran90 code which tests the time complexity of various procedures for solving the nearest neighbor problem.
- test_nearest_test
- test_nint, a Fortran90 code which implements test problems for approximate integration (quadrature) in M dimensions.
- test_nint_test
- test_nls, a Fortran90 code which implements nonlinear least squares (NLS) test problems.
- test_nls_test
- test_nonlin, a Fortran90 code which implements test problems for the solution of systems of nonlinear equations.
- test_nonlin_test
- test_opt, a Fortran90 code which implements test problems for optimization of a scalar function of several variables.
- test_opt_test
- test_opt_con, a Fortran90 code 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_opt_con_test
- test_optimization, a Fortran90 code which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
- test_optimization_test
- test_partial_digest, a Fortran90 code which generates cases of the partial digest problem.
- test_partial_digest_test
- test_tet_mesh, a Fortran90 code which implements test problems for tetrahedralization or meshing of arbitrary regions in 3 dimensions.
- test_tet_mesh_test
- test_triangulation, a Fortran90 code which implements test problems for triangularization or meshing of arbitrary regions in 2 dimensions.
- test_triangulation_test
- test_values, a Fortran90 code which supplies test values of various mathematical functions, including Abramowitz, AGM, Airy, Bell, Bernoulli, Bessel, Beta, Binomial, Bivariate Normal, Catalan, Cauchy, Chebyshev, Chi Square, Clausen, Clebsch Gordan, Collatz, Cosine integral, Dawson, Debye, Dedekind, dilogarithm, Exponential integral, Elliptic, Error, Euler, Exponential integral, F probability, Fresnel, Frobenius, Gamma, Gegenbauer, Goodwin, Gudermannian, Harmonic, Hermite, Hypergeometric, inverse trigonometic, Jacobi, Julian Ephemeris Date, Kelvin, Laguerre, Laplace, Legendre, Lerch, Lobachevsky, Lobatto, Logarithmic integral, Log normal, McNugget numbers, Mertens, Mittag-Leffler, Moebius, Multinomial, Negative binomial, Nine J, Normal, Omega, Owen, Partition, Phi, Pi, Poisson, Polylogarithm, Polyomino, Prime, Psi, Rayleigh, Hyperbolic Sine integral, Sigma, Sine Power integral, Sine integral, Six J, Sphere area, Sphere volume, Spherical harmonic, Stirling, Stromgen, Struve, Student, Subfactorial, Student probability, Three J, Transport, Trigamma, Truncated normal, van der Corput, von Mises, Weibull, Wright omega, Zeta.
- test_values_test
- test_zero, a Fortran90 code which implements test problems for the solution of a single nonlinear equation in one variable.
- test_zero_test
- tester, a BASH script which runs the test codes.
- tet_mesh, a Fortran90 code which carries out various tasks associated with tetrahedral meshes in 3D;
- tet_mesh_test
- tet_mesh_quad, a Fortran90 code which estimates the integral of a function over a region defined by a tetrahedral mesh.
- tet_mesh_quad_test
- tet_mesh_quality, a Fortran90 code which reads information about a tet mesh of points in 3D and computes various quality measures;
- tet_mesh_quality_test
- tet_mesh_to_gmsh, a Fortran90 code which writes a tetrahedral mesh to a gmsh() file.
- tet_mesh_to_gmsh_test
- tet_mesh_to_xml, a Fortran90 code which writes a tetrahedral mesh to an XML file.
- tet_mesh_to_xml_test
- tetrahedron, a Fortran90 code which computes properties, including the centroid, circumsphere, dihedral angles, edge lengths, face angles, face areas, insphere, quality, solid angles, and volume, of a tetrahedron in 3D.
- tetrahedron_test
- tetrahedron_grid, a Fortran90 code which computes a grid of points over the interior of a tetrahedron in 3D.
- tetrahedron_grid_test
- tetrahedron_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit tetrahedron in 3D.
- tetrahedron_integrals_test
- tetrahedron_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate an integral over the interior of a general tetrahedron in 3D.
- tetrahedron_monte_carlo_test
- tetrahedron01_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate an integral over the interior of the unit tetrahedron in 3D.
- tetrahedron01_monte_carlo_test
- three_body_ode, a Fortran90 code 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.
- three_body_ode_test
- timer_test, a Fortran90 code which tests various timing functions.
- timestamp, a Fortran90 code which prints the current YMDHMS date as a timestamp.
- timestamp_test
- toeplitz_cholesky, a Fortran90 code which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
- toeplitz_cholesky_test
- treepack, a Fortran90 code which defines, analyzes, and manipulates trees, a simple kind of graph with no circuits. Special cases include rooted and binary trees. Representations include adjacency, arc, Pruefer code, and parent. Operations include center, diameter, eccentricity, enumeration, generation one at a time, random selection, traversal.
- treepack_test
- triangle, a Fortran90 code which computes properties, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality, of a triangle in 2D.
- triangle_test
- triangle_analyze, a Fortran90 code which reads a triangle defined in a file, and computes angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality.
- triangle_analyze_test
- triangle_grid, a Fortran90 code which computes a grid of points over the interior of a triangle in 2D.
- triangle_grid_test
- triangle_histogram, a Fortran90 code which computes histograms of data over the interior of the unit triangle in 2D.
- triangle_histogram_test
- triangle_integrals, a Fortran90 code which returns the exact value of the integral of any polynomial over the interior of an arbitrary triangle in 2D.
- triangle_integrals_test
- triangle_interpolate, a Fortran90 code which shows how vertex data can be interpolated at any point in the interior of a triangle.
- triangle_interpolate_test
- triangle_io, a Fortran90 code which reads or writes some of the files created by Jonathan Shewchuk's triangle() program.
- triangle_io_test
- triangle_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate an integral over the interior of a general triangle in 2D.
- triangle_monte_carlo_test
- triangle_svg, a Fortran90 code which uses Scalable Vector Graphics (SVG) to plot a triangle and any number of points, to illustrate quadrature rules and sampling techniques.
- triangle_svg_test
- triangle_to_fem, a Fortran90 code which reads the NODE and ELE files created by Jonathan Shewchuk's triangle() program to describe a triangular mesh, and writes a corresponding pair of node and element files in the 2D FEM format.
- triangle_to_fem_test
- triangle_to_xml, a Fortran90 code which reads the NODE and ELE files created by Jonathan Shewchuk's triangle() program to describe a triangular mesh in 2D, and writes out a corresponding XML mesh file for use by DOLFIN or FENICS.
- triangle_to_xml_test
- triangle01_integrals, a Fortran90 code which returns the integral of any monomial over the interior of the unit triangle in 2D.
- triangle01_integrals_test
- triangle01_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate an integral over the interior of the unit triangle in 2D.
- triangle01_monte_carlo_test
- triangulation, a Fortran90 code which computes the triangulation of points in the plane, and performs various operations using a triangulation, including searching a Delaunay triangulation to find which triangle contains a given point.
- triangulation_test
- triangulation_l2q, a Fortran90 code which reads information about a 3-node (linear) triangulation and creates data defining a corresponding 6-node (quadratic) triangulation;
- triangulation_l2q_test
- triangulation_plot, a Fortran90 code which plots the nodes and elements of a triangulation as a PostScript (PS) file;
- triangulation_plot_test
- triangulation_q2l, a Fortran90 code which reads information about a 6-node triangulation and creates data defining a corresponding 3-node triangulation;
- triangulation_q2l_test
- triangulation_quad, a Fortran90 code which reads information about a triangulation and the value of a function at the nodes and estimates the integral of the function over the triangulated region.
- triangulation_quad_test
- triangulation_quality, a Fortran90 code which reads information about a triangulation and computes various quality measures;
- triangulation_quality_test
- triangulation_svg, a Fortran90 code which creates an SVG image of a triangulation, which can be displayed by a web browser.
- triangulation_svg_test
- truncated_normal, a Fortran90 code which works with the truncated normal distribution over [A,B], or [A,+oo) or (-oo,B], returning the probability density function (PDF), the cumulative density function (CDF), the inverse CDF, the mean, the variance, and sample values.
- truncated_normal_test
- tsp_brute, a Fortran90 code which reads a file of city-to-city distances and solves a (small!) traveling salesperson problem (TSP), using brute force.
- tsp_brute_test
- tsp_lau, a Fortran90 code which implements a heuristic algorithm for the solution of the traveling salesperson problem (TSP).
- tsp_lau_test
- uniform, a Fortran90 code which implements random number generators (RNG) for a variety of arithmetic types.
- uniform_test
- vandermonde, a Fortran90 code which implements the Bjork-Pereyra algorithm for accurate solution of linear systems involving the Vandermonde matrix.
- vandermonde_test
- vandermonde_approx_1d, a Fortran90 code 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_1d_test
- vandermonde_approx_2d, a Fortran90 code 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_approx_2d_test
- vandermonde_interp_1d, a Fortran90 code which finds a polynomial interpolant to data y(x) of a 1D argument by setting up and solving a linear system for the polynomial coefficients involving the Vandermonde matrix, creating graphics files for processing by gnuplot().
- vandermonde_interp_1d_test
- vandermonde_interp_2d, a Fortran90 code 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.
- vandermonde_interp_2d_test
- walsh, a Fortran90 code which implements the Walsh data transform.
- walsh_test
- wathen_matrix, a Fortran90 code which compares storage schemes (full, banded, sparse triplet ) and solution strategies (Linpack full, Linpack banded, conjugate gradient) for linear systems involving the Wathen matrix, which can arise when solving a problem using the finite element method (FEM).
- wathen_matrix_test
- wedge_exactness, a Fortran90 code which investigates the polynomial exactness of a quadrature rule over the interior of the unit wedge in 3D.
- wedge_exactness_test
- wedge_felippa_rule, a Fortran90 code which returns quadrature rules for approximating integrals over the interior of the unit wedge in 3D.
- wedge_felippa_rule_test
- wedge_grid, a Fortran90 code which computes a grid of points over the interior of the unit wedge in 3D.
- wedge_grid_test
- wedge_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of the unit wedge in 3D.
- wedge_integrals_test
- wedge_monte_carlo, a Fortran90 code which uses the Monte Carlo method to estimate an integral over the interior of the unit wedge in 3D.
- wedge_monte_carlo_test
- weekday, a Fortran90 code which determines the day of the week corresponding to a given date, such as 14 October 1066, Julian calendar, which was a Saturday.
- weekday_test
- wishart_matrix, a Fortran90 code which produces sample matrices from the Wishart or Bartlett distributions, useful for sampling random covariance matrices.
- wishart_matrix_test
- wtime, a Fortran90 code which returns a reading of the wall clock time in seconds.
- wtime_test
- xerror, a Fortran90 code which reports and handles errors detected during execution.
- xerror_test
- zero, a Fortran90 code which seeks a solution of a scalar nonlinear equation f(x)=0, by Richard Brent.
- zero_test
- zero_rc, a Fortran90 code which seeks a solution of a scalar nonlinear equation f(x)=0, using reverse communication (RC), by Richard Brent.
- zero_rc_test
- zoomin, a Fortran90 code which seeks the zero of a function.
- zoomin_test