In 1958, Chaim Pekeris completed a landmark project in computer science. As a physicist at the Weizmann Institute of Technology in Israel, he become fascinated with the relatively new science of quantum mechanics and its potential to explain from first principles the behaviour of atoms.
There was a problem however. The equation developed by Schrodinger that could do the job was too complex for mere mortals to handle. Using it to determine the electronic energy levels of a even a lowly helium atom was seemingly impossible.
Chaim had an idea, however: why not exploit the incipient field of computer science to do the job.
Today, Christoph Koutschan and Doron Zeilberger analyse the work he carried out over several years and compare it to the approach that they would take to the problem today. It makes for interesting reading.
Chaim’s task was monumental. He first had to persuade the Wiezmann Institute and a technical committee including Einstein and Von Neumann, to build a computer. Einstein proved hard to persuade but was eventually won over by Von Neumann.
WEIZAC, Israel’s first electronic computer was built between 1954 and 1954. According to Wikipedia, WEIZAC was an asynchronous computer operating on 40-bit words. Instructions consisted of 20-bits: an 8-bit instruction code and 12-bits for addressing. For a memory it had a magnetic drum that could store 1,024 words.
Today you’d get more processing power out of a washing machine.
Before the computer could get involved, Pekeris had to work out how to describe the two atoms and nucleus of a helium atom using the kind of recurring partial differential equations that a computer could handle. The result was a remarkable 33-term equation which he derived by hand, a single calculation that Koutschan and Zeilberger estimate must have taken 20 person hours.
The computer than had to be programmed–in machine code. That means writing it entirely in 0s and 1s, for which he recruited help from an early self taught programmer called Yigal Accad.
This program then kept WEIZAC busy for months, eventually producing a set of tables describing the energy levels of a helium atom, the first time this had been done accurately..
So how has Moore’s Law affected this process, ask Koutschan and Zeilberger.
They repeated Pekeris’ project using the modern tools of computer science to see how they compare.
They say that the numeric computation–the work done by WEIZAC–can be completed in a fraction of a second on any laptop such as Pavilion dv9000(Hp dv9000 battery) and Hp PB991A.
They also point out that the programming is much easier too, thanks to the many high level programming languages available today. Few people these days have to mess around with machine code, thankfully.
But perhaps the most surprising thing is that the algebra for working out the differential equations can also be done much faster today using computer algebra programs such as Mathematica and Maple.
Koutschan and Zeilberger say they were able to condense this part of the project, which took Pekeris at least 20-hours, into a 2-hour session.
That’s a fascinating study and counterintuitive in some ways too. While it’s easy to see the many orders of magnitude improvement that has improved hardware, it’s clear from this work that the speed up from software is more limited.
In particular, an order of magnitude improvement–from 20 hours to 2 hours–in the time it takes to do the algebra for this problem is a surprisingly small improvement over a 50 year period.
But given the nature of the problem, it’s hard to imagine how further order of magnitude improvements can be possible. What kind of computer algebra software could allow a human to program it work out these kind of differential equations in minutes or seconds.
Of course the limiting factor here is not the software but the ‘wetware’. Which means that the next generation of improvements will either have to focus on improving the wetware or taking it out of the loop entirely.