Yes, I was aware of Chebfun & Trefethen, but I only realized the connection with complex *Joukowski* transforms just yesterday. Joukowski(z) = (z+1/z)/2 = (1+z^2)/(2*z) Joukowski(z) should look familiar: Joukowski(z) = z-(z^2-1)/diff(z^2-1,z) = (1+z^2)/(2*z) i.e., it is the *Newton-Raphson iteration for sqrt(1)* (in the complex plane, obviously!) Now here's the completely insanely cool thing: https://en.m.wikipedia.org/wiki/Joukowsky_transform the Joukowsky transform, named after Nikolai Zhukovsky (who published it in 1910), is a conformal map historically used to understand some principles of ***airfoil*** design. A Joukowsky airfoil is generated in the complex plane by applying the Joukowsky transform to a circle in the zeta-plane. The coordinates of the centre of the circle are variables, and varying them modifies the shape of the resulting airfoil. The circle encloses the point zeta=-1 (where the derivative is zero) and intersects the point zeta=1. This can be achieved for any allowable centre position x + i y by varying the radius of the circle. Joukowsky airfoils have a cusp at their trailing edge [and they look like -- wait for it -- the cross-section of a typical (subsonic) airplane wing!!]. --- In other words, an airplane wing section is the Joukowsky transform of a (slightly displaced) *circle* in the complex plane (pun intended!) ! BTW, there are *sailboats* who use *rotating cylinders* for sails, which basically *inverts* the Joukowsky airfoil. The cool thing about such *cylindrical sails*, is that they don't need constant "trimming" to present the best angle to the wind. Please add this as an entry into the 21st C. Hakmem. At 09:54 AM 1/28/2019, Victor Miller wrote:
Since you mentioned Lloyd Trefethen and Chebyshev polynomials, if you haven't seen it, you should look at his excellent package Chebfun: http://www.chebfun.org/ for doing really well-principled numerical calculations. The main package is for matlab, but there are implementations as C libraries and for python, for example.
Victor
On Mon, Jan 28, 2019 at 12:50 PM Henry Baker <hbaker1@pipeline.com> wrote:
Cheby expansion:
When complex z, |z|=1,
T_k(x) = realpart(z^k) = (z^k+z^(-k))/2
(i.e., z=x+i*y)
By *starting* with approximations in the complex domain, Trefethen shows how real Cheby approximations fall out in the wash, instead of appearing on stone tablets handed down from on high. Thus, the choice of x's as x-projections of *evenly spaced* points around the unit circle no longer seems forced -- indeed, it's *obvious*.
A treatment of Cheby's in the *complex* domain also makes obvious the use of FFT's in various calculations involved with Cheby's.
Finally, Trefethen shows in other papers that simply choosing these x-projections of equally spaced points on the unit circle *automatically* achieves the benefits of Cheby's when used for Lagrange interpolation, Newton divided differences, etc. So the problems with Lagrange, etc., aren't Lagrange's or Vandermonde's fault, but the fault of the unfortunate choice of equally spaced x-coordinates.
I realize that Chebyshev polynomial approximations may not have originally been derived this way, but why do we still have to keep teaching them as if the complex domain never existed?
For example, neither
https://en.m.wikipedia.org/wiki/Chebyshev_polynomials
nor
https://en.m.wikipedia.org/wiki/Approximation_theory
even hints at the elegant treatment that a view from the complex plane enables.
http://people.maths.ox.ac.uk/trefethen/publication/PDF/1983_8.pdf
Chebyshev Approximation on the Unit Disk
Lloyd N. Trefethen