Forward Mode Second Partial Derivative Driver
Keywords: forward mode second partial derivative driver order easy syntax purpose f x j k ddy vectorbase vectorsize_t fortwo uses examples

| Prev | Next |  |  |  |  |  |  |

Forward Mode Second Partial Derivative Driver
Syntax
`ddy = f.ForTwo(x, j, k)`
Purpose
We use F : B n → B m to denote the AD function corresponding to `f` . The syntax above sets ddy [ i * p + ℓ ] = ∂ 2 F i ∂ x j [ ℓ ] ∂ x k [ ℓ ] ( x ) for i = 0 , … , m -1 and ℓ = 0 , … , p , where p is the size of the vectors `j` and `k` .
f
The object `f` has prototype `
ADFun<Base> f
` Note that the ADFun object `f` is not `const` (see ForTwo Uses Forward below).
x
The argument `x` has prototype `
const VectorBase &x
` (see VectorBase below) and its size must be equal to `n` , the dimension of the domain space for `f` . It specifies that point at which to evaluate the partial derivatives listed above.
j
The argument `j` has prototype `
const VectorSize_t &j
` (see VectorSize_t below) We use `p` to denote the size of the vector `j` . All of the indices in `j` must be less than `n` ; i.e., for ℓ = 0 , … , p -1 , j [ ℓ ] < n .
k
The argument `k` has prototype `
const VectorSize_t &k
` (see VectorSize_t below) and its size must be equal to `p` , the size of the vector `j` . All of the indices in `k` must be less than `n` ; i.e., for ℓ = 0 , … , p -1 , k [ ℓ ] < n .
ddy
The result `ddy` has prototype `
VectorBase ddy
` (see VectorBase below) and its size is m * p . It contains the requested partial derivatives; to be specific, for i = 0 , … , m - 1 and ℓ = 0 , … , p - 1 ddy [ i * p + ℓ ] = ∂ 2 F i ∂ x j [ ℓ ] ∂ x k [ ℓ ] ( x )
VectorBase
The type `VectorBase` must be a SimpleVector class with elements of type Base . The routine CheckSimpleVector will generate an error message if this is not the case.
VectorSize_t
The type `VectorSize_t` must be a SimpleVector class with elements of type size_t . The routine CheckSimpleVector will generate an error message if this is not the case.
ForTwo Uses Forward
After each call to Forward , the object `f` contains the corresponding Taylor coefficients . After a call to `ForTwo`, the zero order Taylor coefficients correspond to `f.Forward(0, x)` and the other coefficients are unspecified.
Examples
The routine ForTwo is both an example and test. It returns `true`, if it succeeds and `false` otherwise.

Input File: cppad/local/for_two.hpp