|
Prev | Next |
dw = f.Reverse(1, w)
F : B^n \rightarrow B^m
to denote the
AD function
corresponding to
f
.
The function
W : B^n \rightarrow B
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_taylor()
must be greater than or equal one (see size_taylor
).
x
in expression for dw above
corresponds to the previous call to ForwardZero
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.