lines 481-544 of file: lib/cplusplus/fun.cpp {xrst_begin cpp_fun_jacobian} Jacobian of an AD Function ########################## Syntax ****** *J* = *f*\ ``.jacobian`` ( *x* ) f * This is either a :ref:`d_fun` or :ref:`a_fun` function object. Upon return, the zero order :ref:`taylor_coefficients` in *f* correspond to the value of *x* . The other Taylor coefficients in *f* are unspecified. f(x) **** We use the notation :math:`f: \B{R}^n \rightarrow \B{R}^m` for the function corresponding to *f* . Note that *n* is the size of :ref:`ax` and *m* is the size of :ref:`ay` in to the constructor for *f* . x * If *f* is a ``d_fun`` or ``a_fun`` , this argument has prototype | |tab| ``const vec_double&`` *x* | |tab| ``const vec_a_double&`` *x* and its size must be *n* . It specifies the argument value at we are computing the Jacobian :math:`f'(x)`. J * If *f* is a ``d_fun`` or ``a_fun`` , the result has prototype | |tab| ``vec_double`` *J* | |tab| ``vec_a_double`` *J* respectively and its size is *m* ``*`` *n* . For *i* between zero and *m* -1 and *j* between zero and *n* -1 , .. math:: J [ i * n + j ] = \frac{ \partial f_i }{ \partial x_j } (x) {xrst_toc_hidden example/cplusplus/fun_jacobian_xam.cpp } Example ******* :ref:`fun_jacobian_xam.cpp-name` {xrst_end cpp_fun_jacobian}