Prev Next Index-> contents reference index search external Up-> CppAD utility RombergOne CppAD-> Install Introduction AD ADFun preprocessor multi_thread utility ipopt_solve Example speed Appendix utility-> ErrorHandler NearEqual speed_test SpeedTest time_test test_boolofvoid NumericType CheckNumericType SimpleVector CheckSimpleVector nan pow_int Poly LuDetAndSolve RombergOne RombergMul Runge45 Rosen34 OdeErrControl OdeGear OdeGearControl CppAD_vector thread_alloc index_sort to_string set_union sparse_rc sparse_rcv RombergOne-> romberg_one.cpp Headings-> Syntax Description Include r F a b n p e Float Example Source Code

$\newcommand{\W}[1]{ \; #1 \; } \newcommand{\R}[1]{ {\rm #1} } \newcommand{\B}[1]{ {\bf #1} } \newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} } \newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} } \newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} } \newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }$
One DimensionalRomberg Integration

Syntax
# include <cppad/utility/romberg_one.hpp>  r = RombergOne(F, a, b, n, e)

Description
Returns the Romberg integration estimate $r$ for a one dimensional integral $$r = \int_a^b F(x) {\bf d} x + O \left[ (b - a) / 2^{n-1} \right]^{2(p+1)}$$

Include
The file cppad/romberg_one.hpp is included by cppad/cppad.hpp but it can also be included separately with out the rest of the CppAD routines.

r
The return value r has prototype       Float r  It is the estimate computed by RombergOne for the integral above.

F
The object F can be of any type, but it must support the operation       F(x)  The argument x to F has prototype       const Float &x  The return value of F is a Float object (see description of Float below).

a
The argument a has prototype       const Float &a  It specifies the lower limit for the integration.

b
The argument b has prototype       const Float &b  It specifies the upper limit for the integration.

n
The argument n has prototype       size_t n  A total number of $2^{n-1} + 1$ evaluations of F(x) are used to estimate the integral.

p
The argument p has prototype       size_t p  It must be less than or equal $n$ and determines the accuracy order in the approximation for the integral that is returned by RombergOne. To be specific $$r = \int_a^b F(x) {\bf d} x + O \left[ (b - a) / 2^{n-1} \right]^{2(p+1)}$$

e
The argument e has prototype       Float &e  The input value of e does not matter and its output value is an approximation for the error in the integral estimates; i.e., $$e \approx \left| r - \int_a^b F(x) {\bf d} x \right|$$

Float
The type Float must satisfy the conditions for a NumericType type. The routine CheckNumericType will generate an error message if this is not the case. In addition, if x and y are Float objects,       x < y  returns the bool value true if x is less than y and false otherwise.

Example
The file romberg_one.cpp contains an example and test a test of using this routine. It returns true if it succeeds and false otherwise.

Source Code
The source code for this routine is in the file cppad/romberg_one.hpp.