Prev | Next |
# include <cppad/utility/poly.hpp>
p = Poly(k, a, z)
k
-th derivative of the polynomial
@[@
P(z) = a_0 + a_1 z^1 + \cdots + a_d z^d
@]@
If
k
is equal to zero, the return value is @(@
P(z)
@)@.
cppad/utility/poly.hpp
is included by cppad/cppad.hpp
but it can also be included separately with out the rest of
the CppAD
routines.
Including this file defines
Poly
within the CppAD
namespace.
k
has prototype
size_t k
It specifies the order of the derivative to calculate.
a
has prototype
const Vector &a
(see Vector
below).
It specifies the vector corresponding to the polynomial @(@
P(z)
@)@.
z
has prototype
const Type &z
(see
Type
below).
It specifies the point at which to evaluate the polynomial
p
has prototype
Type p
(see Type
below)
and it is equal to the k
-th derivative of @(@
P(z)
@)@; i.e.,
@[@
p = \frac{k !}{0 !} a_k
+ \frac{(k+1) !}{1 !} a_{k+1} z^1
+ \ldots
+ \frac{d !}{(d - k) !} a_d z^{d - k}
@]@
If @(@
k > d
@)@,
p = Type(0)
.
Type
is determined by the argument
z
.
It is assumed that
multiplication and addition of
Type
objects
are commutative.
x
and
y
are objects of type
Type
and
i
is an int
:
x = i
| assignment |
x = y
| assignment |
x *= y
| multiplication compound assignment |
x += y
| addition compound assignment |
Vector
must be a SimpleVector
class with
elements of type
Type
.
The routine CheckSimpleVector
will generate an error message
if this is not the case.
Type
operation sequence used to calculate
p
is
independent
of
z
and the elements of
a
(it does depend on the size of the vector
a
).