Prev Next

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Properties of a Function Object

Syntax
a_fun f(f)
n = f.size_domain()
m = f.size_range()
v = f.size_var()
p = f.size_op()
q = f.size_order()

f
This is either a d_fun or a_fun function object and is const.

size_domain
The return value has prototype
     int 
n
and is the size of the vector ax in the function constructor; i.e., the number of independent variables.

size_range
The return value has prototype
     int 
m
and is the size of the vector ay in the function constructor; i.e., the number of dependent variables.

size_var
The return value has prototype
     int 
v
and is the number of variables in the function. This includes the independent variables, dependent variables, and any variables that are used to compute the dependent variables from the independent variables.

size_op
The return value has prototype
     int 
p
and is the number of atomic operations that are used to express the dependent variables as a function of the independent variables.

size_order
The return value has prototype
     int 
q
and is the number of Taylor coefficients currently stored in f , for every variable in the operation sequence corresponding to f . These coefficients are computed by cpp_fun_forward . This is different from the other function properties in that it can change after each call to f.forward ; see size_order in the forward mode section. The initial value for this property, when the object f or af is created, is zero.

Example
fun_property_xam.cpp
Input File: lib/cplusplus/fun.cpp