TEST_NINT
Multi-dimensional Integration
Test Functions.
TEST_NINT
is a C++ library which
defines a set of test problems
for the approximate computation of integrals over multi-dimensional
regions.
Routines are available to evaluate the integrand, return the exact
value of the integral, report the name of the problem,
report the integration limits, get, set or modify a base point.
The integrands is assigned an index. The integrands can be invoked
by index. Most integrands may be defined for any value of the
spatial dimension, which we denote here by m. Most integrands
are defined on the unit m-dimensional hypercube. Some
integrands include one or more parameters. These generally have
default values, which can be altered by the user.
For each problem, a set of routines are available with a standard
interface, for manipulating and evaluating the problem. For a
problem with index "87", for instance, we might have the following
set of routines. The most important is P87_F which evaluates
the integrand. We probably also need P87_LIM to determine
the limits of integration, and P87_EXACT to get the exact
value of the integral (if known). A number of routines are available
to set, get, or randomize parameters associated with the problem.
-
P87_DEFAULT sets default values for problem 87.
-
P87_EXACT returns the exact integral for problem 87.
-
P87_F evaluates the integrand for problem 87.
-
P87_I4 sets or gets integer scalar parameters for problem 87.
-
P87_I4VEC sets or gets integer vector parameters for problem 87.
-
P87_LIM returns the integration limits for problem 87.
-
P87_NAME returns the name of problem 87.
-
P87_R8 sets or gets real scalar parameters for problem 87.
-
P87_R8VEC sets or gets real vector parameters for problem 87.
-
P87_REGION returns the name of the integration region
for problem 87.
-
P87_TITLE prints a title for problem 87.
The list of integrand functions includes:
-
f(x) = ( sum ( x(1:m) ) )**2;
-
f(x) = ( sum ( 2 * x(1:m) - 1 ) )**4;
-
f(x) = ( sum ( x(1:m) ) )**5;
-
f(x) = ( sum ( 2 * x(1:m) - 1 ) )**6;
-
f(x) = 1 / ( 1 + sum ( 2 * x(1:m) ) );
-
f(x) = product ( 2 * abs ( 2 * x(1:m) - 1 ) );
-
f(x) = product ( pi / 2 ) * sin ( pi * x(1:m) );
-
f(x) = ( sin ( (pi/4) * sum ( x(1:m) ) ) )**2;
-
f(x) = exp ( sum ( c(1:m) * x(1:m) ) );
-
f(x) = sum ( abs ( x(1:m) - 0.5 ) );
-
f(x) = exp ( sum ( abs ( 2 * x(1:m) - 1 ) ) );
-
f(x) = product ( 1 <= i <= m ) ( i * cos ( i * x(i) ) );
-
f(x) = product ( 1 <= i <= m ) t(n(i))(x(i)), t(n(i))
is a Chebyshev polynomial;
-
f(x) = sum ( 1 <= i <= m ) (-1)**i * product ( 1 <= j <= i ) x(j);
-
f(x) = product ( 1 <= i <= order ) x(mod(i-1,m)+1);
-
f(x) = sum ( abs ( x(1:m) - x0(1:m) ) );
-
f(x) = sum ( ( x(1:m) - x0(1:m) )**2 );
-
f(x) = 1 inside an m-dimensional sphere around x0(1:m), 0 outside;
-
f(x) = product ( sqrt ( abs ( x(1:m) - x0(1:m) ) ) );
-
f(x) = ( sum ( x(1:m) ) )**power;
-
f(x) = c * product ( x(1:m)^e(1:m) ) on the surface of
an m-dimensional unit sphere;
-
f(x) = c * product ( x(1:m)^e(1:m) ) in an m-dimensional ball;
-
f(x) = c * product ( x(1:m)^e(1:m) ) in the unit m-dimensional simplex;
-
f(x) = product ( abs ( 4 * x(1:m) - 2 ) + c(1:m) )
/ ( 1 + c(1:m) ) );
-
f(x) = exp ( c * product ( x(1:m) ) );
-
f(x) = product ( c(1:m) * exp ( - c(1:m) * x(1:m) ) );
-
f(x) = cos ( 2 * pi * r + sum ( c(1:m) * x(1:m) ) ),
Genz "Oscillatory";
-
f(x) = 1 / product ( c(1:m)**2 + (x(1:m) - x0(1:m))**2),
Genz "Product Peak";
-
f(x) = 1 / ( 1 + sum ( c(1:m) * x(1:m) ) )**(m+r),
Genz "Corner Peak";
-
f(x) = exp(-sum(c(1:m)**2 * ( x(1:m) - x0(1:m))**2 ) ),
Genz "Gaussian";
-
f(x) = exp ( - sum ( c(1:m) * abs ( x(1:m) - x0(1:m) ) ) ),
Genz "Continuous";
-
f(x) = exp(sum(c(1:m)*x(1:m)) for x(1:m) <= x0(1:m), 0 otherwise,
Genz "Discontinuous";
An Important Quote:
"When good results are obtained in integrating a high-dimensional
function, we should conclude first of all that an especially tractable
integrand was tried and not that a generally successful method has
been found. A secondary conclusion is that we might have made a
very good choice in selecting an integration method to exploit whatever
features of f made it tractable."
Art Owen,
Latin Supercube Sampling for Very High Dimensional Simulation,
ACM Transactions on Modeling and Computer Simulations,
Volume 8, Number 1, January 1998, pages 71-102.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
TEST_NINT is available in
a C++ version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
CLENSHAW_CURTIS_RULE,
a C++ library which
sets a Clenshaw Curtis quadrature grid in multiple dimensions.
GSL,
a C++ library which
includes routines for estimating multidimensional integrals.
INTEGRAL_TEST,
a FORTRAN90 program which
uses some of these test integrals to evaluate sets of quadrature points.
NINT_EXACTNESS,
a C++ program which
measures the polynomial exactness of a multidimensional quadrature rule.
NINTLIB,
a C++ library which
numerically estimates integrals in multiple dimensions.
PRODUCT_RULE,
a C++ program which
creates a multidimensional quadrature rule as a product of
one dimensional rules.
QUADRATURE_RULES,
a dataset directory which
contains a description and examples of quadrature rules defined
by a set of "X", "W" and "R" files.
STROUD,
a C++ library which
defines quadrature rules for a variety of unusual areas, surfaces and volumes in 2D,
3D and N-dimensions.
TESTPACK,
a C++ library which
defines a set of integrands used to test multidimensional quadrature.
Reference:
-
JD Beasley, SG Springer,
Algorithm AS 111:
The Percentage Points of the Normal Distribution,
Applied Statistics,
Volume 26, 1977, pages 118-121.
-
Paul Bratley, Bennett Fox, Harald Niederreiter,
Implementation and Tests of Low-Discrepancy Sequences,
ACM Transactions on Modeling and Computer Simulation,
Volume 2, Number 3, July 1992, pages 195-213.
-
Roger Broucke,
Algorithm 446:
Ten Subroutines for the Manipulation of Chebyshev Series,
Communications of the ACM,
Volume 16, 1973, pages 254-256.
-
William Cody, Kenneth Hillstrom,
Chebyshev Approximations for the Natural Logarithm of the
Gamma Function,
Mathematics of Computation,
Volume 21, Number 98, April 1967, pages 198-203.
-
Richard Crandall,
Projects in Scientific Computing,
Springer, 2005,
ISBN: 0387950095,
LC: Q183.9.C733.
-
Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.
-
Gerald Folland,
How to Integrate a Polynomial Over a Sphere,
American Mathematical Monthly,
Volume 108, Number 5, May 2001, pages 446-448.
-
Leslie Fox, Ian Parker,
Chebyshev Polynomials in Numerical Analysis,
Oxford Press, 1968,
LC: QA297.F65.
-
Alan Genz,
Testing Multidimensional Integration Routines,
in Tools, Methods, and Languages for Scientific and
Engineering Computation,
edited by B Ford, JC Rault, F Thomasset,
North-Holland, 1984, pages 81-94,
ISBN: 0444875700,
LC: Q183.9.I53.
-
Alan Genz,
A Package for Testing Multiple Integration Subroutines,
in Numerical Integration:
Recent Developments, Software and Applications,
edited by Patrick Keast, Graeme Fairweather,
Reidel, 1987, pages 337-340,
ISBN: 9027725144,
LC: QA299.3.N38.
-
Kenneth Hanson,
Quasi-Monte Carlo: halftoning in high dimensions?
in Computatinal Imaging,
Edited by CA Bouman, RL Stevenson,
Proceedings SPIE,
Volume 5016, 2003, pages 161-172.
-
John Hart, Ward Cheney, Charles Lawson, Hans Maehly,
Charles Mesztenyi, John Rice, Henry Thatcher,
Christoph Witzgall,
Computer Approximations,
Wiley, 1968,
LC: QA297.C64.
-
Claude Itzykson, Jean-Michel Drouffe,
Statistical Field Theory,
Volume 1,
Cambridge, 1991,
ISBN: 0-521-40806-7,
LC: QC174.8.I89.
-
Stephen Joe, Frances Kuo
Remark on Algorithm 659:
Implementing Sobol's Quasirandom Sequence Generator,
ACM Transactions on Mathematical Software,
Volume 29, Number 1, March 2003, pages 49-57.
-
David Kahaner, Cleve Moler, Steven Nash,
Numerical Methods and Software,
Prentice Hall, 1989,
ISBN: 0-13-627258-4,
LC: TA345.K34.
-
Bradley Keister,
Multidimensional Quadrature Algorithms,
Computers in Physics,
Volume 10, Number 2, March/April, 1996, pages 119-122.
-
Arnold Krommer, Christoph Ueberhuber,
Numerical Integration on Advanced Compuer Systems,
Springer, 1994,
ISBN: 3540584102,
LC: QA299.3.K76.
-
Anargyros Papageorgiou, Joseph Traub,
Faster Evaluation of Multidimensional Integrals,
Computers in Physics,
Volume 11, Number 6, November/December 1997, pages 574-578.
-
Thomas Patterson,
On the Construction of a Practical Ermakov-Zolotukhin
Multiple Integrator,
in Numerical Integration:
Recent Developments, Software and Applications,
edited by Patrick Keast and Graeme Fairweather,
D. Reidel, 1987, pages 269-290.
-
Arthur Stroud,
Approximate Calculation of Multiple Integrals,
Prentice Hall, 1971,
ISBN: 0130438936,
LC: QA311.S85.
-
Arthur Stroud, Don Secrest,
Gaussian Quadrature Formulas,
Prentice Hall, 1966,
LC: QA299.4G3S7.
-
Xiaoqun Wang, Kai-Tai Fang,
The Effective Dimension and quasi-Monte Carlo Integration,
Journal of Complexity,
Volume 19, pages 101-124, 2003.
Source Code:
Examples and Tests:
List of Routines:
-
CH_CAP capitalizes a single character.
-
CSEVL evaluates an N term Chebyshev series.
-
ERROR_F computes the error function.
-
ERROR_FC computes the complementary error function.
-
GAMMA_LOG calculates the natural logarithm of GAMMA ( X ) for positive X.
-
GET_PROBLEM_NUM returns the number of test integration problems.
-
I4_HUGE returns a "huge" I4.
-
I4_POWER returns the value of I^J.
-
I4VEC_COPY copies an I4VEC.
-
I4VEC_SUM sums the entries of an I4VEC.
-
INITS estimates the order of an orthogonal series for a given accuracy.
-
NORMAL_01_CDF_INV inverts the Normal 01 CDF.
-
P00_BOX_GL05 uses Gauss-Legendre quadrature in an N-dimensional box.
-
P00_BOX_MC integrates over an multi-dimensional box using Monte Carlo.
-
P00_DEFAULT sets a problem to a default state.
-
P00_EXACT returns the exact integral for any problem.
-
P00_F evaluates the integrand for any problem.
-
P00_I4 sets or gets I4 parameters for any problem.
-
P00_LIM returns the integration limits for any problem.
-
P00_NAME returns the name of the problem.
-
P00_R8VEC sets or gets R8VEC parameters for any problem.
-
P00_REGION returns the name of the integration region for any problem.
-
P00_REMAP01 remaps points in [0,1]^DIM_NUM into [A(1:DIM_NUM),B(1:DIM_NUM)].
-
P00_TITLE prints a title for any problem.
-
P00_VOLUME returns the volume of the integration region.
-
P01_DEFAULT sets default values for problem 01.
-
P01_EXACT returns the exact integral for problem 01.
-
P01_F evaluates the integrand for problem 01.
-
P01_I4 sets or gets I4 parameters for problem 01.
-
P01_LIM returns the integration limits for problem 01.
-
P01_NAME returns the name of problem 01.
-
P01_REGION returns the name of the integration region for problem 01.
-
P01_TITLE prints a title for problem 01.
-
P02_DEFAULT sets default values for problem 02.
-
P02_EXACT returns the exact integral for problem 02.
-
P02_F evaluates the integrand for problem 02.
-
P02_I4 sets or gets I4 parameters for problem 02.
-
P02_LIM returns the integration limits for problem 02.
-
P02_NAME returns the name of problem 02.
-
P02_REGION returns the name of the integration region for problem 02.
-
P02_TITLE prints a title for problem 02.
-
P03_DEFAULT sets default values for problem 03.
-
P03_EXACT returns the exact integral for problem 03.
-
P03_F evaluates the integrand for problem 03.
-
P03_I4 sets or gets I4 parameters for problem 03.
-
P03_LIM returns the integration limits for problem 03.
-
P03_NAME returns the name of problem 03.
-
P03_REGION returns the name of the integration region for problem 03.
-
P03_TITLE prints a title for problem 03.
-
P04_DEFAULT sets default values for problem 04.
-
P04_EXACT returns the exact integral for problem 04.
-
P04_F evaluates the integrand for problem 04.
-
P04_I4 sets or gets I4 parameters for problem 04.
-
P04_LIM returns the integration limits for problem 04.
-
P04_NAME returns the name of problem 04.
-
P04_REGION returns the name of the integration region for problem 04.
-
P04_TITLE prints a title for problem 04.
-
P05_DEFAULT sets default values for problem 05.
-
P05_EXACT returns the exact integral for problem 05.
-
P05_F evaluates the integrand for problem 05.
-
P05_I4 sets or gets I4 parameters for problem 05.
-
P05_LIM returns the integration limits for problem 05.
-
P05_NAME returns the name of problem 05.
-
P05_REGION returns the name of the integration region for problem 05.
-
P05_TITLE prints a title for problem 05.
-
P06_DEFAULT sets default values for problem 06.
-
P06_EXACT returns the exact integral for problem 06.
-
P06_F evaluates the integrand for problem 06.
-
P06_I4 sets or gets I4 parameters for problem 06.
-
P06_LIM returns the integration limits for problem 06.
-
P06_NAME returns the name of problem 06.
-
P06_REGION returns the name of the integration region for problem 06.
-
P06_TITLE prints a title for problem 06.
-
P07_DEFAULT sets default values for problem 07.
-
P07_EXACT returns the exact integral for problem 07.
-
P07_F evaluates the integrand for problem 07.
-
P07_I4 sets or gets I4 parameters for problem 07.
-
P07_LIM returns the integration limits for problem 07.
-
P07_NAME returns the name of problem 07.
-
P07_REGION returns the name of the integration region for problem 07.
-
P07_TITLE prints a title for problem 07.
-
P08_DEFAULT sets default values for problem 08.
-
P08_EXACT returns the exact integral for problem 08.
-
P08_F evaluates the integrand for problem 08.
-
P08_I4 sets or gets I4 parameters for problem 08.
-
P08_LIM returns the integration limits for problem 08.
-
P08_NAME returns the name of problem 08.
-
P08_REGION returns the name of the integration region for problem 08.
-
P08_TITLE prints a title for problem 08.
-
P09_DEFAULT sets default values for problem 09.
-
P09_EXACT returns the exact integral for problem 09.
-
P09_F evaluates the integrand for problem 09.
-
P09_I4 sets or gets I4 parameters for problem 09.
-
P09_LIM returns the integration limits for problem 09.
-
P09_NAME returns the name of problem 09.
-
P09_R8VEC sets or gets R8VEC parameters for problem 09.
-
P09_REGION returns the name of the integration region for problem 09.
-
P09_TITLE prints a title for problem 09.
-
P10_DEFAULT sets default values for problem 10.
-
P10_EXACT returns the exact integral for problem 10.
-
P10_F evaluates the integrand for problem 10.
-
P10_I4 sets or gets I4 parameters for problem 10.
-
P10_LIM returns the integration limits for problem 10.
-
P10_NAME returns the name of problem 10.
-
P10_REGION returns the name of the integration region for problem 10.
-
P10_TITLE prints a title for problem 10.
-
P11_DEFAULT sets default values for problem 11.
-
P11_EXACT returns the exact integral for problem 11.
-
P11_F evaluates the integrand for problem 11.
-
P11_I4 sets or gets I4 parameters for problem 11.
-
P11_LIM returns the integration limits for problem 11.
-
P11_NAME returns the name of problem 11.
-
P11_REGION returns the name of the integration region for problem 11.
-
P11_TITLE prints a title for problem 11.
-
P12_DEFAULT sets default values for problem 12.
-
P12_EXACT returns the exact integral for problem 12.
-
P12_F evaluates the integrand for problem 12.
-
P12_I4 sets or gets I4 parameters for problem 12.
-
P12_LIM returns the integration limits for problem 12.
-
P12_NAME returns the name of problem 12.
-
P12_REGION returns the name of the integration region for problem 12.
-
P12_TITLE prints a title for problem 12.
-
P13_DEFAULT sets default values for problem 13.
-
P13_EXACT returns the exact integral for problem 13.
-
P13_F evaluates the integrand for problem 13.
-
P13_I4 sets or gets I4 parameters for problem 13.
-
P13_LIM returns the integration limits for problem 13.
-
P13_NAME returns the name of problem 13.
-
P13_REGION returns the name of the integration region for problem 13.
-
P13_TITLE prints a title for problem 13.
-
P14_DEFAULT sets default values for problem 14.
-
P14_EXACT returns the exact integral for problem 14.
-
P14_F evaluates the integrand for problem 14.
-
P14_I4 sets or gets I4 parameters for problem 14.
-
P14_LIM returns the integration limits for problem 14.
-
P14_NAME returns the name of problem 14.
-
P14_REGION returns the name of the integration region for problem 14.
-
P14_TITLE prints a title for problem 14.
-
P15_DEFAULT sets default values for problem 15.
-
P15_EXACT returns the exact integral for problem 15.
-
P15_F evaluates the integrand for problem 15.
-
P15_I4 sets or gets I4 parameters for problem 15.
-
P15_LIM returns the integration limits for problem 15.
-
P15_NAME returns the name of problem 15.
-
P15_REGION returns the name of the integration region for problem 15.
-
P15_TITLE prints a title for problem 15.
-
P16_DEFAULT sets default values for problem 16.
-
P16_EXACT returns the exact integral for problem 16.
-
P16_F evaluates the integrand for problem 16.
-
P16_I4 sets or gets I4 parameters for problem 16.
-
P16_LIM returns the integration limits for problem 16.
-
P16_NAME returns the name of problem 16.
-
P16_R8VEC sets or gets R8VEC parameters for problem 16.
-
P16_REGION returns the name of the integration region for problem 16.
-
P16_TITLE prints a title for problem 16.
-
P17_DEFAULT sets default values for problem 17.
-
P17_EXACT returns the exact integral for problem 17.
-
P17_F evaluates the integrand for problem 17.
-
P17_I4 sets or gets I4 parameters for problem 17.
-
P17_LIM returns the integration limits for problem 17.
-
P17_NAME returns the name of problem 17.
-
P17_R8VEC sets or gets R8VEC parameters for problem 17.
-
P17_REGION returns the name of the integration region for problem 17.
-
P17_TITLE prints a title for problem 17.
-
P18_DEFAULT sets default values for problem 18.
-
P18_EXACT returns the exact integral for problem 18.
-
P18_F evaluates the integrand for problem 18.
-
P18_I4 sets or gets I4 parameters for problem 18.
-
P18_LIM returns the integration limits for problem 18.
-
P18_NAME returns the name of problem 18.
-
P18_R8 sets or gets R8 parameters for problem 18.
-
P18_R8VEC sets or gets R8VEC parameters for problem 18.
-
P18_REGION returns the name of the integration region for problem 18.
-
P18_TITLE prints a title for problem 18.
-
P19_DEFAULT sets default values for problem 19.
-
P19_EXACT returns the exact integral for problem 19.
-
P19_F evaluates the integrand for problem 19.
-
P19_I4 sets or gets I4 parameters for problem 19.
-
P19_LIM returns the integration limits for problem 19.
-
P19_NAME returns the name of problem 19.
-
P19_R8VEC sets or gets R8VEC parameters for problem 19.
-
P19_REGION returns the name of the integration region for problem 19.
-
P19_TITLE prints a title for problem 19.
-
P20_DEFAULT sets default values for problem 20.
-
P20_EXACT returns the exact integral for problem 20.
-
P20_F evaluates the integrand for problem 20.
-
P20_I4 sets or gets I4 parameters for problem 20.
-
P20_LIM returns the integration limits for problem 20.
-
P20_NAME returns the name of problem 20.
-
P20_R8 sets or gets R8 parameters for problem 20.
-
P20_REGION returns the name of the integration region for problem 20.
-
P20_TITLE prints a title for problem 20.
-
P21_DEFAULT sets default values for problem 21.
-
P21_EXACT returns the exact integral for problem 21.
-
P21_F evaluates the integrand for problem 21.
-
P21_I4 sets or gets I4 parameters for problem 21.
-
P21_I4VEC sets or gets I4VEC parameters for problem 21.
-
P21_LIM returns the integration limits for problem 21.
-
P21_NAME returns the name of problem 21.
-
P21_R8 sets or gets R8 parameters for problem 21.
-
P21_REGION returns the name of the integration region for problem 21.
-
P21_TITLE prints a title for problem 21.
-
P22_DEFAULT sets default values for problem 22.
-
P22_EXACT returns the exact integral for problem 22.
-
P22_F evaluates the integrand for problem 22.
-
P22_I4 sets or gets I4 parameters for problem 22.
-
P22_I4VEC sets or gets I4VEC parameters for problem 22.
-
P22_LIM returns the integration limits for problem 22.
-
P22_NAME returns the name of problem 22.
-
P22_R8 sets or gets R8 parameters for problem 22.
-
P22_REGION returns the name of the integration region for problem 22.
-
P22_TITLE prints a title for problem 22.
-
P23_DEFAULT sets default values for problem 23.
-
P23_EXACT returns the exact integral for problem 23.
-
P23_F evaluates the integrand for problem 23.
-
P23_I4 sets or gets I4 parameters for problem 23.
-
P23_I4VEC sets or gets I4VEC parameters for problem 23.
-
P23_LIM returns the integration limits for problem 23.
-
P23_NAME returns the name of problem 23.
-
P23_R8 sets or gets R8 parameters for problem 23.
-
P23_REGION returns the name of the integration region for problem 23.
-
P23_TITLE prints a title for problem 23.
-
P24_DEFAULT sets default values for problem 24.
-
P24_EXACT returns the exact integral for problem 24.
-
P24_F evaluates the integrand for problem 24.
-
P24_I4 sets or gets I4 parameters for problem 24.
-
P24_LIM returns the integration limits for problem 24.
-
P24_NAME returns the name of problem 24.
-
P24_R8VEC sets or gets R8VEC parameters for problem 24.
-
P24_REGION returns the name of the integration region for problem 24.
-
P24_TITLE prints a title for problem 24.
-
P25_DEFAULT sets default values for problem 25.
-
P25_EXACT returns the exact integral for problem 25.
-
P25_F evaluates the integrand for problem 25.
-
P25_I4 sets or gets I4 parameters for problem 25.
-
P25_LIM returns the integration limits for problem 25.
-
P25_NAME returns the name of problem 25.
-
P25_R8 sets or gets R8 parameters for problem 25.
-
P25_REGION returns the name of the integration region for problem 25.
-
P25_TITLE prints a title for problem 10.
-
P26_DEFAULT sets default values for problem 26.
-
P26_EXACT returns the exact integral for problem 26.
-
P26_F evaluates the integrand for problem 26.
-
P26_I4 sets or gets I4 parameters for problem 26.
-
P26_LIM returns the integration limits for problem 26.
-
P26_NAME returns the name of problem 26.
-
P26_R8VEC sets or gets R8VEC parameters for problem 26.
-
P26_REGION returns the name of the integration region for problem 26.
-
P26_TITLE prints a title for problem 26.
-
P27_DEFAULT sets default values for problem 27.
-
P27_EXACT returns the exact integral for problem 27.
-
P27_F evaluates the integrand for problem 27.
-
P27_I4 sets or gets I4 parameters for problem 27.
-
P27_LIM returns the integration limits for problem 27.
-
P27_NAME returns the name of problem 27.
-
P27_R8 sets or gets R8 parameters for problem 27.
-
P27_R8VEC sets or gets R8VEC parameters for problem 27.
-
P27_REGION returns the name of the integration region for problem 27.
-
P27_TITLE prints a title for problem 27.
-
P28_DEFAULT sets default values for problem 28.
-
P28_EXACT returns the exact integral for problem 28.
-
P28_F evaluates the integrand for problem 28.
-
P28_I4 sets or gets I4 parameters for problem 28.
-
P28_LIM returns the integration limits for problem 28.
-
P28_NAME returns the name of problem 28.
-
P28_R8VEC sets or gets R8VEC parameters for problem 28.
-
P28_REGION returns the name of the integration region for problem 28.
-
P28_TITLE prints a title for problem 28.
-
P29_DEFAULT sets default values for problem 29.
-
P29_EXACT returns the exact integral for problem 29.
-
P29_F evaluates the integrand for problem 29.
-
P29_I4 sets or gets I4 parameters for problem 29.
-
P29_LIM returns the integration limits for problem 29.
-
P29_NAME returns the name of problem 29.
-
P29_R8 sets or gets R8 parameters for problem 29.
-
P29_R8VEC sets or gets R8VEC parameters for problem 29.
-
P29_REGION returns the name of the integration region for problem 29.
-
P29_TITLE prints a title for problem 29.
-
P30_DEFAULT sets default values for problem 30.
-
P30_EXACT returns the exact integral for problem 30.
-
P30_F evaluates the integrand for problem 30.
-
P30_I4 sets or gets I4 parameters for problem 30.
-
P30_LIM returns the integration limits for problem 30.
-
P30_NAME returns the name of problem 30.
-
P30_R8VEC sets or gets R8VEC parameters for problem 30.
-
P30_REGION returns the name of the integration region for problem 30.
-
P30_TITLE prints a title for problem 30.
-
P31_DEFAULT sets default values for problem 31.
-
P31_EXACT returns the exact integral for problem 31.
-
P31_F evaluates the integrand for problem 31.
-
P31_I4 sets or gets I4 parameters for problem 31.
-
P31_LIM returns the integration limits for problem 31.
-
P31_NAME returns the name of problem 31.
-
P31_R8VEC sets or gets R8VEC parameters for problem 31.
-
P31_REGION returns the name of the integration region for problem 31.
-
P31_TITLE prints a title for problem 31.
-
P32_DEFAULT sets default values for problem 32.
-
P32_EXACT returns the exact integral for problem 32.
-
P32_F evaluates the integrand for problem 32.
-
P32_I4 sets or gets I4 parameters for problem 32.
-
P32_LIM returns the integration limits for problem 32.
-
P32_NAME returns the name of problem 32.
-
P32_R8VEC sets or gets R8VEC parameters for problem 32.
-
P32_REGION returns the name of the integration region for problem 32.
-
P32_TITLE prints a title for problem 32.
-
P33_DEFAULT sets default values for problem 33.
-
P33_EXACT returns the exact integral for problem 33.
-
P33_F evaluates the integrand for problem 33.
-
P33_I4 sets or gets I4 parameters for problem 33.
-
P33_LIM returns the integration limits for problem 33.
-
P33_NAME returns the name of problem 33.
-
P33_REGION returns the name of the integration region for problem 33.
-
P33_TITLE prints a title for problem 33.
-
P34_DEFAULT sets default values for problem 34.
-
P34_EXACT returns the exact integral for problem 34.
-
P34_F evaluates the integrand for problem 34.
-
P34_I4 sets or gets I4 parameters for problem 34.
-
P34_LIM returns the integration limits for problem 34.
-
P34_NAME returns the name of problem 34.
-
P34_REGION returns the name of the integration region for problem 34.
-
P34_TITLE prints a title for problem 34.
-
R8_ABS returns the absolute value of an R8.
-
R8_CHOOSE computes the combinatorial coefficient C(N,K).
-
R8_EPSILON returns the R8 round off unit.
-
R8_GAMMA returns the value of the Gamma function at X.
-
R8_HUGE returns a "huge" R8.
-
R8_MAX returns the maximum of two R8's.
-
R8_MIN returns the minimum of two R8's.
-
R8_NINT returns the integer that is nearest to a double value.
-
R8_SIGN returns the sign of an R8.
-
R8_TINY returns a "tiny" R8.
-
R8VEC_COPY copies an R8VEC.
-
R8VEC_DOT computes the dot product of a pair of R8VEC's.
-
R8VEC_PRINT prints an R8VEC
-
R8VEC_PRODUCT returns the product of the entries of an R8VEC.
-
R8VEC_SUM returns the sum of an R8VEC.
-
R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
-
S_EQI reports whether two strings are equal, ignoring case.
-
S_LEN_TRIM returns the length of a string to the last nonblank.
-
SIMPLEX_UNIT_VOLUME_ND computes the volume of the unit simplex in ND.
-
SPHERE_UNIT_AREA_ND computes the surface area of a unit sphere in ND.
-
SPHERE_UNIT_VOLUME_ND computes the volume of a unit sphere in ND.
-
SPHERE_VOLUME_ND computes the volume of an implicit sphere in ND.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
TUPLE_NEXT computes the next element of a tuple space.
You can go up one level to
the C++ source codes.
Last revised on 20 March 2008.