Henry Briggs (16th Century)

Briggs was a human calculator, who worked on Napier's logarithm project. He generalized the method of antiquity for computing tables of single-variate dth degree Polynomials

f(x) = a0 + x(a1 + x(a2 + ...+ xad))))....)

Briggs's Idea: Difference Polynomials

f1(x) = f(x + e) - f(x) has degree no more than d - 1
fi(x) = fi-1(x + e) - fi-1(x) has degree no more than d - i. i = 1,...,d
fd(x) is a constant, possibly zero

Polynomial Tabulation By Finite Differencing

x := xo
repeat
  print(f(x))   -- d additions and d products using Horner's Rule
  x +:= e
end

=> Invariants:  ti = fi(x) for i = 0,...,d

t0 := f(x0)
t1 := f1(x0)
...
td := fd(x0)
repeat
  print(t0)
  t0 +:= t1
  t1 +:= t2
  ...
  td-1 +:= td   -- d additions and 0 products
end

Baggage's analytic difference engine was designed to implement the main loop of Briggs's method.

Click here to continue.