Fortran90 Codes
-
allocatable_array_test,
a Fortran90 code which
demonstrates how a main program can declare an allocatable array,
which is then passed to a subroutine which allocates it, initializes
it, and returns it to the calling program for further use.
-
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
is a numerical software library for solving large scale eigenvalue
problems. The package is designed to compute a few eigenvalues and
corresponding eigenvectors of large sparse or structured matrices,
using the Implicitly Restarted Arnoldi Method (IRAM) or, in the case
of symmetric matrices, the corresponding variant of the Lanczos
algorithm. It is used by many popular numerical computing environments
such as SciPy, Mathematica, GNU Octave and MATLAB to provide this
functionality.
-
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
-
backward_euler,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the (implicit) backward Euler method, using a version
of fsolve() for the implicit equation.
-
backward_euler_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
-
band_qr,
a Fortran90 code which
computes the QR factorization of a banded matrix, and solves
related linear systems,
by Alfredo Remon, Enrique Quintana-Orti, Gregorio Quintana-Orti.
-
band_qr_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
-
bdf2,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the (implicit) backward difference formula of order 2 (BDF2),
using fsolve() to solve the implicit equation.
-
bdf2_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
-
biharmonic_exact,
a Fortran90 code which
evaluates exact solutions w(x,y) to the biharmonic equation
del^2 w = 0 or wxxxx + 2 wxxyy + wyyyy = 0
-
biharmonic_exact_test
-
bins,
a Fortran90 code which
sorts data into order, or lumps
it into bins, or selects an item of particular rank, or finds
the unique elements in a list.
-
bins_test
-
bisection,
a Fortran90 code which
applies the bisection method to seek a root of f(x)
over a change-of-sign interval a <= x <= b.
-
bisection_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
-
bump,
a Fortran90 code which
solves a 2D steady incompressible flow problem set in a channel
with a small bump.
-
bump_test
-
burgers_exact,
a Fortran90 code which
evaluates exact solutions of the
time-dependent 1D viscous Burgers equation.
-
burgers_exact_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
-
bvls,
a Fortran90 code which
applies linear least squares (LLS) methods to solve a system for which
lower and upper constraints may have been placed on every variable,
by Charles Lawson and Richard Hanson.
-
bvls_test
-
c_comment,
a Fortran90 code which
reads an ASCII text file,
and writes a copy, in which C++ style comments have been replaced by
equivalent C-style comments.
-
c_comment_test
-
c8lib,
a Fortran90 code which
implements certain elementary functions for
double precision complex (C8) variables;
-
c8lib_test
-
c8poly,
a Fortran90 code which
operates on complex polynomials.
-
c8poly_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
-
calpak,
a Fortran90 code which
computes various simple calendrical quantities. It can work with
various calendars including Egyptian, English, French Revolutionary,
Gregorian, Julian, and Julian Ephemeris Date. It can convert a
date from one calendar to another. It can return the day of the week
for a given date. It can convert from day-number/year to
day/month/year format. It can calculate the time difference
between two dates.
-
calpak_test
-
candy_count,
a Fortran90 code which
counts the types of candy in a rectangular container, which might be
a vector, matrix, or 3D box. The candy is assumed to have C possible
types, and to have been entered into the container in a cycle that
begins with type 1. While the vector case is easy, it is already
difficult to come up with a general formula for the MxN matrix case.
-
candy_count_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
-
channel,
a Fortran90 code which
computes the time-independent flow
of a viscous incompressible fluid in a 2D channel.
-
channel_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
-
closest_pair_brute,
a Fortran90 code which
uses brute force to solve a 2D version of the closest pair problem,
which identifies the closest pair of points in a given collection.
-
closest_pair_brute_test
-
closest_point_brute,
a Fortran90 code which
uses brute force to find the nearest of a set of N points in D
dimensions to a given test point. This is sometimes called a
nearest neighbor calculation.
-
closest_point_brute_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
-
color_digraph_adj,
a Fortran90 code which
carries out operations on color digraphs, a directed graph in which
each node has been assigned a color. That information is stored in
an adjacency matrix in which the diagonal elements record colors.
Operations include counting the colors, computing in- and out-degrees,
computing the in- and out-degree sequences, counting the edges,
printing the adjacency matrix, generating fixed and random examples.
-
color_digraph_adj_test
-
color_graph_adj,
a Fortran90 code which
carries out operations on color graphs, an undirected graph in which
each node has been assigned a color. That information is stored in
an adjacency matrix in which the diagonal elements record colors.
Operations include counting the colors, computing degrees,
computing the degree sequences, counting the edges,
printing the adjacency matrix, generating fixed and random examples.
-
color_graph_adj_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
ranks, unranks, enumerates, lists and
randomly selects balanced sequences, cycles, graphs, Gray codes,
subsets, partitions, permutations, restricted growth functions,
Pruefer codes and trees.
-
combo_test
-
communicator_mpi,
a Fortran90 code which
creates new communicators involving a subset of initial
set of MPI processes in the default communicator MPI_COMM_WORLD.
-
communicator_mpi_test
-
companion_matrix,
a Fortran90 code which
computes the companion matrix for a polynomial.
The polynomial may be represented in the standard monomial basis,
or as a sum of Chebyshev, Gegenbauer, Hermite, Laguerre, or Lagrange
basis polynomials. All the roots of the polynomial can be determined as
the eigenvalues of the corresponding companion matrix.
-
companion_matrix_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
-
crystal_coordinates,
a Fortran90 code which
generates the coordinates of a set of 4 * NX * NY * NZ
points in a rectangular block of NX * NY * NZ cells, with
face-centered cubic (FCC) symmetry.
-
crystal_coordinates_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.
-
cvt_box,
a Fortran90 code which
calculates a Centroidal Voronoi Tessellation (CVT)
constrained to a box region, with points projected to the boundary;
-
cvt_box_test
-
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
-
diaphony,
a Fortran90 code which
reads a file of N points in M dimensions and computes its diaphony,
a measure of point dispersion.
-
diaphony_test
-
differ,
a Fortran90 code which
is given function values at equally spaced locations, and the
order of a derivative, and uses the finite difference method (FDM)
to compute a linear combination of these function values which
approximated that derivative.
-
differ_test
-
digraph_adj,
a Fortran90 code which
carries out operations on digraphs, a directed graph.
Information is stored in an adjacency matrix.
Operations include computing in- and out-degrees,
computing the in- and out-degree sequences, counting the edges,
printing the adjacency matrix, generating fixed and random examples.
-
digraph_adj_test
-
digraph_arc,
a Fortran90 code which
carries out operations on digraphs, a directed graph.
Information is stored in an arc list, pairs of nodes forming edges.
Operations include computing in- and out-degrees,
computing the in- and out-degree sequences, counting the edges,
printing the arc list, generating fixed and random examples.
-
digraph_arc_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_positive_monte_carlo,
a Fortran90 code which
applies a Monte Carlo method to estimate the integral of a function
over the interior of the unit positive disk in 2D;
-
disk01_positive_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
-
divdif,
a Fortran90 code which
creates, prints and manipulates divided difference polynomials from
a table of values (x,f(x)). The code can compute the coefficients of
the Newton and power sum forms of the interpolating polynomial. It
can compute the derivative or antiderivate polynomial. It can compute
the form of the Lagrange basis polynomials. It can compute the
points and weights for Newton Cotes quadrature rules. It can compute
the weights for a Lagrange interpolation scheme.
-
divdif_test
-
doomsday,
a Fortran90 code which
is given the year, month and day of a date, and uses
John Conway's doomsday algorithm
to determine the corresponding day of the week.
-
doomsday_test
-
dqed,
a Fortran90 code which
solves (square) systems of nonlinear equations, or minimizes the
residual in a set of nonlinear equations, using least squares,
by Richard Hanson and Fred Krogh.
-
dqed_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
-
eigs,
a Fortran90 code which
computes the eigenvalues and
eigenvectors of a matrix.
-
eigs_test
-
eispack,
a Fortran90 code which
carries out eigenvalue computations.
It includes a function to compute the singular value decomposition (SVD)
of a rectangular matrix.
superseded by lapack();
-
eispack_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
-
exactness,
a Fortran90 code which
investigates the exactness of quadrature rules that estimate the
integral of a function with a density, such as 1, exp(-x) or
exp(-x^2), over an interval such as [-1,+1], [0,+oo) or (-oo,+oo).
-
exactness_test
-
extract,
a Fortran90 code which
pulls a copy of a Fortran
block data, function, module, program or subroutine from a big file,
and saves the copy in a little file.
-
extract_test
-
f90_combinatorics,
a Fortran90 code which
considers a variety of problems in combinatorics involving
counting, combinations, permutations, and so on.
-
f90_exact,
a Fortran90 code which
evaluates exact solutions to a few selected examples of
ordinary differential equations (ODE) and partial differential
equations (PDE).
-
f90_monte_carlo,
a Fortran90 code which
uses Monte Carlo sampling to estimate areas and integrals.
-
f90_ode_solver,
a Fortran90 code which
solves one or more differential equations (ODE) using a method of a
particular order, either explicit or implicit. Some methods require
a nonlinear equation solver. Some methods used a fixed stepsize,
while others adapt the stepsize based on an error estimate.
-
f90_random_test,
a Fortran90 code which
calls the random number generator (RNG) routines.
-
f90_rule,
a Fortran90 code which
computes a quadrature rule which
estimates the integral of a function f(x), which might be defined over
a one dimensional region (a line) or more complex shapes such as
a circle, a triangle, a quadrilateral, a polygon, or a higher
dimensional region, and which might include an associated weight
function w(x).
-
f90_simulation,
a Fortran90 code which
uses simulation to study card games, contests, and other processes
which have a random element. Usually, the purpose is to try to
predict the average behavior of the system over many trials.
-
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
-
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 predator-prey
system with time and 1D spatial dependence, 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_medit,
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 medit() MESH file.
-
fem_to_medit_test
-
fem_to_tec,
a Fortran90 code which
converts FEM models into tecplot ASCII files.
-
fem_to_tec_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
-
files_multiple,
a Fortran90 code which
demonstrates how a program can open multiple output files at one time,
and write data to any one specific file it chooses.
-
filon_rule,
a Fortran90 code which
uses Filon's method to approximate integrals which include an
oscillatory factor of sin(k*x) or cos(k*x).
-
filon_rule_test
-
filum,
a Fortran90 code which
performs various operations on files;
-
filum_test
-
fisher_exact,
a Fortran90 code which
returns an exact solution of the Kolmogorov Petrovsky Piskonov Fisher
partial differential equation (PDE) ut=uxx+u*(1-u).
-
fisher_exact_test
-
fixcon,
a Fortran90 code which
converts the line continuation scheme used in a Fortran77
file to that used in Fortran90 files.
-
fixcon_test
-
flame_exact,
a Fortran90 code which
returns the exact solution of an ordinary differential equation (ODE)
which models the growth of a ball of flame in a combustion process.
The exact solution is defined in terms of the Lambert W function.
-
flame_exact_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 minpack(),
with special interfaces fsolve_bdf2(), fsolve_be() and
fsolve_tr() for handling systems associated
with implicit ODE solvers of type bdf2, backward Euler,
midpoint, or trapezoidal.
-
fsolve_test
-
gauss_seidel,
a Fortran90 code which
implements the Gauss-Seidel iteration for linear systems.
-
gauss_seidel_test
-
gdb_test,
a Fortran90 code which
uses the GNU debugger;
-
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
-
gene_cluster,
a Fortran90 code which
clusters sets of genetic expression data;
-
gene_cluster_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
-
geompack,
a Fortran90 code which
computes Delaunay triangulations, Voronoi diagrams,
and other information, by Barry Joe.
-
geompack_test
-
gfortran_quadmath_test,
a Fortran90 code which
illustrates the use of quadruple real precision arithmetic
with the Gnu Fortran compiler.
-
gl_fast_rule,
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.
-
gl_fast_rule_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
-
gprof_test,
a Fortran90 code which
uses the gprof() profiling tool.
-
graph_adj,
a Fortran90 code which
carries out operations on abstract graphs, with undirected edges,
represented by an adjacency matrix. Operations include breadth-first
search, the computation of a minimum spanning tree,
an Euler or Hamilton circuit, blocks, chromatic polynomial,
or transitive closure.
-
graph_adj_test
-
graph_arc,
a Fortran90 code which
carries out operations on graphs.
Information is stored in an arc list, pairs of nodes forming edges.
Operations include the chromatic polynomial, computing degrees,
computing the degree sequence, counting the edges,
determining edge and node connectivity, Euler circuits,
spanning trees, shortest path,
printing the arc list, generating fixed and random examples.
-
graph_arc_test
-
graph_dist,
a Fortran90 code which
carries out operations on abstract graphs, defined by undirected
edges with an associated distance matrix.
-
graph_dist_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, and trees.
-
graph_theory_test
-
graphics_dislin_test,
a Fortran90 code which
graphically displays various kinds of data,
using the dislin() graphics library.
-
graphics_gnuplot_test,
a Fortran90 code which
graphically displays various kinds of data,
using the gnuplot() graphics program.
-
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
-
grf_to_xyl,
a Fortran90 code which
converts information describing the adjacency and embedding of an
abstract graph from GRF to XYL format.
-
grf_to_xyl_test
-
haar_transform,
a Fortran90 code which
computes the Haar transform of 1d or 2d data.
-
haar_transform_test
-
halton,
a Fortran90 code which
computes elements of a Halton Quasi Monte Carlo (QMC) sequence,
using a simple interface.
-
halton_test
-
hammersley,
a Fortran90 code which
computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence,
using a simple interface.
-
hammersley_test
-
hankel_cholesky,
a Fortran90 code which
computes the upper Cholesky factor R of a
symmetric positive definite (SPD) Hankel matrix H so that H = R' * R.
-
hankel_cholesky_test
-
hankel_spd,
a Fortran90 code which
computes a lower triangular matrix L that is the Cholesky factor
of a symmetric positive definite (SPD) Hankel matrix H, that is,
H = L * L'.
-
hankel_spd_test
-
hb_io,
a Fortran90 code which
reads and writes sparse linear systems stored in the Harwell Boeing
(HB) format for sparse matrices.
-
hb_io_test
-
hb_to_st,
a Fortran90 code which
converts a sparse matrix from Harwell Boeing (HB) format
to Sparse Triplet (ST) format.
-
hb_to_st_test
-
heat_mpi,
a Fortran90 code which
solves the 1D time dependent heat equation in parallel,
using the Message Passing Interface (MPI).
-
heat_mpi_test
-
heated_plate,
a Fortran90 code which
solves the steady (time independent) heat equation in a 2D
rectangular region, and is intended as
a starting point for implementing a parallel version.
-
heated_plate_test
-
heated_plate_openmp,
a Fortran90 code which
solves the steady (time independent) heat equation in a 2D
rectangular region, using OpenMP to run in parallel.
-
heated_plate_openmp_test
-
hello,
a Fortran90 code which
prints out "Hello, world!".
-
hello_test
-
hello_mpi,
a Fortran90 code which
prints 'Hello, world!' using the Message Passing Interface (MPI)
for parallel execution.
-
hello_mpi_test
-
hello_openmp,
a Fortran90 code which
prints 'Hello, world!', using OpenMP for parallel execution.
-
hello_openmp_test
-
helmholtz_openmp,
a Fortran90 code which
solves the discretized Helmholtz equation in 2D
using the OpenMP application program interface
for carrying out parallel computations in a shared memory environment.
-
helmholtz_openmp_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_exactness,
a Fortran90 code which
tests the monomial exactness of quadrature rules for estimating
Hermite-type integrals of a function f(x) with density
rho(x)=exp(-x^2) over the interval (-oo,+oo).
-
hermite_exactness_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
-
hex_grid,
a Fortran90 code which
computes points on a hexagonal grid.
-
hex_grid_test
-
hex_grid_angle,
a Fortran90 code which
produces a hexagonal grid of points in the unit
square or an arbitrary box, allowing the user to specify an
arbitrary center, angle, and grid density.
-
hex_grid_angle_test
-
hexahedron_jaskowiec_rule,
a Fortran90 code which
returns a symmetric Jaskowiec quadrature rule for the hexahedron,
with exactness up to total degree 21.
-
hexahedron_jaskowiec_rule_test
-
hexahedron_witherden_rule,
a Fortran90 code which
returns a symmetric Witherden quadrature rule for the hexahedron,
with exactness up to total degree 11.
-
hexahedron_witherden_rule_test
-
high_card_simulation,
a Fortran90 code which
simulates a situation in which you see the cards in a deck one by one,
and must select the one you think is the highest and stop;
using gnuplot() for graphics.
-
high_card_simulation_test
-
hilbert_curve,
a Fortran90 code which
computes the sequence of discrete Hilbert curves whose limit
is a space-filling curve.
-
hilbert_curve_test
-
humps,
a Fortran90 code which
evaluates the humps function, its first and second derivatives,
and its antiderivative.
-
humps_test
-
hyper_2f1,
a Fortran90 code which
evaluates the hypergeometric functions 2F1(a,b,c;x) for real
or complex parameters a, b, c, and argument x,
by N. Michel and M. Stoitsov.
-
hyper_2f1_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_exactness,
a Fortran90 code which
tests the polynomial exactness of a quadrature rule
over the interior of the unit hypercube in M dimensions.
-
hypercube_exactness_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
-
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
-
ising_2d_simulation,
a Fortran90 code which
carries out a Monte Carlo simulation of an Ising model,
a 2D array of positive and negative charges,
each of which is likely to flip to be in agreement with neighbors,
using gnuplot() to make images of the initial and final
configurations.
-
ising_2d_simulation_test
-
ising_3d_simulation,
a Fortran90 code which
carries out a Monte Carlo simulation of an Ising model,
a 3D array of positive and negative charges,
each of which is likely to flip to be in agreement with neighbors.
-
ising_3d_simulation_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_exactness,
a Fortran90 code which
tests the monomial exactness of quadrature rules for integrals
that include a Jacobi weight.
-
jacobi_exactness_test
-
jacobi_openmp,
a Fortran90 code which
uses OpenMP to parallelize a Jacobi iteration for solving A*x=b.
-
jacobi_openmp_test
-
jacobi_polynomial,
a Fortran90 code which
evaluates the Jacobi polynomial and associated functions.
-
jacobi_polynomial_test
-
jacobi_rule,
a Fortran90 code which
computes and print a Gauss-Jacobi quadrature rule.
-
jacobi_rule_test
-
kdv_exact,
a Fortran90 code which
evaluates exact solutions of the Korteweg-deVries (KdV)
partial differential equation (PDE).
-
kdv_exact_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,
in which a knapsack of limited weight capacity is to be packed as
full as possible, selecting items from a set of varying weights;
-
knapsack_01_brute_test
-
knapsack_rational,
a Fortran90 code which
solves the rational knapsack problem, in which a knapsack of limited
weight capacity is filled with profitable items. This variation of
the 0/1 knapsack problem allows a fractional part of an item to
be included in the knapsack. The result is an upper bound on the
maximum possible profit for the 0/1 knapsack problem.
-
knapsack_rational_test
-
knapsack_values,
a Fortran90 code which
returns some simple examples of the knapsack problem,
in which N items are available, each with given value V and weight W.
A thief's knapsack can carry no more than K pounds. The thief
seeks a selection S of items to carry in the knapsack of maximum
total value.
-
knapsack_values_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_exactness,
a Fortran90 code which
tests the monomial exactness of Gauss-Laguerre quadrature rules
for estimating the integral of a function f(x) with density
rho(x)=exp(-x) over the interval [0,+oo).
-
laguerre_exactness_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
-
laguerre_rule,
a Fortran90 code which
computes and print a Gauss-Laguerre quadrature rule
for estimating the integral of a function with density exp(-x)
over the interval [0,+oo).
-
laguerre_rule_test
-
lambert_w,
a Fortran90 code which
evaluates Lambert's W function.
-
lambert_w_test
-
lapack_test,
a Fortran90 code which
calls lapack(), which
is a standard linear algebra package for solving linear systems,
computing matrix factorizations, and solving eigenvalue problems.
A precompiled copy of the lapack() library is often available
on most scientific computing systems.
-
lapack_d,
a Fortran90 code which
is the double precision real version of the lapack()
linear algebra code.
-
lapack_d_test
-
laplacian_matrix,
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_matrix_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
-
lattice_rule,
a Fortran90 code which
approximates M-dimensional integrals using lattice rules.
-
lattice_rule_test
-
lau_np,
a Fortran90 code which
implements heuristic algorithms for various NP-hard
combinatorial problems, including the integer linear programming
problem, the K-center problem, the K-median problem, the 0-1 knapsack
problem, the multiple knapsack problem, the graph matching problem,
the graph partitioning problem, the minimal Steiner tree problem,
and the traveling salesman problem;
-
lau_np_test
-
laupack,
a Fortran90 code which
computes properties of mathematical graphs, including Euler circuits,
Hamiltonian circuits, cliques, strongly connected components, minimal
spanning tree, chromatic number, shortest paths, maximal flow,
and planarity.
-
laupack_test
-
lcvt,
a Fortran90 code which
computes a Latinized Centroidal Voronoi Tessellation (CVT).
-
lcvt_test
-
lebesgue,
a Fortran90 code which
is given nodes in 1D, and
plots the Lebesgue function, and estimates the Lebesgue constant,
which measures the maximum magnitude of the potential error
of Lagrange polynomial interpolation, and which uses gnuplot()
to make plots of the Lebesgue function.
-
lebesgue_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_fekete_rule,
a Fortran90 code which
estimates the location of N Fekete points, for polynomial
interpolation or quadrature,
over the interior of a line segment in 1D.
-
line_fekete_rule_test
-
line_felippa_rule,
a Fortran90 code which
returns a Felippa quadrature rule
over the interior of a line segment in 1D.
-
line_felippa_rule_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
-
line_ncc_rule,
a Fortran90 code which
computes a Newton Cotes Closed (NCC) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.
-
line_ncc_rule_test
-
line_nco_rule,
a Fortran90 code which
computes a Newton Cotes Open (NCO) quadrature rule,
using equally spaced points,
over the interior of a line segment in 1D.
-
line_nco_rule_test
-
linear_algebra,
Fortran90 codes which
carry out various linear algebra operations for matrices
stored in a variety of formats.
-
linpack_bench,
a Fortran90 code which
carries out the LINPACK Benchmark.
-
linpack_bench_test
-
linpack_d,
a Fortran90 code which
factors and solves linear systems using double precision arithmetic,
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
The matrix and vector data is assumed to be real.
-
linpack_d_test
-
linpack_z,
a Fortran90 code which
factors and solves linear systems using double precision arithmetic,
by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
The matrix and vector data is assumed to be complex.
-
linpack_z_test
-
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
-
lobatto_polynomial,
a Fortran90 code which
evaluates Lobatto polynomials, similar to Legendre polynomials
except that they are zero at both endpoints.
-
lobatto_polynomial_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
-
logistic_exact,
a Fortran90 code which
evaluates an exact solution of the logistic equation,
an ordinary differential equation (ODE)
which models population growth in the face of a limited carrying capacity.
-
logistic_exact_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
-
mandelbrot,
a Fortran90 code which
generates an ASCII Portable Pixel Map (PPM) image
of the Mandelbrot fractal set;
-
mandelbrot_test
-
mandelbrot_openmp,
a Fortran90 code which
generates an ASCII Portable Pixel Map (PPM) image
of the Mandelbrot fractal set,
using OpenMP for parallel execution.
-
mandelbrot_openmp_test
-
matman,
a Fortran90 code which
allows a user to interactively define and manipulate matrices
using integer, real, or rational arithmetic, and to perform
various operations in linear algebra or linear programming modes.
-
matman_test
-
matmul,
a Fortran90 code which
benchmarks matrix multiplication.
-
matmul_test
-
matrix_chain_brute,
a Fortran90 code which
finds the cost of the most efficient ordering to use when
multiplying a sequence of matrices, using brute force.
-
matrix_chain_brute_test
-
matrix_chain_dynamic,
a Fortran90 code which
finds the cost of the most efficient ordering to use when
multiplying a sequence of matrices, using dynamic programming.
-
matrix_chain_dynamic_test
-
matrix_exponential,
a Fortran90 code which
demonstrates some simple approaches to the problem of computing the
exponential of a matrix;
-
matrix_exponential_test
-
maze,
a Fortran90 code which
carries out operations on a maze, including the diameter, a
random example, or a path that solves the maze.
-
maze_test
-
md,
a Fortran90 code which
carries out a molecular dynamics simulation,
intended as a starting point for implementing a parallel version.
-
md_test
-
md_openmp,
a Fortran90 code which
carries out a molecular dynamics simulation,
using OpenMP for parallel execution.
-
md_openmp_test
-
medit_mesh_io,
a Fortran90 code which
reads or writes medit() MESH files defining a finite element mesh.
-
medit_mesh_io_test
-
medit_to_fem,
a Fortran90 code which
reads a medit() MESH file and rewrites the
information as an FEM file.
-
medit_to_fem_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
-
mgs,
a Fortran90 code which
is an obscure legacy code, which the student is encouraged to
study, understand, and document. This example is due to Diane O'Leary.
-
mgs_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,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the (implicit) midpoint method, with a version of
fsolve() handling the associated nonlinear equation,
and using a fixed time step.
-
midpoint_test
-
midpoint_adaptive,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the (implicit) midpoint method, with fsolve() solving
the implicit equation, and an adaptive time step.
Plots of the solution and timestep history are created using gnuplot().
-
midpoint_adaptive_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
-
mm_io,
a Fortran90 code which
reads and writes sparse linear systems stored in the Matrix Market (MM)
format.
-
mm_io_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
-
multitask_mpi,
a Fortran90 code which
demonstrates how to multitask, that is, to execute several unrelated
and distinct tasks simultaneously, using
the message passing interface (MPI) for parallel execution.
-
multitask_mpi_test
-
multitask_openmp,
a Fortran90 code which
demonstrates how to multitask, that is, to execute several unrelated
and distinct tasks simultaneously, using OpenMP for parallel
execution.
-
multitask_openmp_test
-
mxm_openmp,
a Fortran90 code which
computes a dense matrix product C=A*B,
using OpenMP for parallel execution.
-
mxm_openmp_test
-
naca,
a Fortran90 code which
takes the parameters of certain NACA airfoils and returns the
coordinates of a sequence of points that outline the wing shape.
The data is displayed with the gnuplot() graphics program.
-
naca_test
-
nas,
a Fortran90 code which
runs the NASA kernel benchmark.
-
nas_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
-
neighbors_to_metis_graph,
a Fortran90 code which
reads a file describing the neighbor
structure of a mesh of triangles or tetrahedrons, and writes a
metis_graph() file suitable for input to one of the family of
programs based on metis();
-
neighbors_to_metis_graph_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
-
niederreiter2,
a Fortran90 code which
computes elements of a Niederreiter Quasi Monte Carlo (QMC) sequence
using base 2.
-
niederreiter2_test
-
nint_exactness_mixed,
a Fortran90 code which
measures the exactness of an M-dimensional quadrature rule
based on a mixture of 1D quadrature rule factors.
-
nint_exactness_mixed_test
-
nintlib,
a Fortran90 code which
implements approximate integration or quadrature in M dimensions;
-
nintlib_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
-
normal_dataset,
a Fortran90 code which
creates a multivariate normal random dataset and writes it to a file.
-
normal_dataset_test
-
obj_io,
a Fortran90 code which
reads and writes the 3D graphics information
in an Alias OBJ file;
-
obj_io_test
-
ode,
a Fortran90 code which
solves a system of ordinary differential equations (ODE),
by Shampine and Gordon;
-
ode_test
-
openmp_test,
a Fortran90 code which
uses OpenMP, which
is an application program interface
for carrying out parallel computations in a shared memory environment.
-
optimize_test,
a Fortran90 code which
looks at the use of automatic optimization by the compiler
to make the executable code run faster.
-
ornstein_uhlenbeck,
a Fortran90 code which
approximates solutions of the Ornstein-Uhlenbeck
stochastic ordinary differential equation (SDE) using the Euler method
and the Euler-Maruyama method,
and creating graphics files for processing by gnuplot().
-
ornstein_uhlenbeck_test
-
owen,
a Fortran90 code which
evaluates the Owen T function.
-
owen_test
-
padua,
a Fortran90 code which
returns the coordinates of the 2D Padua points,
as well as interpolation weights or quadrature weights,
and images of the points in gnuplot() graphics files.
-
padua_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
-
patterson_rule,
a Fortran90 code which
returns the points and weights of a 1D Gauss-Patterson quadrature rule
of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.
-
patterson_rule_test
-
pbma_io,
a Fortran90 code which
reads or writes graphics files that use the ASCII
Portable Bit Map (PBM) format.
-
pbma_io_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
-
pdb_to_xyz,
a Fortran90 code which
reads a Protein Data Bank (PDB) file,
and, for each ATOM record in the file, extracts the atomic
spatial coordinates and writes them to an XYZ file.
-
pdb_to_xyz_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
-
pentominoes,
a Fortran90 code which
forms or plots any of the 12 members of the pentomino family,
shapes formed from 5 adjacent squares.
-
pentominoes_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
-
pgma_io,
a Fortran90 code which
reads or writes graphics files that use the ASCII
Portable Gray Map (PGM) format.
-
pgma_io_test
-
pink_noise,
a Fortran90 code which
computes a pink noise signal obeying a 1/f power law.
-
pink_noise_test
-
plot_points,
a Fortran90 code which
makes an Encapsulated PostScript (EPS) plot of points in 2D.
-
plot_points_test
-
plot_to_ps,
a Fortran90 code which
reads simple text commands and creates a PostScript (PS) image;
-
plot_to_ps_test
-
poisson_1d,
a Fortran code which
solves a discretized version of the Poisson equation -uxx = f(x)
on the interval a ≤ x ≤ b, with Dirichlet boundary conditions
u(a) = ua, u(b) = ub.
The linear system is solved using Gauss-Seidel iteration.
-
poisson_1d_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
-
poisson_2d,
a Fortran90 code which
solves the Poisson equation in a rectangle,
using finite differences and Jacobi iteration.
-
poisson_2d_test
-
poisson_openmp,
a Fortran90 code which
computes an approximate solution to the Poisson equation in a
rectangle, using the Jacobi iteration to solve the linear system,
and OpenMP to carry out the Jacobi iteration in parallel.
-
poisson_openmp_test
-
poisson_simulation,
a Fortran90 code which
simulates a Poisson process in which events randomly occur with an
average waiting time of Lambda, creating output for graphics
by gnuplot().
-
poisson_simulation_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,
Hypergeometric 2F1, Jacobi,
Krawtchouk, Laguerre, Lambert, Legendre, Lerch, Meixner, Mertens,
Moebius, Motzkin, Phi, Stirling Number, 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
-
polynomial_conversion,
a Fortran90 code which
converts representations of a polynomial between monomial, Bernstein,
Chebyshev, Gegenbauer, Hermite, Laguerre and Legendre forms.
-
polynomial_conversion_test
-
polynomial_root_bound,
a Fortran90 code which
computes the Cauchy bound on the magnitude of all roots
of a polynomial with complex coefficients.
-
polynomial_root_bound_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
-
porous_medium_exact,
a Fortran90 code which
returns an exact solution of the porous medium equation (PME),
dudt=Del^2(u^m), a partial differential equation (PDE) related
to the diffusion equation, based on the Barenblatt solution.
-
porous_medium_exact_test
-
power_method,
a Fortran90 code which
carries out the power method for finding a dominant eigenvalue
and its eigenvector.
-
power_method_test
-
power_rule,
a Fortran90 code which
constructs a power rule, that is, a product quadrature rule
from identical 1D factor rules.
-
power_rule_test
-
ppma_io,
a Fortran90 code which
reads or writes graphics files that use the ASCII
Portable Pixel Map (PPM) format.
-
ppma_io_test
-
pppack,
a Fortran90 code which
computes piecewise polynomial functions, including cubic splines,
by Carl deBoor.
-
pppack_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_mpi,
a Fortran90 code which
counts primes between 1 and N,
using Message Passing Interface (MPI) for parallel execution.
-
prime_mpi_test
-
prime_openmp,
a Fortran90 code which
counts primes between 1 and N,
using OpenMP for parallel execution.
-
prime_openmp_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
-
prism_jaskowiec_rule,
a Fortran90 code which
returns symmetric quadrature rules, with exactness up to total
degree 20, over the interior of a prism with triangular base,
by Jan Jaskowiec, Natarajan Sukumar.
-
prism_jaskowiec_rule_test
-
prism_witherden_rule,
a Fortran90 code which
returns a symmetric Witherden quadrature rule for a prism with
triangular base, with exactness up to total degree 10.
-
prism_witherden_rule_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
-
product_rule,
a Fortran90 code which
constructs a product quadrature rule from distinct 1D factor rules.
-
product_rule_test
-
ps_gg_align,
a Fortran90 code which
implements global string alignment algorithms which work in linear space,
and compute both the optimal score and the optimal alignment.
Gaps in the alignment are assigned an affine gap penalty.
The algorithms are due to Chao.
-
ps_gg_align_test
-
ps_lg_align,
a Fortran90 code which
implements local string alignment algorithms which work in linear space,
and compute both the optimal score and the optimal alignment.
Gaps in the alignment are assigned an affine gap penalty.
The algorithms are due to Chao.
-
ps_qg_align,
a Fortran90 code which
implements quasi-global string alignment algorithms which work in
linear space, and compute both the optimal score and the optimal
alignment.
Gaps in the alignment are assigned an affine gap penalty.
The algorithms are due to Chao.
-
ps_write,
a Fortran90 code which
creates PostScript (PS) graphics files.
-
ps_write_test
-
puzzles,
a Fortran90 code which
was used to solve various puzzles.
-
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_exactness,
a Fortran90 code which
computes the monomial exactness of a quadrature rule
over the interior of a pyramid in 3D.
-
pyramid_exactness_test
-
pyramid_felippa_rule,
a Fortran90 code which
returns a Felippa quadrature rule for approximating integrals
over the interior of a pyramid in 3D.
-
pyramid_felippa_rule_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_jaskowiec_rule,
a Fortran90 code which
returns quadrature rules, with exactness up to total degree 20,
over the interior of a pyramid in 3D,
by Jan Jaskowiec, Natarajan Sukumar.
-
pyramid_jaskowiec_rule_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
-
pyramid_rule,
a Fortran90 code which
computes a conical product quadrature rule
over the interior of the unit pyramid in 3D;
-
pyramid_rule_test
-
pyramid_witherden_rule,
a Fortran90 code which
returns a Witherden quadrature rule, with exactness up to total
degree 10, over the interior of a pyramid.
-
pyramid_witherden_rule_test
-
qr_solve,
a Fortran90 code which
computes the linear least squares (LLS) solution of a system A*x=b.
-
qr_solve_test
-
quad_mpi,
a Fortran90 code which
approximates an integral using a quadrature rule, and carries out the
computation in parallel using the Message Passing Interface (MPI).
-
quad_mpi_test
-
quad_openmp,
a Fortran90 code which
applies a quadrature rule to estimate an integral over a 1D interval,
using OpenMP for parallel execution.
-
quad_openmp_test
-
quad_rule,
a Fortran90 code which
implements rules for approximate integration (quadrature)
in one dimension;
-
quad_rule_test
-
quad_serial,
a Fortran90 code which
approximates an integral using a quadrature rule,
and is intended as a starting point for parallelization exercises.
-
quad_serial_test
-
quad2d,
a Fortran90 code which
estimates an integral over a 2D rectangle using quadrature,
intended as the starting point for program optimization
or parallelization.
-
quad2d_test
-
quadmom,
a Fortran90 code which
computes a Gaussian quadrature rule for a weight function rho(x)
based on the Golub-Welsch procedure that only requires knowledge
of the moments of rho(x).
-
quadmom_test
-
quadpack,
a Fortran90 code which
estimates integrals using numerical quadrature,
by Piessens, deDoncker-Kapenga, Ueberhuber, and Kahaner.
-
quadpack_test
-
quadrature_golub_welsch,
a Fortran90 code which
computes the points and weights of a Gaussian quadrature rule using the
Golub-Welsch procedure, assuming that the points have been specified.
-
quadrature_golub_welsch_test
-
quadrature_least_squares,
a Fortran90 code which
computes weights for sub-interpolatory quadrature rules,
that is, it estimates integrals by integrating a polynomial that
approximates the function data in a least squares sense.
-
quadrature_least_squares_test
-
quadrature_weights_vandermonde,
a Fortran90 code which
computes the weights of a quadrature rule using the Vandermonde
matrix, assuming that the points have been specified.
-
quadrature_weights_vandermonde_test
-
quadrature_weights_vandermonde_2d,
a Fortran90 code which
computes the weights of a 2D quadrature rule using the Vandermonde
matrix, assuming that the points have been specified.
-
quadrature_weights_vandermonde_2d_test
-
quadrilateral_mesh,
a Fortran90 code which
handles meshes of quadrilaterals over a 2D region;
-
quadrilateral_mesh_test
-
quadrilateral_mesh_rcm,
a Fortran90 code which
computes the Reverse Cuthill McKee (RCM) reordering for nodes
in a mesh of 4-node quadrilaterals.
-
quadrilateral_mesh_rcm_test
-
quadrilateral_witherden_rule,
a Fortran90 code which
returns a symmetric Witherden quadrature rule for the quadrilateral,
with exactness up to total degree 21.
-
quadrilateral_witherden_rule_test
-
quality,
a Fortran90 code which
computes quality of distribution measures for
pointsets in M dimensions;
-
quality_test
-
quaternions,
a Fortran90 code which
carries out some simple arithmetic operations for quaternions.
-
quaternions_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 real 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
-
randlc,
a Fortran90 code which
implements a random number generator (RNG)
used by the nas() benchmarks.
-
randlc_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
-
random_mpi,
a Fortran90 code which
generates the same sequence of values from a
random number generator (RNG)
for both sequential execution and parallel execution under
the Message Passing Interface (MPI).
-
random_mpi_test
-
random_openmp,
a Fortran90 code which
generates multiple distinct streams of random numbers using
OpenMP for parallel execution.
-
random_openmp_test
-
random_sorted,
a Fortran90 code which
uses a random number generator (RNG) to create a vector of
random values which are already sorted.
-
random_sorted_test
-
ranlib,
a Fortran90 code which
is a library of random number generators which
produces random samples from Probability Density Functions (PDF),
including Beta, Chi-square Exponential, F, Gamma, Multivariate normal,
Noncentral chi-square, Noncentral F, Univariate normal,
random permutations, Real uniform, Binomial, Negative Binomial,
Multinomial, Poisson and Integer uniform,
by Barry Brown and James Lovato.
-
ranlib_test
-
ranmap,
a Fortran90 code which
creates PostScript (PS) images of iterated affine mappings, including
the Barnsley fractal fern and the Levy dragon.
-
ranmap_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
-
rcm,
a Fortran90 code which
applies the Reverse Cuthill McKee (RCM) algorithm for
reordering the nodes of a graph, and reducing the bandwidth of a
corresponding sparse matrix;
-
rcm_test
-
reactor_simulation,
a Fortran90 code which
is a simple Monte Carlo simulation of the shielding effect of a slab
of a certain thickness in front of a neutron source. This was
provided as an example with the book 'Numerical Methods and Software'.
-
reactor_simulation_test
-
reformat,
a Fortran90 code which
makes a copy of a file with a given number of words per line.
-
reformat_test
-
region,
a Fortran90 code which
reads 3D magnetic resonance imaging (MRI) voxel data, and groups
the voxels into connected regions, called components or segments;
-
region_test
-
ring_mpi,
a Fortran90 code which
uses the Message Passing Interface (MPI), and measures the time
necessary to copy data around a ring of processes.
-
ring_mpi_test
-
rk1,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using an explicit Runge-Kutta method of order 1, usually known
as Euler's explicit method.
-
rk1_test
-
rk1_implicit,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the Runge-Kutta order 1 implicit method, using fsolve()
to solve the implicit equation, and using a fixed time step.
rk1_implicit() is commonly called the backward Euler method.
-
rk1_implicit_test
-
rk2,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using an explicit Runge-Kutta method of order 2,
also known as Heun's method, the modified Euler method, or
the explicit midpoint method.
-
rk2_test
-
rk2_implicit,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the Runge-Kutta order 2 implicit method, using fsolve()
to solve the implicit equation, and using a fixed time step.
rk2_implicit() is also known as the implicit midpoint method.
-
rk2_implicit_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
-
root_rc,
a Fortran90 code which
seeks a solution of a scalar nonlinear equation f(x) = 0,
or a system of nonlinear equations,
using reverse communication (RC), by Gaston Gonnet.
-
root_rc_test
-
roots_rc,
a Fortran90 code which
seeks a solution of a system of nonlinear equations f(x) = 0,
using reverse communication (RC), by Gaston Gonnet.
-
roots_rc_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
-
satisfy_mpi,
a Fortran90 code which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem, using
the Message Passing Interface (MPI) to work in parallel.
-
satisfy_mpi_test
-
satisfy_openmp,
a Fortran90 code which
demonstrates, for a particular circuit, an exhaustive search
for solutions of the circuit satisfiability problem,
using OpenMP for parallel execution.
-
satisfy_openmp_test
-
schedule_openmp,
a Fortran90 code which
demonstrates the default, static, and dynamic methods of scheduling
loop iterations in OpenMP to avoid work imbalance.
-
schedule_openmp_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
-
search_mpi,
a Fortran90 code which
searches integers between A and B for a value J such that F(J) = C,
using MPI for parallel execution.
-
search_mpi_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
-
sgmga,
a Fortran90 code which
creates sparse grids based on a mixture of 1D quadrature rules,
allowing anisotropic weights for each dimension.
-
sgmga_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
-
sigmoid_derivative,
a Fortran90 code which
evaluates derivatives of any order for the sigmoid function
s(x)=1/(1+exp(-x)). The test code creates graphics images
using gnuplot().
-
sigmoid_derivative_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_gm_rule,
a Fortran90 code which
defines Grundmann-Moeller quadrature rules
over the interior of a triangle in 2D, a tetrahedron in 3D,
or a simplex in M dimensions.
-
simplex_gm_rule_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_gordon_exact,
a Fortran90 code which
returns an exact solution of the Sine-Gordon equation,
a partial differential equation (PDE) of the form uxy=sin(u).
-
sine_gordon_exact_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
-
slatec,
a FORTRAN90 code which
collects standard numerical libraries,
including blas(), bvsup(), dassl(), depac(), drive(),
eispack(), fftpack(), fishpack(), fnlib(), linpack(), machine(),
minpack(), mp(), pchip(), pppack(), quadpack(), slap(), sos(), splp(),
and xerror().
-
slatec_test
-
snakes_and_ladders,
a Fortran90 code which
provides tools for the study of the game
of Snakes and Ladders.
-
snakes_and_ladders_test
-
sncndn,
a Fortran90 code which
evaluates the Jacobi elliptic functions sn(u,m), cn(u,m),
and dn(u,m).
-
sncndn_test
-
sobol,
a Fortran90 code which
computes elements of a Sobol Quasi Monte Carlo (QMC) sequence,
by Bennett Fox.
-
sobol_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
-
spaeth,
a Fortran90 code which
analyzes data
by grouping it into clusters.
-
spaeth_test
-
spaeth2,
a Fortran90 code which
analyzes data
by grouping it into clusters.
-
spaeth2_test
-
sparse_count,
a Fortran90 code which
analyzes sparse grids in which a single family
of 1D quadrature rules is used for all spatial dimensions,
with a variety of growth rules.
-
sparse_count_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(). This operation is similar to the MATLAB spy() command.
-
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
-
sparsekit,
a Fortran90 code which
implements operations on sparse matrices, including conversion
between various formats,
by Yousef Saad.
-
sparsekit_test
-
specfun,
a Fortran90 code which
computes special functions, including Bessel I, J, K and Y functions,
and the Dawson, E1, EI, Erf, Gamma, log Gamma, Psi/Digamma functions,
by William Cody and Laura Stoltz;
-
specfun_test
-
special_functions,
a Fortran90 code which
evaluates special functions, including
Airy, Associated Legendre,
Bernoulli Numbers, Bessel, Beta, Complete Elliptic Integral,
Cosine Integral, Elliptic Integral, Error,
Euler Numbers, Exponential Integral, Fresnel Integral, Gamma, Hankel,
Hermite polynomials, Hypergeometric 2F1, Incomplete Beta,
Incomplete Gamma, Jacobian Elliptic, Kelvin,
Kummer Confluent Hypergeometric, Laguerre polynomials, Lambda,
Legendre functions, Legendre polynomials, Mathieu,
Modified Spherical Bessel, Parabolic Cylinder, Psi,
Riccati-Bessel, Sine Integral, Spheroidal Angular, Spheroidal Wave,
Struve, Tricomi Confluent Hypergeometric, Whittaker,
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_design_rule,
a Fortran90 code which
returns point sets
on the surface of the unit sphere in 3D,
known as designs,
which estimate integrals.
-
sphere_design_rule_test
-
sphere_exactness,
a Fortran90 code which
tests the monomial exactness of a quadrature rule
over the surface of the unit sphere in 3D.
-
sphere_exactness_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_lebedev_rule,
a Fortran90 code which
computes Lebedev quadrature rules
on the surface of the unit sphere in 3D.
-
sphere_lebedev_rule_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
-
spiral_exact,
a Fortran90 code which
computes a 2D velocity vector field that is an exact solution
of the continuity equation.
-
spiral_exact_test
-
spline,
a Fortran90 code which
interpolates and approximates via splines;
-
spline_test
-
square_arbq_rule,
a Fortran90 code which
returns quadrature rules,
with exactness up to total degree 20,
over the interior of the symmetric square in 2D,
by Hong Xiao and Zydrunas Gimbutas.
-
square_arbq_rule_test
-
square_exactness,
a Fortran90 code which
computes the polynomial exactness of quadrature rules for f(x,y)
over the interior of a quadrilateral in 2D.
-
square_exactness_test
-
square_felippa_rule,
a Fortran90 code which
returns a Felippa quadrature rule
over the interior of a square in 2D.
-
square_felippa_rule_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_minimal_rule,
a Fortran90 code which
returns almost minimal quadrature rules,
with exactness up to total degree 55,
over the interior of the symmetric square in 2D,
by Mattia Festa and Alvise Sommariva.
-
square_minimal_rule_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
-
square_symq_rule,
a Fortran90 code which
returns symmetric quadrature rules,
with exactness up to total degree 20,
over the interior of the symmetric square in 2D,
by Hong Xiao and Zydrunas Gimbutas.
-
square_symq_rule_test
-
ss_gd_align,
a Fortran90 code which
implements some of the linear space alignment
algorithms described in the reference by Chao.
-
ss_gd_align_test
-
ss_gg_align,
a Fortran90 code which
implements the sequence/sequence global gap alignment,
one of the string matching algorithms described in the
reference by Chao.
-
ss_gg_align_test
-
ss_lg_align,
a Fortran90 code which
implements the sequence/sequence local alignment,
one of the string matching algorithms described by Chao.
-
ss_lg_align_test
-
ss_qg_align,
a Fortran90 code which
implements the sequence/sequence global gap alignment,
one of the string matching algorithms described by Chao.
-
ss_qg_align_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
-
st_to_hb,
a Fortran90 code which
converts a sparse matrix file from Sparse Triplet (ST) format to
Harwell Boeing (HB) format;
-
st_to_hb_test
-
starpac,
a Fortran90 code which
performs statistical data analysis. It includes functions for nonlinear
least squares regression, time series analysis in both time and
frequency domains), line printer graphics, basic statistical analysis,
and linear least squares regression, by Janet Donaldson.
-
starpac_test
-
steam,
a Fortran90 code which
computes steam table properties including pressure and density,
based on a National Bureau of Standards (NBS) package;
-
steam_test
-
steam_interact,
a Fortran90 code which
allows the user to interactively query the
steam table functions from the National Bureau of Standards (NBS).
-
steam_interact_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
-
stochastic_diffusion,
a Fortran90 code which
implements several versions of a stochastic diffusivity coefficient,
using gnuplot() to create graphic images of sample realizations of
the diffusivity field.
-
stochastic_diffusion_test
-
stochastic_heat2d,
a Fortran90 code which
implements a finite difference method (FDM) for the steady
2D heat equation,
with a stochastic heat diffusivity coefficient.
-
stochastic_heat2d_test
-
stochastic_rk,
a Fortran90 code which
applies a Runge-Kutta (RK) scheme to a
stochastic ordinary differential equation (SDE).
-
stochastic_rk_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
-
stripack,
a Fortran90 code which
computes the Delaunay triangulation or Voronoi diagram of points
on a unit sphere,
by Robert Renka.
-
stripack_test
-
stripack_bench,
a Fortran90 code which
times the execution of stripack()'s Delaunay triangulation
procedure over the surface of a sphere, for a random set
of N nodes.
-
stripack_bench_test
-
stripack_delaunay,
a Fortran90 code which
reads points on the unit sphere,
calls stripack() to compute the Delaunay triangulation,
and writes it to a file.
-
stripack_delaunay_test
-
stripack_voronoi,
a Fortran90 code which
reads points on the unit sphere, computes the Voronoi diagram,
and writes it to a file.
-
stripack_voronoi_test
-
stroud_rule,
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_rule_test
-
subpak,
a Fortran90 code which
includes a number of utility routines.
-
subpak_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
-
subset_sum_swap,
a Fortran90 code which
uses swapping to try to improve an initial estimated solution
of the subset sum problem, which seeks a subset of a set of integers
which has a given sum. Even when an exact solution exists, this
approach often only finds an approximate solution.
-
subset_sum_swap_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
-
table_top,
a Fortran90 code which
displays patterns in a set of N points in M dimensions.
-
table_top_test
-
tec_io,
a Fortran90 code which
reads or writes a tecplot() ASCII TEC file containing a
model associated with the finite element method (FEM).
-
tec_io_test
-
tec_to_fem,
a Fortran90 code which
converts a tecplot ASCII file into an FEM model.
-
tec_to_fem_test
-
test_approx,
a Fortran90 code which
implements test problems for approximation,
provided as (x,y) data.
-
test_approx_test
-
test_con,
a Fortran90 code which
defines tests for the continuation problem, which considers
a function F(X) with N-dimensional argument X and N-1 dimensional
result. In general, this defines an implicit one-dimensional
curve of solutions X(LAMBDA). A continuation code starts from
a single point on this curve and tries to compute a sequence of
solutions that form a path.
-
test_con_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_ode,
a FORTRAN90 code which
defines a set of test initial
value problems for ordinary differential equations (ODE).
-
test_ode_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, Dixon elliptic functions, Exponential integral, Elliptic,
Error, Euler, Exponential integral, F probability, Fresnel, Frobenius,
Gamma, Gegenbauer, Goodwin, Gudermannian, Harmonic, Hermite,
Hypergeometric 1F1, Hypergeometric 2F1, inverse trigonometic,
Jacobi Elliptic functions sn(), cn(), dn(), the Julian Ephemeris Date,
Kelvin, Knapsack, Laguerre, Lambert W, Laplace, Legendre, Lerch, Lobachevsky,
Lobatto, Logarithmic integral, Log normal, McNugget numbers,
Mersenne primes, Mertens, Mittag-Leffler, Moebius,
Multinomial, Negative binomial, Nine J, Normal, Omega, Owen, Partition,
Phi, Pi, Poisson, Polylogarithm, Polynomial Resultant, 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_boundary,
a Fortran90 code which
determines the triangular mesh that bounds a tet mesh.
-
tet_mesh_boundary_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_arbq_rule,
a Fortran90 code which
returns quadrature rules,
with exactness up to total degree 15,
over the interior of a tetrahedron in 3D,
by Hong Xiao and Zydrunas Gimbutas.
-
tetrahedron_arbq_rule_test
-
tetrahedron_exactness,
a Fortran90 code which
computes the monomial exactness of a quadrature rule
over the interior of a tetrahedron in 3D.
-
tetrahedron_exactness_test
-
tetrahedron_felippa_rule,
a Fortran90 code which
returns a Felippa quadrature rule for approximating integrals
over the interior of a tetrahedron in 3D.
-
tetrahedron_felippa_rule_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_jaskowiec_rule,
a Fortran90 code which
returns quadrature rules, with exactness up to total degree 20,
over the interior of a tetrahedron in 3D,
by Jan Jaskowiec, Natarajan Sukumar.
-
tetrahedron_jaskowiec_rule_test
-
tetrahedron_keast_rule,
a Fortran90 code which
returns a Keast quadrature rule, with exactness between 0 and 8,
over the interior of a tetrahedron in 3D.
-
tetrahedron_keast_rule_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
-
tetrahedron_ncc_rule,
a Fortran90 code which
defines Newton-Cotes Closed (NCC) quadrature rules
over the interior of a tetrahedron in 3D.
-
tetrahedron_ncc_rule_test
-
tetrahedron_nco_rule,
a Fortran90 code which
defines Newton-Cotes Open (NCO) quadrature rules
over the interior of a tetrahedron in 3D.
-
tetrahedron_nco_rule_test
-
tetrahedron_witherden_rule,
a Fortran90 code which
returns a symmetric Witherden quadrature rule for the tetrahedron,
with exactness up to total degree 10.
-
tetrahedron_witherden_rule_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
-
tiler_2d,
a Fortran90 code which
demonstrates how to
graphically "tile" a 2D box with a repeated pattern, using
transfinite interpolation.
-
tiler_2d_test
-
tiler_3d,
a Fortran90 code which
demonstrates how to
graphically "tile" a 3D box with a repeated pattern, using
transfinite interpolation.
-
tiler_3d_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,
a Fortran90 code
solves a variety of Toeplitz and circulant linear systems.
-
toeplitz_test
-
toeplitz_cholesky,
a Fortran90 code which
computes the Cholesky factorization of
a nonnegative definite symmetric Toeplitz matrix.
-
toeplitz_cholesky_test
-
toms097,
a Fortran90 code which
computes the distance between all pairs of nodes in a directed graph
with weighted edges, using the Floyd algorithm.
-
toms097_test
-
toms112,
a Fortran90 code which
determines whether a point is contained in a polygon,
by Moshe Shimrat.
This is a version of ACM TOMS algorithm 112.
-
toms112_test
-
toms178,
a Fortran90 code which
optimizes a scalar functional of multiple variables
using the Hooke-Jeeves method, by Arthur Kaupe.
This is a version of ACM TOMS algorithm 178.
-
toms178_test
-
toms179,
a Fortran90 code which
evaluates the modified Beta function,
by Oliver Ludwig.
This is a version of ACM TOMS algorithm 179.
-
toms179_test
-
toms243,
a Fortran90 code which
evaluates the logarithm of a complex value,
by David Collens.
This is a version of ACM TOMS algorithm 243.
-
toms243_test
-
toms291,
a Fortran90 code which
evaluates the logarithm of the Gamma function,
by Malcolm Pike and David Hill.
This is a version of ACM TOMS algorithm 291.
-
toms291_test
toms419,
a Fortran90 code which
seeks all the zeroes of a polynomial with complex coefficients;
this is commonly called cpoly();
this is a version of ACM TOMS algorithm 419,
by Jenkins and Traub.
-
toms419_test
-
toms443,
a Fortran90 code which
evaluates the Lambert W function,
by Fritsch, Shafer and Crowley.
This is a version of ACM TOMS algorithm 443.
-
toms443_test
-
toms446,
a Fortran90 code which
manipulates Chebyshev series for interpolation and approximation;
this is a version of ACM TOMS algorithm 446,
by Roger Broucke.
-
toms446_test
-
toms453,
a Fortran90 code which
determines the abscissas and weights for a
Gaussian quadrature formula for the Bromwich integral;
this is a version of ACM TOMS algorithm 453.
-
toms453_test
-
toms462,
a Fortran90 code which
evaluates the upper right tail of the bivariate normal
Probability Density Function (PDF); that is,
the probability that normal variables X and Y with correlation R will
satisfy H <= X and K <= Y;
this is a version of ACM TOMS algorithm 462.
-
toms462_test
-
toms493,
a Fortran90 code which
seeks the roots of a real polynomial, commonly called rpoly();
this is a version of ACM TOMS algorithm 493,
by Michael Jenkins.
-
toms493_test
-
toms515,
a Fortran90 code which
selects subsets of size K from a set of size N.
This is a version of ACM TOMS Algorithm 515,
by Bill Buckles, Matthew Lybanon.
-
toms515_test
-
toms526,
a Fortran90 code which
interpolates scattered bivariate data.
This is a version of ACM TOMS algorithm 526,
by Hiroshi Akima;
-
toms526_test
-
toms577,
a Fortran90 code which
evaluates the Carlson elliptic integral functions RC, RD, RF and RJ.
This is a version of ACM TOMS algorithm 577;
-
toms577_test
-
toms611,
a Fortran90 code which
seeks the minimizer of a scalar functional of multiple variables.
This is a version of ACM TOMS algorithm 611, by David Gay.
-
toms611_test
-
toms647,
a Fortran90 code which
evaluates Faure, Halton and Sobol Quasi Monte Carlo (QMC) sequences.
This is a version of ACM TOMS algorithm 647.
-
toms647_test
-
toms655,
a Fortran90 code which
computes the weights for interpolatory quadrature rules;
this is commonly called IQPACK,
by Sylvan Elhay and Jaroslav Kautsky.
This is a version of ACM TOMS algorithm 655.
-
toms655_test
-
toms659,
a Fortran90 code which
computes elements of the Sobol Quasi Monte Carlo (QMC) sequence;
this is a version of ACM TOMS algorithm 659.
-
toms659_test
-
toms660,
a Fortran90 code which
takes scattered 2D data and produces an interpolating function F(X,Y).
This is a version of ACM TOMS algorithm 660,
called qshep2d,
by Robert Renka.
-
toms660_test
-
toms661,
a Fortran90 code which
takes scattered 3D data and produces an interpolating function F(X,Y,Z).
This is a version of ACM TOMS algorithm 661,
called qshep3d,
by Robert Renka.
-
toms661_test
-
toms672,
a Fortran90 code which
generates an interpolatory quadrature rule of highest possible order,
given preassigned abscissas.
This can be used to generate Gauss-Kronrod and Gauss-Patterson
quadrature rules.
This is commonly called EXTEND.
This is a version of ACM TOMS algorithm 672.
-
toms672_test
-
toms708,
a Fortran90 code which
computes the incomplete Beta function ratio Ix(a,b).
-
toms708_test
-
toms715,
a Fortran90 code which
evaluates special functions, including the Bessel I, J, K, and Y
functions of order 0, of order 1, and of any real order, the
Dawson integral, the error function, exponential integrals, the
gamma function, the normal distribution function, the psi function.
This is a version of ACM TOMS algorithm 715.
-
toms715_test
-
toms726,
a Fortran90 code which
computes recursion coefficients for orthogonal polynomials,
and the abscissa and weights for related quadrature rules.
by Walter Gautschi.
This is commonly called ORTHPOL.
This is a version of ACM TOMS algorithm 726.
-
toms726_test
-
toms738,
a Fortran90 code which
evaluates the Niederreiter Quasi Monte Carlo (QMC) sequence;
this is a version of ACM TOMS algorithm 738;
-
toms738_test
-
toms743,
a Fortran90 code which
evaluates the Lambert W function.
This is a version of ACM TOMS algorithm 743,
by Barry, Barry and Culligan-Hensley.
-
toms743_test
-
toms757,
a Fortran90 code which
evaluates uncommon special functions,
by Allan Mcleod;
this is a version of ACM TOMS algorithm 757;
-
toms757_test
-
toms792,
a Fortran90 code which
tests functions that interpolate scattered data in the plane;
by Robert Renka;
this is a version of ACM TOMS algorithm 792.
-
toms792_test
-
toms886,
a Fortran90 code which
defines the Padua points for interpolation in a 2D region,
including the rectangle, triangle, and ellipse,
by Marco Caliari, Stefano de Marchi, Marco Vianello.
This is a version of ACM TOMS algorithm 886.
-
toms886_test
-
trapezoidal,
a Fortran90 code which
solves one or more ordinary differential equations (ODE)
using the (implicit) trapezoidal method, and a version of
fsolve() to handle the nonlinear equation.
-
trapezoidal_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
-
tri_surface_io,
a Fortran90 code which
reads and writes the 3D graphics information in a tri_surface file;
-
tri_surface_io_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_dunavant_rule,
a Fortran90 code which
defines Dunavant rules for quadrature
over the interior of a triangle in 2D.
-
triangle_dunavant_rule_test
-
triangle_exactness,
a Fortran90 code which
computes the monomial exactness quadrature rule
over the interior of a triangle in 2D.
-
triangle_exactness_test
-
triangle_fekete_rule,
a Fortran90 code which
defines a Fekete rule for interpolation or quadrature
over the interior of a triangle in 2D.
-
triangle_fekete_rule_test
-
triangle_felippa_rule,
a Fortran90 code which
returns a Felippa quadrature rule for approximating integrals
over the interior of a triangle in 2D.
-
triangle_felippa_rule_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_lyness_rule,
a Fortran90 code which
returns a Lyness-Jespersen quadrature rule
over the interior of a triangle in 2D.
-
triangle_lyness_rule_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_ncc_rule,
a Fortran90 code which
defines Newton-Cotes Closed (NCC) quadrature rules
over the interior of a triangle in 2D.
-
triangle_ncc_rule_test
-
triangle_nco_rule,
a Fortran90 code which
defines Newton-Cotes Open (NCO) quadrature rules
over the interior of a triangle in 2D.
-
triangle_nco_rule_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_symq_rule,
a Fortran90 code which
returns efficient symmetric quadrature rules,
with exactness up to total degree 50,
over the interior of an arbitrary triangle in 2D,
by Hong Xiao and Zydrunas Gimbutas.
-
triangle_symq_rule_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_medit,
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 medit() MESH file.
-
triangle_to_medit_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
-
triangle_twb_rule,
a Fortran90 code which
generates the points and weights of quadrature rules
over the interior of a triangle in 2D,
determined by Taylor, Wingate, and Bos.
-
triangle_twb_rule_test
-
triangle_wandzura_rule,
a Fortran90 code which
returns Wandzura quadrature rules of exactness 5, 10, 15, 20, 25
or 30 over the interior of the triangle in 2D.
-
triangle_wandzura_rule_test
-
triangle_witherden_rule,
a Fortran90 code which
returns a symmetric Witherden quadrature rule for the triangle,
with exactness up to total degree 20.
-
triangle_witherden_rule_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_mask,
a Fortran90 code which
reads a triangulation and calls
a user-supplied routine to consider each triangle for deletion;
-
triangulation_orient,
a Fortran90 code which
ensures that the triangles in
an order 3 or order 6 triangulation have positive orientation;
-
triangulation_orient_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_rcm,
a Fortran90 code which
reads files describing a triangulation of nodes in 2D, and applies the
Reverse Cuthill McKee (RCM) algorithm
to produce a renumbering of the triangulation with a reduced
bandwidth.
-
triangulation_rcm_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
-
triangulation_t3_to_t4,
a Fortran90 code which
reads information about a 3-node triangulation and creates data
defining a corresponding 4-node triangulation (vertices + centroid);
-
triangulation_t3_to_t4_test
-
triangulation_triangle_neighbors,
a Fortran90 code which
reads data defining a triangulation, determines the neighboring
triangles of each triangle, and writes that information to a file.
-
triangulation_triangle_neighbors_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
-
truncated_normal_rule,
a Fortran90 code which
computes a quadrature rule for a normal probability density function
(PDF), also called a Gaussian distribution, that has been
truncated to [A,+oo), (-oo,B] or [A,B].
-
truncated_normal_rule_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
-
ubvec,
a Fortran90 code which
demonstrates how unsigned binary vectors, strings of 0 and 1,
represent nonnegative integers or subsets or other mathematical
objects, for which various arithmetic and logical operations can
be defined.
-
ubvec_test
-
unicycle,
a Fortran90 code which
considers permutations containing a single cycle, sometimes called
cyclic permutations.
-
unicycle_test
-
uniform,
a Fortran90 code which
implements random number generators (RNG) for a variety
of arithmetic types.
-
uniform_test
-
van_der_corput,
a Fortran90 code which
computes elements of a 1D van der Corput Quasi Monte Carlo
(QMC) sequence using a simple interface.
-
van_der_corput_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
-
vtk_io,
a Fortran90 code which
reads and writes some simple forms of VTK files.
-
vtk_io_test
-
walker_sample,
a Fortran90 code which
efficiently samples a discrete probability vector using
Walker sampling.
-
walker_sample_test
-
walsh_transform,
a Fortran90 code which
implements the Walsh data transform.
-
walsh_transform_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
-
wave_mpi,
a Fortran90 code which
uses the finite difference method (FDM) to estimate a solution to
the wave equation, using the Message Passing Interface (MPI)
for parallel execution.
-
wave_mpi_test
-
wavelet,
a Fortran90 code which
does some simple calculations with wavelet transforms;
-
wavelet_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 a Felippa quadrature rule 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
-
wordsnake,
a Fortran90 code which
tries to find a good solution to the "Wordsnake Puzzle", in which
a list of words is reordered, trying to maximize the overlap of
successive words.
-
wordsnake_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
-
xy_io,
a Fortran90 code which
reads and writes simple graphics files in the XY, XYL and XYF formats.
-
xy_io_test
-
xyz_io,
a Fortran90 code which
reads and writes simple graphics files in the XYZ, XYZL and XYZF formats.
-
xyz_io_test
-
xyz_to_pdb,
a Fortran90 code which
reads an XYZ file
containing a list of spatial coordinates, and writes a
Protein Data Bank (PDB) file containing ATOM records
with the given coordinates.
-
xyz_to_pdb_test
-
zero_brent,
a Fortran90 code which
seeks a solution of a scalar nonlinear equation f(x)=0,
by Richard Brent.
-
zero_brent_test
-
zero_chandrupatla,
a Fortran90 code which
finds a zero of a scalar function of a scalar variable,
starting from a change of sign interval, using the
Chandrupatla method, which can converge faster than
bisection, regula falsi, or Brent's method,
by Tirupathi Chandrapatla.
-
zero_chandrupatla_test
-
zero_itp,
a Fortran90 code which
finds a zero of a scalar function of a scalar variable,
starting from a change of sign interval, using the
Interpolate/Truncate/Project (ITP) method, which has
faster convergence than the bisection method.
-
zero_itp_test
-
zero_laguerre,
a Fortran90 code which
uses Laguerre's method to find the zero of a function.
The method needs first and second derivative information.
The method almost always works when the function is a polynomial.
-
zero_laguerre_test
-
zero_muller,
a Fortran90 code which
seeks a root of a nonlinear equation using the Muller method,
with complex arithmetic.
-
zero_muller_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
implements many procedures for finding the zero of a
scalar nonlinear function.
-
zoomin_test
Last revised on 13 November 2024.