# TEST_NINT Multi-dimensional Integration Test Functions.

TEST_NINT is a MATLAB 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:

1. f(x) = ( sum ( x(1:m) ) )^2;
2. f(x) = ( sum ( 2 * x(1:m) - 1 ) )^4;
3. f(x) = ( sum ( x(1:m) ) )^5;
4. f(x) = ( sum ( 2 * x(1:m) - 1 ) )^6;
5. f(x) = 1 / ( 1 + sum ( 2 * x(1:m) ) );
6. f(x) = product ( 2 * abs ( 2 * x(1:m) - 1 ) );
7. f(x) = product ( pi / 2 ) * sin ( pi * x(1:m) );
8. f(x) = ( sin ( (pi/4) * sum ( x(1:m) ) ) )^2;
9. f(x) = exp ( sum ( c(1:m) * x(1:m) ) );
10. f(x) = sum ( abs ( x(1:m) - 0.5 ) );
11. f(x) = exp ( sum ( abs ( 2 * x(1:m) - 1 ) ) );
12. f(x) = product ( 1 <= i <= m ) ( i * cos ( i * x(i) ) );
13. f(x) = product ( 1 <= i <= m ) t(n(i))(x(i)), t(n(i)) is a Chebyshev polynomial;
14. f(x) = sum ( 1 <= i <= m ) (-1)^i * product ( 1 <= j <= i ) x(j);
15. f(x) = product ( 1 <= i <= order ) x(mod(i-1,m)+1);
16. f(x) = sum ( abs ( x(1:m) - x0(1:m) ) );
17. f(x) = sum ( ( x(1:m) - x0(1:m) )^2 );
18. f(x) = 1 inside an m-dimensional sphere around x0(1:m), 0 outside;
19. f(x) = product ( sqrt ( abs ( x(1:m) - x0(1:m) ) ) );
20. f(x) = ( sum ( x(1:m) ) )^power;
21. f(x) = c * product ( x(1:m)^e(1:m) ) on the surface of an m-dimensional unit sphere;
22. f(x) = c * product ( x(1:m)^e(1:m) ) in an m-dimensional ball;
23. f(x) = c * product ( x(1:m)^e(1:m) ) in the unit m-dimensional simplex;
24. f(x) = product ( abs ( 4 * x(1:m) - 2 ) + c(1:m) ) / ( 1 + c(1:m) ) );
25. f(x) = exp ( c * product ( x(1:m) ) );
26. f(x) = product ( c(1:m) * exp ( - c(1:m) * x(1:m) ) );
27. f(x) = cos ( 2 * pi * r + sum ( c(1:m) * x(1:m) ) ),
Genz "Oscillatory";
28. f(x) = 1 / product ( c(1:m)^2 + (x(1:m) - x0(1:m))^2),
Genz "Product Peak";
29. f(x) = 1 / ( 1 + sum ( c(1:m) * x(1:m) ) )^(m+r),
Genz "Corner Peak";
30. f(x) = exp(-sum(c(1:m)^2 * ( x(1:m) - x0(1:m))^2 ) ),
Genz "Gaussian";
31. f(x) = exp ( - sum ( c(1:m) * abs ( x(1:m) - x0(1:m) ) ) ), Genz "Continuous";
32. 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.

### Languages:

TEST_NINT is available in a C++ version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

CUBPACK, a FORTRAN90 library which estimates the integral of a function over a collection of N-dimensional hyperrectangles and simplices.

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 MATLAB program which demonstrates how to measure the polynomial exactness of a multidimensional quadrature rule.

NINTLIB, a MATLAB library which numerically estimates integrals in multiple dimensions.

PRODUCT_RULE, a MATLAB program which can create 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.

QUADRATURE_TEST, a MATLAB program which reads the definition of a multidimensional quadrature rule from three files, applies the rule to a number of test integrals, and prints the results.

SANDIA_SPARSE, a MATLAB library which can produce a multidimensional 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.

SIMPACK, a FORTRAN77 library which approximates the integral of a function over a multidimensional simplex.

SPARSE_GRID_CC, a MATLAB library which creates sparse grids based on Clenshaw-Curtis rules.

