Tuesday, January 8, 2013, would have been George Forsythe's 96th birthday. He passed away in 1972 at the age of 55. A pioneer in the establishment of computer science as an intellectual discipline, he was my Ph.D. thesis advisor, colleague, and friend.
George Elmer Forsythe was born in State College, Pennsylvania, in 1917 and moved to Ann Arbor, Michigan, when he was a small boy. He went to Swarthmore as an undergraduate, where he majored in mathematics, and then to Brown for a Ph.D., also in mathematics, which he received in 1941.
Forsythe served in the Air Force in World War II. Working there as a mathematician and meteorologist, he developed some of the first methods of numerical weather prediction. He is the coauthor of an early textbook on numerical meteorology.
After the war, the National Bureau of Standards, with funding from the Office of Naval Research, sponsored the development of two electronic computers. The one on the west coast, at UCLA, was known as the SWAC, for Standards Western Automatic Computer.
The INA, the Institute for Numerical Analysis, was established at UCLA in 1947 to support the SWAC. Forsythe was one of its principal members.
Our photo, taken at UCLA sometime in the early 1950s, shows Forsythe in the center. Olga Taussky-Todd is the only woman in the photo and her husband, John Todd, is in the back row peering out between George and Olga.
The other institute members in the front row are Mark Kac, who would later ask if one could hear the shape of a drum; J. Barkley Rosser, who created the amazing rosser test matrix in MATLAB; Wolfgang Wasow, who would later coauthor a seminal book with Forsythe about the numerical solution of PDEs; and Magnes Hestenes, coinventor of the conjugate gradient method.
The INA was dissolved in 1953 as collateral damage from political scandals at the Bureau of Standards involving McCarthyism and congressional hearings about battery additives. The Todds moved a few miles across Los Angeles to Pasadena and Caltech and Forsythe moved a few hundred miles north to Palo Alto and Stanford.
I enrolled in Caltech in 1957 and a couple of years later was taking courses from John Todd. He introduced me to matrices, numerical analysis and computing and set me in the direction that brought me to where I am today. Olga would occasionally guest lecture in John's classes on her specialty, matrix theory.
One quarter in my junior year I got a B- in advanced calculus and an A+ in numerical analysis. I never looked back. When it was time to go to grad course, Todd recommended Stanford and his friend George Forsythe. I didn't apply anywhere else.
In 1961 Forsythe was a math professor at Stanford. Computing was just a master's degree specialization within the math department. I am not sure if it was even yet called "Computer Science". But Forsythe and others could see the need for a full fledged academic program, department, and discipline. They wanted to see Stanford appoint faculty and offer courses in new fields such as artificial intelligence and programming languages that certainly were not research mathematics.
So in January, 1965, the Stanford Computer Science Department was born. Forsythe was its founding department chairman and remained head until his death seven years later.
Today Stanford Computer Science is famous as the incubator for Google, Yahoo, and many other not-so-famous Silicon Valley commercial successes. But at their 50th anniversary celebration Stanford's president John Hennessy, himself a CS professor, reminded his audience that the department also deserves to be known for its some of its world renowned academics who did not start companies, including John McCarthy and Donald Knuth. These professors were recruited by George Forsythe.
Forsythe not only started Computer Science at Stanford, he was one of its advocates as an academic and intellectual discipline nationally and internationally. He served as president of the ACM early in its history. He was an editor of several journals. He was asked to advise other universities. He wrote influential articles and letters.
Shortly after Forsythe's death, Donald Knuth wrote, "It is generally agreed that he [Forsythe], more than any other man, is responsible for the rapid development of computer science in the world's colleges and universities."
load gatlin image(X) colormap(map) axis image axis off
This photo is one of the very first images distributed with MATLAB. The photo, taken in 1964, shows the organizing committee of the Gatlinburg conferences on numerical algebra. All of these men were to have some influence on the development of MATLAB. From left to right are:
- James Wilkinson, matrix computation
- Wallace Givens, plane rotations
- George Forsythe
- Alston Householder, elementary reflections
- Peter Henrici, complex algorithms
- F. L. Bauer, Algol 60
Householder was head of computing at Oak Ridge National Lab and a professor at the University of Tennessee in Knoxville. He organized the first two conferences on numerical algebra in the early 1960s. The meetings were held in Gatlinburg, Tennessee, which was then a lovely, small resort town in the Smoky Mountains.
These were intensive, week-long, research workshops with attendance by invitation only from this committee. When it came to organizing the third Gatlinburg conference in 1964, Forsythe wanted to invite one of his graduate students -- me. But the other committee members objected, students had not been invited to the previous meetings. I understand that Forsythe said if Moler could not come, neither would he. So I was invited. I was the only student there, among 40 or 50 of the most important people in my field. It was one of the most significant events of my professional career. And I was only 25 years old.
An Oak Ridge photographer took 8-by-10 black-and-white glossy photos. I kept the one of the organizing committee. Twenty-five years later we scanned it in to become a MATLAB, and Internet, classic.
After Householder retired, the committee evolved, and the locations changed. The meetings are now called the Householder Conferences and are held every four years. The locations alternate between North American and Europe. Attendance is still by invitation only, but anybody can apply. The next conference will be Householder XIX in June 2014, in Belgium, hosted by Universite catholique de Louvain and the Katholieke Universiteit Leuven.
Forsythe served as advising editor of the prestigious Prentice-Hall Series in Automatic Computation. He solicited manuscripts from many influential authors. With more than 75 titles published in the early years, this series helped define the Computer Science discipline. The distinctive red and white dust jackets can still be seen on many library shelves.
Two of the books in the Prentice-Hall series were by Forsythe and Moler, and by Forsythe, Malcolm and Moler. Before I was known for MATLAB, I could meet people at conferences and say, "You know those books by Forsythe and somebody, well I'm that somebody."
The Forsythe and Moler book, "Computer Solution of Linear Algebraic Systems", evolved from notes for the second quarter of a two-quarter basic numerical analysis course that Forsythe taught in the early 1960's and that I taught in 1965. The first quarter used a text by Peter Henrici that covered all of the material in our syllabus except matrix computation. The notes that George had written for the second quarter eventually became the book.
I wrote programs DECOMP and SOLVE that implement column-oriented Gaussian elimination in three languages, Algol 60, Fortran, and PL/1. When I was working on the book, the year was 1966 and Algol, the International Algorithmic Language, was the generally accepted standard for publishing mathematical material. Fortran was already over 10 years old and we didn't expect it to last much longer. PL/1 had been developed recently by IBM and we thought it might represent the future. You can see how accurate those predictions turned out to be.
The Forsythe, Malcolm, and Moler book, "Computer Methods for Mathematical Computations", had a longer incubation period. After I left grad school at Stanford, Forsythe started a more elementary course in numerical methods intended for engineers and other students outside of math and computer science. The course centered around a collection of well written mathematical software. Mike Malcolm was his teaching assistant.
Forsythe fell ill before he and Malcolm could refine their course notes into a book and they asked me to help complete the project. The reviewers of our first draft said that it read like it was written by three different authors who never read each other's chapters. They were right. It took Mike and I five years to smooth out the exposition, by which time we had rewritten much of the software. And, oh yes, it was 1977 and the clear choice for programming language was Fortran.
Forsythe was a great believer that published computer programs should be a means of scientific discourse between humans, as well as a means of controlling machines. He would read and edit code as carefully as he would prose, which was very carefully. One of the biggest reasons these two books were as successful as they were was because the programs in them were not only useful and correct, they were short and readable.
One of Forsythe's most important legacies is his students and his students' students. The Forsythe Tree has George at the root and links that are Ph.D. theses. There are 17 first-level nodes, one of which is me. The version on the Web is 10 years old and woefully out of date. Even this version has a depth of five or six and over 200 nodes. There are dozens of university professors and several deans, provosts and presidents. I suspect that a current version might be almost twice as deep and have several hundred nodes. It reaches far into academia and industry throughout the world. We should bring the tree up to date.
George never got to see MATLAB. He passed away before its birth. He would have loved it.
Knuth, Donald E. (1972). "George Forsythe and the Development of Computer Science". Communications of the ACM 15 (8). knuth-on-Forsythe-1972-CACM.pdf.
要发表评论，请点击 此处 登录到您的 MathWorks 帐户或创建一个新帐户。