Syntax
# include <cppad/poly.hpp> p = Poly(k, a, z)
Description
Computes the 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)
.
Include
The file cppad/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
The argument k has prototype
size_t k It specifies the order of the derivative to calculate.
a
The argument a has prototype
const Vector &a (see Vector
below).
It specifies the vector corresponding to the polynomial P(z)
.
z
The argument z has prototype
const Type &z (see Type below).
It specifies the point at which to evaluate the polynomial
p
The result p has prototype
Typep (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
The type Type is determined by the argument z.
It is assumed that
multiplication and addition of Type objects
are commutative.
Operations
The following operations must be supported where
x and y are objects of type Type
and i is an int:
Operation Sequence
The 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).
Example
The file
Poly.cpp
contains an example and test of this routine.
It returns true if it succeeds and false otherwise.
Source
The file poly.hpp
contains the
current source code that implements these specifications.
Input File: cppad/poly.hpp