STROUD, a MATLAB library which contains quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and N-dimensions.

TESTPACK, a MATLAB library which defines a set of integrands used to test multidimensional quadrature.

### Reference:

1. JD Beasley, SG Springer,
Algorithm AS 111: The Percentage Points of the Normal Distribution,
Applied Statistics,
Volume 26, 1977, pages 118-121.
2. 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.
3. Roger Broucke,
Algorithm 446: Ten Subroutines for the Manipulation of Chebyshev Series,
Communications of the ACM,
Volume 16, 1973, pages 254-256.
4. 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.
5. Richard Crandall,
Projects in Scientific Computing,
Springer, 2005,
ISBN: 0387950095,
LC: Q183.9.C733.
6. Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.
7. Gerald Folland,
How to Integrate a Polynomial Over a Sphere,
American Mathematical Monthly,
Volume 108, Number 5, May 2001, pages 446-448.
8. Leslie Fox, Ian Parker,
Chebyshev Polynomials in Numerical Analysis,
Oxford Press, 1968,
LC: QA297.F65.
9. 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.
10. 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.
11. 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.
12. John Hart, Ward Cheney, Charles Lawson, Hans Maehly, Charles Mesztenyi, John Rice, Henry Thatcher, Christoph Witzgall,
Computer Approximations,
Wiley, 1968,
LC: QA297.C64.
13. Claude Itzykson, Jean-Michel Drouffe,
Statistical Field Theory,
Volume 1,
Cambridge, 1991,
ISBN: 0-521-40806-7,
LC: QC174.8.I89.
14. 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.
15. David Kahaner, Cleve Moler, Steven Nash,
Numerical Methods and Software,
Prentice Hall, 1989,
ISBN: 0-13-627258-4,
LC: TA345.K34.
Computers in Physics,
Volume 10, Number 2, March/April, 1996, pages 119-122.
17. Arnold Krommer, Christoph Ueberhuber,
Numerical Integration on Advanced Compuer Systems,
Springer, 1994,
ISBN: 3540584102,
LC: QA299.3.K76.
18. Anargyros Papageorgiou, Joseph Traub,
Faster Evaluation of Multidimensional Integrals,
Computers in Physics,
Volume 11, Number 6, November/December 1997, pages 574-578.
19. 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.
20. Arthur Stroud,
Approximate Calculation of Multiple Integrals,
Prentice Hall, 1971,
ISBN: 0130438936,
LC: QA311.S85.
21. Arthur Stroud, Don Secrest,
Prentice Hall, 1966,
LC: QA299.4G3S7.
22. Xiaoqun Wang, Kai-Tai Fang,
The Effective Dimension and quasi-Monte Carlo Integration,
Journal of Complexity,
Volume 19, pages 101-124, 2003.

### Source Code:

