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


Cover Contents Index Main page

last modified 8th August 2001
Copyright 2000-2001 Vladimir Zabrodsky
Czech Republic