\(\newcommand{\W}[1]{ \; #1 \; }\) \(\newcommand{\R}[1]{ {\rm #1} }\) \(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} }\) \(\newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} }\) \(\newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} }\) \(\newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }\)
Poly¶
View page sourceEvaluate a Polynomial or its Derivative¶
Syntax¶
include <cppad/utility/poly.hpp>
Poly
( k , a , z )Description¶
Computes the k-th derivative of the polynomial
If k is equal to zero, the return value is \(P(z)\).
Include¶
The file 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¶
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
Type p
(see Type below) and it is equal to the k-th derivative of \(P(z)\); i.e.,
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
:
x = i |
assignment |
x = y |
assignment |
x \* = y |
multiplication compound assignment |
x += y |
addition compound assignment |
Vector¶
The type 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.
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.
Source¶
The file poly.hpp contains the current source code that implements these specifications.