Prev | Next |
dw = f.Reverse(1, w)
f
.
The function @(@
W : \B{R}^n \rightarrow \B{R}
@)@ is defined by
@[@
W(x) = w_0 * F_0 ( x ) + \cdots + w_{m-1} * F_{m-1} (x)
@]@
The result of this operation is the derivative
@(@
dw = W^{(1)} (x)
@)@; i.e.,
@[@
dw = w_0 * F_0^{(1)} ( x ) + \cdots + w_{m-1} * F_{m-1}^{(1)} (x)
@]@
Note that if @(@
w
@)@ is the i
-th
elementary vector
,
@(@
dw = F_i^{(1)} (x)
@)@.
f
has prototype
const ADFun<Base> f
Before this call to Reverse
, the value returned by
f.size_order()
must be greater than or equal one (see size_order
).
x
in expression for
dw
above
corresponds to the previous call to forward_zero
using this ADFun object
f
; i.e.,
f.Forward(0, x)
If there is no previous call with the first argument zero,
the value of the independent
variables
during the recording of the AD sequence of operations is used
for
x
.
w
has prototype
const Vector &w
(see Vector
below)
and its size
must be equal to
m
, the dimension of the
range
space for
f
.
dw
has prototype
Vector dw
(see Vector
below)
and its value is the derivative @(@
W^{(1)} (x)
@)@.
The size of
dw
is equal to
n
, the dimension of the
domain
space for
f
.
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.