size_order

View page source

Number Taylor Coefficient Orders Currently Stored

Syntax

s = f . size_order ()

See Also

fun_property

Purpose

Determine the number of Taylor coefficient orders, per variable,direction, currently calculated and stored in the ADFun object f . See the discussion under Constructor , Forward , and capacity_order for a description of when this value can change.

f

The object f has prototype

const ADFun < Base > f

s

The result s has prototype

size_t s

and is the number of Taylor coefficient orders, per variable,direction in the AD operation sequence, currently calculated and stored in the ADFun object f .

Constructor

Directly after the fun_construct syntax

ADFun < Base > f ( x , y )

the value of s returned by size_order is one. This is because there is an implicit call to Forward that computes the zero order Taylor coefficients during this constructor.

Forward

After a call to Forward with the syntax

f . Forward ( q , x_q )

the value of s returned by size_order would be \(q + 1\). The call to Forward above uses the lower order Taylor coefficients to compute and store the q-th order Taylor coefficients for all the variables in the operation sequence corresponding to f . Thus there are \(q + 1\) (order zero through q ) Taylor coefficients per variable,direction. (You can determine the number of variables in the operation sequence using the size_var function.)

capacity_order

If the number of Taylor coefficient orders currently stored in f is less than or equal c , a call to capacity_order with the syntax

f . capacity_order ( c )

does not affect the value s returned by size_order . Otherwise, the value s returned by size_order is equal to c (only Taylor coefficients of order zero through \(c-1\) have been retained).

Example

The file forward.cpp contains an example and test of this operation.