Prev | Next |
ddw = f.RevTwo(x, i, j)
f
.
The syntax above sets
@[@
ddw [ k * p + \ell ]
=
\DD{ F_{i[ \ell ]} }{ x_{j[ \ell ]} }{ x_k } (x)
@]@
for @(@
k = 0 , \ldots , n-1
@)@
and @(@
\ell = 0 , \ldots , p
@)@,
where @(@
p
@)@ is the size of the vectors
i
and
j
.
f
has prototype
ADFun<Base> f
Note that the ADFun
object
f
is not const
(see RevTwo Uses Forward
below).
x
has prototype
const BaseVector &x
(see BaseVector
below)
and its size
must be equal to
n
, the dimension of the
domain
space for
f
.
It specifies
that point at which to evaluate the partial derivatives listed above.
i
has prototype
const SizeVector_t &i
(see SizeVector_t
below)
We use
p
to denote the size of the vector
i
.
All of the indices in
i
must be less than
m
, the dimension of the
range
space for
f
; i.e.,
for @(@
\ell = 0 , \ldots , p-1
@)@, @(@
i[ \ell ] < m
@)@.
j
has prototype
const SizeVector_t &j
(see SizeVector_t
below)
and its size must be equal to
p
,
the size of the vector
i
.
All of the indices in
j
must be less than
n
; i.e.,
for @(@
\ell = 0 , \ldots , p-1
@)@, @(@
j[ \ell ] < n
@)@.
ddw
has prototype
BaseVector ddw
(see BaseVector
below)
and its size is @(@
n * p
@)@.
It contains the requested partial derivatives; to be specific,
for @(@
k = 0 , \ldots , n - 1
@)@
and @(@
\ell = 0 , \ldots , p - 1
@)@
@[@
ddw [ k * p + \ell ]
=
\DD{ F_{i[ \ell ]} }{ x_{j[ \ell ]} }{ x_k } (x)
@]@
BaseVector
must be a SimpleVector
class with
elements of type Base
.
The routine CheckSimpleVector
will generate an error message
if this is not the case.
SizeVector_t
must be a SimpleVector
class with
elements of type size_t
.
The routine CheckSimpleVector
will generate an error message
if this is not the case.
f
contains the corresponding
Taylor coefficients
.
After a call to RevTwo
,
the zero order Taylor coefficients correspond to
f.Forward(0, x)
and the other coefficients are unspecified.
true
, if it succeeds and false
otherwise.