• csevl.m, evaluates an N-term Chebyshev series.
• error_f.m, evaluates the Error function.
• error_fc.m, evaluates the complementary Error function.
• get_problem_num.m, returns the number of test integration problems.
• inits.m, estimates the order of an orthogonal series for a given accuracy.
• normal_01_cdf_inv.m, inverts the Normal 01 CDF.
• p00_box_gl05.m, uses Gauss-Legendre quadrature in an N-dimensional box.
• p00_box_mc.m, integrates over an multi-dimensional box using Monte Carlo.
• p00_default.m, sets a problem to a default state.
• p00_exact.m, returns the exact integral for any problem.
• p00_f.m, evaluates the integrand for any problem.
• p00_i4.m, sets or gets integer scalar parameters for any problem.
• p00_lim.m, returns the integration limits for any problem.
• p00_name.m, returns the name of any problem.
• p00_r8vec.m, sets or gets real vector parameters for any problem.
• p00_region.m, returns the name of the integration region for any problem.
• p00_remap01.m, remaps points in [0,1]^DIM_NUM into [A(1:DIM_NUM),B(1:DIM_NUM)].
• p00_title.m, prints a title for any problem.
• p00_volume.m, returns the volume of the integration region.
• p01_default.m, sets default values for problem 01.
• p01_exact.m, sets the exact integral for problem 01.
• p01_f.m, evaluates the integrand for problem 01.
• p01_i4.m, sets or gets I4 parameters for problem 01.
• p01_lim.m, returns the integration limits for problem 01.
• p01_name.m, returns a name for problem 01.
• p01_region.m, returns the region type for problem 01.
• p01_title.m, prints a title for problem 01.
• p02_default.m, sets default values for problem 02.
• p02_exact.m, sets the exact integral for problem 02.
• p02_f.m, evaluates the integrand for problem 02.
• p02_i4.m, sets or gets I4 parameters for problem 02.
• p02_lim.m, returns the integration limits for problem 02.
• p02_name.m, returns a name for problem 02.
• p02_region.m, returns the region type for problem 02.
• p02_title.m, prints a title for problem 02.
• p03_default.m, sets default values for problem 03.
• p03_exact.m, sets the exact integral for problem 03.
• p03_f.m, evaluates the integrand for problem 03.
• p03_i4.m, sets or gets I4 parameters for problem 03.
• p03_lim.m, returns the integration limits for problem 03.
• p03_name.m, returns a name for problem 03.
• p03_region.m, returns the region type for problem 03.
• p03_title.m, prints a title for problem 03.
• p04_default.m, sets default values for problem 04.
• p04_exact.m, sets the exact integral for problem 04.
• p04_f.m, evaluates the integrand for problem 04.
• p04_i4.m, sets or gets I4 parameters for problem 04.
• p04_lim.m, returns the integration limits for problem 04.
• p04_name.m, returns a name for problem 04.
• p04_region.m, returns the region type for problem 04.
• p04_title.m, prints a title for problem 04.
• p05_default.m, sets default values for problem 05.
• p05_exact.m, sets the exact integral for problem 05.
• p05_f.m, evaluates the integrand for problem 05.
• p05_i4.m, sets or gets I4 parameters for problem 05
• p05_lim.m, returns the integration limits for problem 05.
• p05_name.m, returns a name for problem 05.
• p05_region.m, returns the region type for problem 05.
• p05_title.m, prints a title for problem 05.
• p06_default.m, sets default values for problem 06.
• p06_exact.m, sets the exact integral for problem 06.
• p06_f.m, evaluates the integrand for problem 06.
• p06_i4.m, sets or gets I4 parameters for problem 06.
• p06_lim.m, returns the integration limits for problem 06.
• p06_name.m, returns a name for problem 06.
• p06_region.m, returns the region type for problem 06.
• p06_title.m, prints a title for problem 06.
• p07_default.m, sets default values for problem 07.
• p07_exact.m, sets the exact integral for problem 07.
• p07_f.m, evaluates the integrand for problem 07.
• p07_i4.m, sets or gets I4 parameters for problem 07.
• p07_lim.m, returns the integration limits for problem 07.
• p07_name.m, returns a name for problem 07.
• p07_region.m, returns the region type for problem 07.
• p07_title.m, prints a title for problem 07.
• p08_default.m, sets default values for problem 08.
• p08_exact.m, sets the exact integral for problem 08.
• p08_f.m, evaluates the integrand for problem 08.
• p08_i4.m, sets or gets I4 parameters for problem 08.
• p08_lim.m, returns the integration limits for problem 08.
• p08_name.m, returns a name for problem 08.
• p08_region.m, returns the region type for problem 08.
• p08_title.m, prints a title for problem 08.
• p09_default.m, sets default values for problem 09.
• p09_exact.m, sets the exact integral for problem 09.
• p09_f.m, evaluates the integrand for problem 09.
• p09_i4.m, sets or gets I4 parameters for problem 09.
• p09_lim.m, returns the integration limits for problem 09.
• p09_name.m, returns a name for problem 09.
• p09_r8vec.m, sets or gets R8VEC parameters for problem 09.
• p09_region.m, returns the region type for problem 09.
• p09_title.m, prints a title for problem 09.
• p10_default.m, sets default values for problem 10.
• p10_exact.m, sets the exact integral for problem 10.
• p10_f.m, evaluates the integrand for problem 10.
• p10_i4.m, sets or gets I4 parameters for problem 10.
• p10_lim.m, returns the integration limits for problem 10.
• p10_name.m, returns a name for problem 10.
• p10_region.m, returns the region type for problem 10.
• p10_title.m, prints a title for problem 10.
• p11_default.m, sets default values for problem 11.
• p11_exact.m, sets the exact integral for problem 11.
• p11_f.m, evaluates the integrand for problem 11.
• p11_i4.m, sets or gets I4 parameters for problem 11.
• p11_lim.m, returns the integration limits for problem 11.
• p11_name.m, returns a name for problem 11.
• p11_region.m, returns the region type for problem 11.
• p11_title.m, prints a title for problem 11.
• p12_default.m, sets default values for problem 12.
• p12_exact.m, sets the exact integral for problem 12.
• p12_f.m, evaluates the integrand for problem 12.
• p12_i4.m, sets or gets I4 parameters for problem 12.
• p12_lim.m, returns the integration limits for problem 12.
• p12_name.m, returns a name for problem 12.
• p12_region.m, returns the region type for problem 12.
• p12_title.m, prints a title for problem 12.
• p13_default.m, sets default values for problem 13.
• p13_exact.m, sets the exact integral for problem 13.
• p13_f.m, evaluates the integrand for problem 13.
• p13_i4.m, sets or gets I4 parameters for problem 13.
• p13_lim.m, returns the integration limits for problem 13.
• p13_name.m, returns a name for problem 13.
• p13_region.m, returns the region type for problem 13.
• p13_title.m, prints a title for problem 13.
• p14_default.m, sets default values for problem 14.
• p14_exact.m, sets the exact integral for problem 14.
• p14_f.m, evaluates the integrand for problem 14.
• p14_i4.m, sets or gets I4 parameters for problem 14.
• p14_lim.m, returns the integration limits for problem 14.
• p14_name.m, returns a name for problem 14.
• p14_region.m, returns the region type for problem 14.
• p14_title.m, prints a title for problem 14.
• p15_default.m, sets default values for problem 15.
• p15_exact.m, sets the exact integral for problem 15.
• p15_f.m, evaluates the integrand for problem 15.
• p15_i4.m, sets or gets I4 parameters for problem 15.
• p15_lim.m, returns the integration limits for problem 151.
• p15_name.m, returns a name for problem 15.
• p15_region.m, returns the region type for problem 15.
• p15_title.m, prints a title for problem 15.
• p16_default.m, sets default values for problem 16.
• p16_exact.m, sets the exact integral for problem 16.
• p16_f.m, evaluates the integrand for problem 16.
• p16_i4.m, sets or gets I4 parameters for problem 16.
• p16_lim.m, returns the integration limits for problem 16.
• p16_name.m, returns a name for problem 16.
• p16_r8vec.m, sets or gets R8VEC parameters for problem 16.
• p16_region.m, returns the region type for problem 16.
• p16_title.m, prints a title for problem 16.
• p17_default.m, sets default values for problem 17.
• p17_exact.m, sets the exact integral for problem 17.
• p17_f.m, evaluates the integrand for problem 17.
• p17_i4.m, sets or gets I4 parameters for problem 17.
• p17_lim.m, returns the integration limits for problem 17.
• p17_name.m, returns a name for problem 17.
• p17_r8vec.m, sets or gets R8VEC parameters for problem 17.
• p17_region.m, returns the region type for problem 17.
• p17_title.m, prints a title for problem 17.
• p18_default.m, sets default values for problem 18.
• p18_exact.m, sets the exact integral for problem 18.
• p18_f.m, evaluates the integrand for problem 18.
• p18_i4.m, sets or gets I4 parameters for problem 18.
• p18_lim.m, returns the integration limits for problem 18.
• p18_name.m, returns a name for problem 18.
• p18_r8.m, sets or gets R8 parameters for problem 18.
• p18_r8vec.m, sets or gets R8VEC parameters for problem 18.
• p18_region.m, returns the region type for problem 18.
• p18_title.m, prints a title for problem 18.
• p19_default.m, sets default values for problem 19.
• p19_exact.m, sets the exact integral for problem 19.
• p19_f.m, evaluates the integrand for problem 19.
• p19_i4.m, sets or gets I4 parameters for problem 19.
• p19_lim.m, returns the integration limits for problem 19.
• p19_name.m, returns a name for problem 19.
• p19_r8vec.m, sets or gets R8VEC parameters for problem 19.
• p19_region.m, returns the region type for problem 19.
• p19_title.m, prints a title for problem 19.
• p20_default.m, sets default values for problem 20.
• p20_exact.m, sets the exact integral for problem 20.
• p20_f.m, evaluates the integrand for problem 20.
• p20_i4.m, sets or gets I4 parameters for problem 20.
• p20_lim.m, returns the integration limits for problem 20.
• p20_name.m, returns a name for problem 20.
• p20_r8.m, sets or gets R8 parameters for problem 20.
• p20_region.m, returns the region type for problem 20.
• p20_title.m, prints a title for problem 20.
• p21_default.m, sets default values for problem 21.
• p21_exact.m, sets the exact integral for problem 21.
• p21_f.m, evaluates the integrand for problem 21.
• p21_i4.m, sets or gets I4 parameters for problem 21.
• p21_i4vec.m, sets or gets I4VEC parameters for problem 21.
• p21_lim.m, returns the integration limits for problem 21.
• p21_name.m, returns a name for problem 21.
• p21_r8.m, sets or gets R8 parameters for problem 21.
• p21_region.m, returns the region type for problem 21.
• p21_title.m, prints a title for problem 21.
• p22_default.m, sets default values for problem 22.
• p22_exact.m, sets the exact integral for problem 22.
• p22_f.m, evaluates the integrand for problem 22.
• p22_i4.m, sets or gets I4 parameters for problem 22.
• p22_i4vec.m, sets or gets I4VEC parameters for problem 22.
• p22_lim.m, returns the integration limits for problem 22.
• p22_name.m, returns a name for problem 22.
• p22_r8.m, sets or gets R8 parameters for problem 22.
• p22_region.m, returns the region type for problem 22.
• p22_title.m, prints a title for problem 22.
• p23_default.m, sets default values for problem 23.
• p23_exact.m, sets the exact integral for problem 23.
• p23_f.m, evaluates the integrand for problem 23.
• p23_i4.m, sets or gets I4 parameters for problem 23.
• p23_i4vec.m, sets or gets I4VEC parameters for problem 23.
• p23_lim.m, returns the integration limits for problem 23.
• p23_name.m, returns a name for problem 23.
• p23_r8.m, sets or gets R8 parameters for problem 23.
• p23_region.m, returns the region type for problem 23.
• p23_title.m, prints a title for problem 23.
• p24_default.m, sets default values for problem 24.
• p24_exact.m, sets the exact integral for problem 24.
• p24_f.m, evaluates the integrand for problem 24.
• p24_i4.m, sets or gets I4 parameters for problem 24.
• p24_lim.m, returns the integration limits for problem 24.
• p24_name.m, returns a name for problem 24.
• p24_r8vec.m, sets or gets R8VEC parameters for problem 24.
• p24_region.m, returns the region type for problem 24.
• p24_title.m, prints a title for problem 24.
• p25_default.m, sets default values for problem 25.
• p25_exact.m, sets the exact integral for problem 25.
• p25_f.m, evaluates the integrand for problem 25.
• p25_i4.m, sets or gets I4 parameters for problem 25.
• p25_lim.m, returns the integration limits for problem 25.
• p25_name.m, returns a name for problem 25.
• p25_r8.m, sets or gets R8 parameters for problem 25.
• p25_region.m, returns the region type for problem 25.
• p25_title.m, prints a title for problem 25.
• p26_default.m, sets default values for problem 26.
• p26_exact.m, sets the exact integral for problem 26.
• p26_f.m, evaluates the integrand for problem 26.
• p26_i4.m, sets or gets I4 parameters for problem 26.
• p26_lim.m, returns the integration limits for problem 26.
• p26_name.m, returns a name for problem 26.
• p26_r8vec.m, sets or gets R8VEC parameters for problem 26.
• p26_region.m, returns the region type for problem 26.
• p26_title.m, prints a title for problem 26.
• p27_default.m, sets default values for problem 27.
• p27_exact.m, sets the exact integral for problem 27.
• p27_f.m, evaluates the integrand for problem 27.
• p27_i4.m, sets or gets I4 parameters for problem 27.
• p27_lim.m, returns the integration limits for problem 27.
• p27_name.m, returns a name for problem 27.
• p27_r8.m, sets or gets R8 parameters for problem 27.
• p27_r8vec.m, sets or gets R8VEC parameters for problem 27.
• p27_region.m, returns the region type for problem 27.
• p27_title.m, prints a title for problem 27.
• p28_default.m, sets default values for problem 28.
• p28_exact.m, sets the exact integral for problem 28.
• p28_f.m, evaluates the integrand for problem 28.
• p28_i4.m, sets or gets I4 parameters for problem 28.
• p28_lim.m, returns the integration limits for problem 28.
• p28_name.m, returns a name for problem 28.
• p28_r8vec.m, sets or gets R8VEC parameters for problem 281.
• p28_region.m, returns the region type for problem 28.
• p28_title.m, prints a title for problem 28.
• p29_default.m, sets default values for problem 29.
• p29_exact.m, sets the exact integral for problem 29.
• p29_f.m, evaluates the integrand for problem 29.
• p29_i4.m, sets or gets I4 parameters for problem 29.
• p29_lim.m, returns the integration limits for problem 29.
• p29_name.m, returns a name for problem 29.
• p29_r8.m, sets or gets R8 parameters for problem 29.
• p29_r8vec.m, sets or gets R8VEC parameters for problem 29.
• p29_region.m, returns the region type for problem 29.
• p29_title.m, prints a title for problem 29.
• p30_default.m, sets default values for problem 30.
• p30_exact.m, sets the exact integral for problem 30.
• p30_f.m, evaluates the integrand for problem 30.
• p30_i4.m, sets or gets I4 parameters for problem 30.
• p30_lim.m, returns the integration limits for problem 30.
• p30_name.m, returns a name for problem 30.
• p30_r8vec.m, sets or gets R8VEC parameters for problem 30.
• p30_region.m, returns the region type for problem 30.
• p30_title.m, prints a title for problem 30.
• p31_default.m, sets default values for problem 31.
• p31_exact.m, sets the exact integral for problem 31.
• p31_f.m, evaluates the integrand for problem 31.
• p31_i4.m, sets or gets I4 parameters for problem 31.
• p31_lim.m, returns the integration limits for problem 31.
• p31_name.m, returns a name for problem 31.
• p31_r8vec.m, sets or gets R8VEC parameters for problem 31.
• p31_region.m, returns the region type for problem 31.
• p31_title.m, prints a title for problem 31.
• p32_default.m, sets default values for problem 32.
• p32_exact.m, sets the exact integral for problem 32.
• p32_f.m, evaluates the integrand for problem 32.
• p32_i4.m, sets or gets I4 parameters for problem 32.
• p32_lim.m, returns the integration limits for problem 32.
• p32_name.m, returns a name for problem 32.
• p32_r8vec.m, sets or gets R8VEC parameters for problem 32.
• p32_region.m, returns the region type for problem 32.
• p32_title.m, prints a title for problem 32.
• r8_choose.m, computes the combinatorial coefficient C(N,K).
• r8_huge.m, returns a "huge" R8.
• r8_sign.m, returns the sign of an R8.
• r8_tiny.m, returns a "tiny" R8.
• r8vec_print.m, prints an R8VEC.
• s_len_trim.m, returns the length of a string to the last nonblank.
• simplex_unit_volume_nd.m, computes the volume of a unit simplex in ND.
• sphere_unit_area_nd.m, computes the area of a unit sphere in ND.
• sphere_unit_volume_nd.m, computes the volume of a unit sphere in ND.
• sphere_volume_nd.m, computes the volume of a sphere in ND.
• timestamp.m, prints the current YMDHMS date as a time stamp.
• tuple_next.m, computes the next element of a tuple space.

### Examples and Tests:

You can go up one level to the MATLAB source codes.

Last revised on 06 June 2007.