Jacobian: Driver Routine
Keywords: jacobian: driver routine Jacobian first derivative syntax purpose f x jac vector forward reverse example

| Prev | Next |  |  |  |  |  |  |

Jacobian: Driver Routine
Syntax
`jac = f.Jacobian(x)`
Purpose
We use F : B n → B m to denote the AD function corresponding to `f` . The syntax above sets `jac` to the Jacobian of `F` evaluated at `x` ; i.e., jac = F ( 1 ) ( x )
f
The object `f` has prototype `
ADFun<Base> f
` Note that the ADFun object `f` is not `const` (see Forward or Reverse 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 Jacobian.
jac
The result `jac` has prototype `
Vector jac
` (see Vector below) and its size is m * n ; i.e., the product of the domain and range dimensions for `f` . For i = 0 , … , m - 1 and j = 0 , … , n - 1 . jac [ i * n + j ] = ∂ 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.
Forward or Reverse
This will use order zero Forward mode and either order one Forward or order one Reverse to compute the Jacobian (depending on which it estimates will require less work). After each call to Forward , the object `f` contains the corresponding Taylor coefficients . After a call to `Jacobian`, the zero order Taylor coefficients correspond to `f.Forward(0, x)` and the other coefficients are unspecified.
Example
The routine Jacobian is both an example and test. It returns `true`, if it succeeds and `false` otherwise.

Input File: cppad/local/jacobian.hpp