Evaluation polynomial and its derivatives simultaneously

PROBLEM
Compute the value of a given polynomial A.N*X**N+...+A.1*X+A.0 of degree N and its first derivative at a given point V.

IMPLEMENTATION
Unit: nonrecursive internal function

Global variables: vector A.0,A.1,...,A.N of coefficients from the set of real numbers

Parameters: a positive integer N - the degree of the polynomial, real number V - a given point

Returns: A pair of values separated by blank, evaluating the polynomial and its first derivative

 DDPOLY1: procedure expose A. parse arg N, V P = A.N; D = 0 do J = N - 1 to 0 by -1   D = D * V + P; P = P * V + A.J end P = A.N; D = 0; J = N do J = N - 1 to 0 by -1   D = D * V + P; P = P * V + A.J end return P D

PROBLEM
Compute the value of a given polynomial A.N*X**N+...+A.1*X+A.0 of degree N and its D derivatives at a given point V.

IMPLEMENTATION
Unit: nonrecursive internal subroutine

Global variables: input vector A.0,A.1,...,A.N of coefficients from the set of real numbers, output vector Pd.0,Pd.1,...,Pd.D of derivatives

Parameters: a positive integer N - the degree of the polynomial, a positive integer D - number of derivatives, real number V - a given point

Result: This routine computes the polynomial evaluated at V as Pd.0 and D derivatives as Pd.1,...,Pd.D

 DDPOLY: procedure expose A. Pd. parse arg N, D, V Const = 1; Pd. = 0; Pd.0 = A.N do I = N - 1 to 0 by -1   if D < N - I then Nd = D; else Nd = N - I   do J = Nd to 1 by -1     Jm1 = J - 1; Pd.J = Pd.J * V + Pd.Jm1   end   Pd.0 = Pd.0 * V + A.I end do I = 2 to D   Const = Const * I; Pd.I = Pd.I * Const end return

EXAMPLE
For given values

N = 5; D = 5; V = 2
A. = 0
A.5 = 1; A.3=-4; A.2 = 6
A.1 = -8; A.0 = 10

the first elements (with index 0 to 5) of Pd. array will 18,48,124,216,240,120 after the interpretation of call DDPOLY N, D, V statement

CONNECTIONS

Literature
Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P. Numerical Recipes in C : the art of scientific computing
- 2nd ed. University Press, Cambridge, 1992
Faddejev A.K., Sominskij J.S. Sbornik zadac po vyssej algebre
Nauka, Moskva 1964