\(\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}} }\)
ForTwo¶
View page sourceForward Mode Second Partial Derivative Driver¶
Syntax¶
ForTwo
( x , j , k )Purpose¶
We use \(F : \B{R}^n \rightarrow \B{R}^m\) to denote the AD Function corresponding to f . The syntax above sets
for \(i = 0 , \ldots , m-1\) and \(\ell = 0 , \ldots , 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
BaseVector & x
(see BaseVector 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
SizeVector_t & j
(see SizeVector_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 \(\ell = 0 , \ldots , p-1\), \(j[ \ell ] < n\).
k¶
The argument k has prototype
const
SizeVector_t & k
(see SizeVector_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 \(\ell = 0 , \ldots , p-1\), \(k[ \ell ] < n\).
ddy¶
The result ddy has prototype
BaseVector ddy
(see BaseVector below) and its size is \(m * p\). It contains the requested partial derivatives; to be specific, for \(i = 0 , \ldots , m - 1\) and \(\ell = 0 , \ldots , p - 1\)
BaseVector¶
The type BaseVector must be a SimpleVector class with elements of type Base . The routine CheckSimpleVector will generate an error message if this is not the case.
SizeVector_t¶
The type SizeVector_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.