\(\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}} }\)
RombergOne¶
View page sourceOne DimensionalRomberg Integration¶
Syntax¶
include <cppad/utility/romberg_one.hpp>
RombergOne
( F , a , b , n , e )Description¶
Returns the Romberg integration estimate \(r\) for a one dimensional integral
Include¶
The file cppad/utility/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
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.,
Float¶
The type Float must satisfy the conditions for a NumericType . 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.
Source Code¶
The source code for this routine is in the file
cppad/romberg_one.hpp
.