Prev | Next |
# include <cppad/utility/romberg_one.hpp>
r = RombergOne(F, a, b, n, e)
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
has prototype
Float r
It is the estimate computed by RombergOne
for the integral above.
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
has prototype
const Float &a
It specifies the lower limit for the integration.
b
has prototype
const Float &b
It specifies the upper limit for the integration.
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
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
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
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.
cppad/romberg_one.hpp
.