Prev Next Index-> contents reference index search external Up-> CppAD ADFun drivers ForOne CppAD-> Install Introduction AD ADFun preprocessor multi_thread utility ipopt_solve Example speed Appendix ADFun-> record_adfun drivers Forward Reverse sparsity_pattern sparse_derivative optimize abs_normal FunCheck check_for_nan drivers-> Jacobian Hessian ForOne RevOne ForTwo RevTwo ForOne-> for_one.cpp Headings-> Syntax Purpose f x j dy Vector ForOne Uses Forward Example

$\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}} }$
First Order Partial Derivative: Driver Routine

Syntax
dy = f.ForOne(x, j)

Purpose
We use $F : B^n \rightarrow B^m$ to denote the AD function corresponding to f . The syntax above sets dy to the partial of $F$ with respect to $x_j$; i.e., $$dy = \D{F}{ x_j } (x) = \left[ \D{ F_0 }{ x_j } (x) , \cdots , \D{ F_{m-1} }{ x_j } (x) \right]$$

f
The object f has prototype       ADFun<Base> f  Note that the ADFun object f is not const (see ForOne Uses Forward below).

x
The argument x has prototype       const Vector &x  (see Vector 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 derivative.

j
The argument j has prototype       size_t j  an is less than n , domain space for f . It specifies the component of F for which we are computing the partial derivative.

dy
The result dy has prototype       Vector dy  (see Vector below) and its size is $m$, the dimension of the range space for f . The value of dy is the partial of $F$ with respect to $x_j$ evaluated at x ; i.e., for $i = 0 , \ldots , m - 1$ $$. dy[i] = \D{ F_i }{ x_j } ( x )$$

Vector
The type Vector must be a SimpleVector class with elements of type Base . The routine CheckSimpleVector will generate an error message if this is not the case.

ForOne Uses Forward
After each call to Forward , the object f contains the corresponding Taylor coefficients . After a call to ForOne, the zero order Taylor coefficients correspond to f.Forward(0,x) and the other coefficients are unspecified.

Example
The routine ForOne is both an example and test. It returns true, if it succeeds and false otherwise.