Message Boards Message Boards

Suggestion: function for Whittaker's root series formula

Posted 3 months ago

Whittaker’s Root Series formula is an interesting method that can be used to calculate the root with the smallest absolute value of a polynomial equation. The formula creates a geometrically convergent infinite series using the determinants of a special class of Toeplitz matrices. These Toeplitz matrices are generated using the coefficients of the polynomial equation.

The Whittaker’s Root Series converges only if the polynomial equation has a unique root with the smallest absolute value (however, the smallest root can have a multiplicity higher than 1). The formula or method is explained by E.T. Whittaker himself in the book "The Calculus Of Observations: A Treatise On Numerical Mathematics" starting with page 120 (archive link ). The method is also briefly described in "Solving Transcendental Equation" by John P. Boyd (page 187 link ) .

Last year I started to apply the formula on power series derived from the Taylor series of various functions. I used the method to obtain integer infinite series for 1/e, ln2,pi/4 Dottie number, Omega constant and other irrational or transcendental numbers. The denominators or the numerators of some of these infinite series were accepted as OEIS sequences( link to my OEIS series You can also search my article "Generating k-Pell Infinite Series Using Whittaker’s Formula". The formulas from the article "Fibonacci Infinite Series and the Negative Powers of the Golden Ratio" were also accepted as formulas for OEIS sequence A000045 (Fibonacci sequence).

It would be nice if Wolfram Mathematica and Wolfram Alpha would include a function for the Whittaker's root series formula. My suggestion for the function would be WhittakerRoot[polynomial/series, number of terms]. By default, I think the function should show the first 5 terms ( if it converges). My programming skills are very limited, so I will try not to make many other suggestions for the function.

Regarding the determinants of the matrices from the denominator, I can mention that they are related to the coefficients of the series expansion for 1/polynomial or 1/series. To better understand what I mean, read "On Determinants of Toeplitz-Hessenberg Matrices Arising in Power Series" by ALFRED INSELBERG . The article is not about Whittaker's formula, but I am pretty sure that his matrices are equivalent to the matrices from the denominator in Whittaker's formula.

I believe that Whittaker's root series formula can also be useful in math education since it only involves determinants of matrices. It's a nice method that shows the application of matrices and it can also be used as an alternative to Newton's method in many cases. I think that it's also relatively easy to program the formula. Nonetheless, it would be nice if Mathematica, Wolfram Alpha, Python, SageMath and other programming languages or CAS software have a special function for the formula. The formula is also fun because you can obtain interesting OEIS sequences when you apply it to many quadratic equations. So the formula can also increase interest in OEIS sequences if used in an educational environment. Who said that calculations cannot be fun?

I do hope that this post makes more people aware of Whittaker's formula. The formula remained pretty obscure for more than 100 years. However, I do think that it deserves more recognition maybe even in high school or college math education.

POSTED BY: Raul Prisacariu

Interesting method I guess. It is different from the one I'll show, but at least the similarities of being iterative and geometrically convergent.

The (reasonably) well-known "power method" can be used to find the largest root. It amounts to finding the largest eigenvalue of the characteristic matrix (constructed to have the original polynomial, or its negative, as its characteristic polynomial). One starts with a random vector and iterates newvec = mat.oldvec; newvec=newvec/Norm[newvec] and then takes the ratio of the last iterate vector to the matrix times that vector. Finding the smallest root amounts to using "inverse" iterations, that is, multiplying by the matrix inverse instead of the matrix. (In any practical setting, one would use a solver rather than explicit inversion though.)

Here is an example from the paper.

poly = x^3 - 4*x^2 - 321*x + 20;

We construct the matrix and verify that the characteristic polynomial is as claimed.

mat = {{0, 0, -20}, {1, 0, 321}, {0, 1, 4}};
cp = CharacteristicPolynomial[mat, x]

Out[292]= -20 + 321 x + 4 x^2 - x^3mat = {{0, 0, -20}, {1, 0, 321}, {0, 1, 4}};

For illustrative purposes I construct the inverse directly, then start with a random vector, and do 10 iterations.

invmat = Inverse[mat];
x0 = RandomReal[1, 3];
Do[nx = invmat . x0;
  x0 = nx/Norm[nx], {10}];

Dividing as described above shows that we have an eigenvalue as the common ratio 9so it converged nicely).

mat . x0/x0

Out[297]= {0.0622577, 0.0622577, 0.0622577}

Now verify it is the smallest root.

In[300]:= NSolve[poly == 0, x]

Out[300]= {{x -> -16.0623}, {x -> 0.0622577}, {x -> 20.}}
POSTED BY: Daniel Lichtblau
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract