Feynman and the most remarkable formula in mathematics
I am the kind of silly person who spends a minor fortune on books which I know I would never read beyond the first few pages. During my pre-degree days, I had purchased the first volume of the famous Feynman Lectures on Physics under the mistaken belief that the book will take me on the path towards becoming a Physics guru - I very soon realized that I lacked sufficient number of those `little grey cells' necessary for the fulfillment of such a grandiose plan. Like most of my other books, the famous Feynman Lectures too gathered dust on the bookshelf. I reopened the Feynman Lectures yesterday after seeing a comment made by Krishna to one of my earlier LJ posts; Krishna was talking of the great teacher that Feynman was. During my college days, I had noted down chapter 22 as being the only part of the book I might be able to understand at least a little bit - I felt tempted to verify this conjecture. Chapter 22 is titled `Algebra'. Feynman starts it with this paragraph: In our study of oscillating systems, we shall have occasion to use one of the most remarkable, almost astounding, formulas in all of mathematics. From the Physicists point of view, we could bring forth this formula in two minutes or so and be done with it. But science is as much for intellectual enjoyment as for practical utility, so instead of just spending a few minutes, we shall surround the jewel by its proper setting in the grand design of that branch of mathematics called elementary algebra. The `remarkable' formula which Feynman is talking about is the famous Euler equation of complex analysis: The formula is interesting in the sense it demonstrates some intimate connections between geometry and algebra; any college level math textbook would give you cookbook proofs of the same. Feynman chose to uncover this equation using a completely different approach; something which you might call a `logical-numerical' experiment. This is interesting because it makes mathematics much more concrete and experimental, something which people like myself who are not comfortable with abstract thought appreciate a lot. It's also an approach which can exploit the power of the digital computer. I will try to present the concluding parts of Feynman's `proof' as a series of simple Python programs; interested readers will enjoy going through the whole chapter of `Feynman Lectures' (what I have written does not in any way show you the full beauty of Feynman's presentation - for that you have to *definitely* read the chapter - it builds upon some very simple ideas to ultimately prove something dramatic)
Square roots of 10Taking square roots is simple - here is a simple Python script which will print 10**(1/2), 10**(1/4) etc ... (** is Python exponentiation)
i = 1 MAX = 2**15 while i <= MAX: s = 1.0/i print 10**s, (10**s - 1) / s i = i * 2Here is the output:
10.0 9.0 3.16227766017 4.32455532034 1.77827941004 3.11311764016 1.33352143216 2.66817145731 1.15478198469 2.47651175503 1.07460782832 2.38745050628 1.03663292844 2.34450742001 1.01815172172 2.32342037993 1.00903504484 2.31297147941 1.00450736425 2.30777049828 1.00225114829 2.30517585194 1.0011249414 2.30387998695 1.0005623126 2.30323241865 1.00028111679 2.30290872549 1.00014054852 2.30274690166 1.00007027179 2.30266599543As we take repeated square roots, the result gets smaller and smaller. The second column output is interesting; it seems to be converging. Printing a few more terms shows that it does converge to 2.30258. Note that this number is obtained by performing the calculation:
(10**s - 1)/sSo, we can say that for small values of `s',
10**s = 2.3026 * s + 1
Stumbling upon `e'Looking at the pattern:
10**s = 1 + 2.3026 * swe might be tempted to search for a more `beautiful' pattern.
10**(s/2.3026) = 1 + (2.3026 * s)/2.3026 = 1 + s 10 ** (1/2.3026) = 2.7182 2.7182 ** s = 1 + sWhat is this 2.7182 - it's our `e', base of the natural logarithm, one of the fundamental mathematical constants! We have somehow or other stumbled upon this number during our square-root taking experiment!
Raising `e' to an imaginary powerWe know that
e ** t = 1 + tfor small values of `t'. Let's `suppose' that:
e ** (i*t) = 1 + (i*t)(`i' has it's usual meaning - square root of -1) Let's take `t' to be 0.00628. So, e ** (i*t) will be close to:
1 + i * 0.00628Now, we will compute (e ** (2*i*t)), (e ** (3*i*t)) etc by repeatedly multiplying (1 + i * 0.00628) by itself (fortunately, Python has a `complex' data type which simplifies things for us). Each of the resulting complex numbers will be appended to a list. We will then extract the real and imaginary parts of these numbers into two extra lists and plot them on to the screen (using the matplotlib library). Here is the code which does this:
from pylab import * m = 1.0 + 0.00628j i = 0 s = 1 a =  while i <= 1000: print s a.append(s) s = s * m i = i + 1 a = complex(a) x = map(lambda c: c.real, a) y = map(lambda c: c.imag, a) plot(x) show() plot(y) show()And here is the plot displayed for the imaginary part: which is nothing but a sine curve! Plotting the real part would give us a cosine curve! This is really interesting; it appears as if the sine and cosine have sprung up from nowhere! Feynman doesn't discuss the issue further - but he has indeed given us an interesting `experimental proof' of the euler equation:
e ** (i*t) = cos(t) + i * sin(t)
The Euler identityIf we set t = PI in the Euler equation, we have the identity: Many people (including Feynman) find this identity to be exceptionally interesting as it links together some of the most important constants of mathematics (0, 1, i, PI, e)
The importance of experimentsApplied math is an experimental science - and it should be taught that way. I am not talking about a methodology which lacks any kind of rigour and works on the basis of `assumptions', but rather a technique of teaching which starts from intuition and the appreciation of patterns and moves over to more rigorous `proofs'. A digital computer can be a marvelous teaching aid for learning experimental math. Many people are actively involved in researching such a teaching paradigm; Kirby Urner and his Math through Python work is something which I have found very interesting.
Closing quoteHere is what Feynman says: When we began this chapter, armed only with the basic notion of integers and counting, we had little idea of the power of the process of abstraction and generalization. Using the set of algebraic `laws' or properties of numbers, Eq.(22.1) and the definition of the inverse operations (22.2), we have been able here, ourselves, to manufacture not only numbers but useful things like tables of logarithms, powers and trigonometric functions (for these are what the imaginary powers of real numbers are), all merely by extracting ten successive square roots of ten!
Mon Jan 21 03:10:15 2008
eulers equation seems to be more beautiful now
Thu Oct 15 10:32:31 2009
feynman actually shows we only need the square root function - which is easy - and after a few steps hardly necessary - a first guess of (a-1)/2+1 being close enough. i feel one should not use python' s more general exponentiation operation to demonstrate the procedure
San Francisco Fan
Sun Oct 5 16:57:57 2008
The beauty is that our Creator has laid down the foundations of the universe in very careful fashion. That we might glimpse the work of His hands is what gives joy to our hearts. To find that we can understand the thoughtful design amid the complexity gives us the drive to continue to discover.
Thu Oct 29 08:46:57 2009
nice pramode, if the students are made to appreciate this jewel then many of the topics engineering would not have been boring to them