An Interview with Bill Schulz
BS = Bill Schulz
GAM = George Michael
Interviewer's Note: The interview that follows,
was conducted over eight years ago. Why it took so long to get published, is a
good and fair question. At that time, as was usual, the interview tape was
submitted to a laboratory Classification Officer. This was to ensure that
Laboratory security policies were followed. Through a series of administrative
disruptions and some plain forgetfulness by me, the interview disappeared �
apparently mis-filed in a security vault. I am indebted to the
Associate Director for Computation, Dona Crawford, and her deputy, Ted Michels,
for the vital assistance needed to rescue this interview from obscurity.
GAM: Today is June 7, 1995, and I'm interviewing Bill Schulz, one of the
first of the first large users of high speed computation. Bill, why don't you
start by telling us where you came from, when did you get your degree, and when
did you come to the Lab.
BS: When I was a child, I never played with children until I was five years old.
The first time I remember playing with kids was when I was in Kindergarten. This
pattern leads to being a loner and is a key to my experiences in Livermore. Being
a loner is good if you want to be a physicist, in my opinion, because you can go
to school and you don't have all these distractions. I had no girlfriends when I
went to school. I went to movies once in a while and read fiction, a great deal
of science fiction, for amusement.
Originally, I wanted to major in physics, but because I thought there wasn't
enough money for me to go to graduate school, I started college as a mechanical-engineer
major. I was sixteen when I first entered Rensselaer Polytech. At eighteen, I
left for two and a half years in the Army. After Army service I spent another
three years at Rensselaer, obtaining my Batchelor's Degree in Physics in 1949. I
applied to various schools. I wanted to go to MIT, but I wasn't accepted there.
Columbia University and the University of Pennsylvania had the easiest
applications to fill out, so I applied to them. Both accepted me. I decided to
go to Columbia as it had a better reputation. When I got there, I found that
they had a simply fantastic faculty. They had people who either had or were
receiving Nobel prizes in physics. I was trained to consider the basic models we
use to describe physical reality.
At Columbia, I had the option of choosing Professor Hideki Yukawa, the Japanese
Professor that Professor Rabi brought to this country after the war. I worked in
non-local field theory for my thesis. I spent five years as a graduate student,
full-time, did no experiments, did nothing else except study French and German.
Yukawa went back to Japan while I was working on the bloody thesis. I finished
the last half of my thesis by myself. I submitted it to the department. I wrote
Yukawa letters but he did not write me back He was head of some institute and
the letters probably never got to him over there. He was a nice man, a very good
professor. One could never find some research professors in their offices, but
at two o'clock in the afternoon, Yukawa was there if you wanted to talk with
him. He was a true physicist. He was interested in modifying the laws of
physics, discovering and exploring the universe.
I took my written exams and I did well. Robert Serber wrote Yukawa, and Yukawa
approved my thesis. I then took my oral exam and I got out! I am probably one of
the few physicists in the world to look for a job after he got his Ph.D.
I did not know if I was going to get the degree or not!
So, anyway, a group from the Livermore Lab happened to come to Columbia on an
interviewing trip and I talked with them. Your professor is supposed to find you
a position, a research associate someplace or other, and start you on the
academic road. I did not know how to find a job, but it turns out that North
American Aviation had a reactor division and they were going to do a liquid-cooled
reactor. I thought I would write them a letter. North American would hire
anybody at that time. They accepted me. I said, "Okay, I got a job offer,
so I can wait a while to hear from Livermore." Livermore did not write me,
and finally I wrote them to say, "Well, you guys, you have got to tell me
what you are going to do with me. Either you are interested in me or you are not
interested in me. If you are not, I am going to take this job with North
American." Finally, they called me and they said they would like me to come
out on an interview trip. So I came to California and I talked to the Lab. I
thought the Lab was closer to the academic world, and Lawrence had a big
reputation. Also, we have these secrets and the bomb, for me, was a beneficial
factor�I had been attached to the staff of a naval amphibious group at the end
of World War II. We were to invade Japan but because they dropped the atomic
bombs, I never got shot at. Hence, working on nuclear weapon was okay by me.
So, I came to Livermore in May of 1955. I talked with Michael May, Ivan Weeks,
and Bob Lelevier. I needed to decide in which of the three groups was I going to
work: Radiation Transport, Neutronics, or Hydrodynamics. Mike has a good
personality and he talks very well, so I thought I would like to join his
Radiation Transport group. But Lelevier came around and said, "We really
need somebody. Mike's got lots of guys; we need somebody in Hydrodynamics."
So I said, "Okay, okay." I joined the Hydrodynamic group. For the
first six months, I studied what was going on and learned the language, trying
to apply the things I learned in graduate school. They were good for nothing,
absolutely nothing! I did nothing useful in six months except learn what was
going on. So, I went to Bob Lelevier and I said, "Bob, please find me
something to do. I tried to use all those things I learned in graduate school,
and they didn't work. So what should I do?"
Bob had me run a hydro problem for a new device May was designing. At this time,
all of our designs largely depended on one-dimensional computer programs. In
this case, I had to take various items from the output of one program and use
them in another code as input items. It turned out that I was not able to
combine the calculations�things didn't mesh. I told this to Lelevier and he put
together a team of Roland Herbst and me. Bob said, "Why don't you guys try
to develop a better program in which you can do the whole problem?" We
said, "Sure!" So, we took to playing around writing difference
equations, and looking at accuracy and stability. This had never been done
before, so there were no guidelines. All of a sudden, things became serious.
Mike had a test date to face, and he needed answers. He couldn't wait. The
administration gave us a programmer, Bob Kuhn, and we started designing and
programming. Bob Kuhn was a good man. He had been working on a compiler with
Kent Elsworth, so we used the compiler on this program. When problems arose,
Kuhn's experience helped find the trouble quicker.
Roland Herbst tutored me on heat flow. In fact, he did a lot of tutoring! I
provided a hydrodynamics program, basically from Lelevier, and also I developed
a language of communication between myself and the programmer. I felt this was a
key thing. I laid it out so that the programmer, who was not a physicist, could
understand what we wanted to do. So, we wrote some things and we started running
them on a computer, and you know, they broke down, and they broke down, but
Roland patched them up. He put in some gimmicks, but the accuracy was lousy.
When one thing went bad, other things also went bad.
GAM: Well, I remember that the first version ran on an IBM 701.
BS: Right. That's the code I'm talking about right now. Roland put in some gimmick
which allowed us to run the computation. They gave us the 701 for all night
long, several times actually. The final time, we stayed until 6:00 A.M. I forgot
to switch the tapes around 2:00 AM. We were using running tapes, and we were
groggy. We ate hamburgers and got indigestion and Roland got a stiff neck from
the air blowing on him while he was standing over the printing machine. Anyway,
we finally got it running well enough so they designed that thing and then we
all got some sleep and recovered from our colds.
After things settled down, Roland and I had meetings in Mike's office, along
with Norman Hardy, Chuck Leith, and Leo Collins.
GAM: Yes, I thought Leo Collins was the first programmer, but you're telling me it
was Bob Kuhn.
BS: Bob Kuhn first, but Leo took over after we ran Mike's problem. Norman Hardy,
Leo Collins (both computation), Roland Herbst (radiation transport), Chuck Leith
(Herb York's group), myself (hydrodynamics) and Mike composed the group. I guess
that's it.
GAM: Awesome.
BS: Yes, it was a good group. Anyway, we all sat in Mike's office and talked about
things. In addition, Leo and I were writing a hydrodynamic code to produce a
more stable scheme, because normal two-dimensional Largrangean hydrodynamics
just stinks. I put four symmetric triangles in a zone and that stabilized
things. Roland came up with a scheme which almost worked. It was unconditionally
stable but it wasn't accurate enough. It wasn't enough to be unconditionally
stable. We called it simple harmonic motion.
GAM: I remember that.
BS: Well, it was second order all right. Roland figured out what was wrong with it.
We needed proper long-wavelength integration. The time step would be too small
if we had to accurately integrate the short wavelength behavior also. Then
Norman came up and produced a better operator.
GAM: That would be characteristic.
BS: When I wasn't around one time, they came up with a triangular
hydrodynamics�really a very nice symmetrical triangular hydrodynamics.
GAM: That was Chuck Leith.
BS: Now, I was sort of at odds with everybody in the group because I had considered
a straight triangular hydrodynamics and I didn't like it because it wasn't
symmetrical. Ray Grandy had taken the quadrilateral zone, added a diagonal to
divide the zone into two triangles, and wrote a successful code. But I said,
"Well, I still don't like it." I said. "Okay, just leave me Leo
and you guys write what you want to write, and Leo and I will write a modified
quadrilateral code. All right?" Well, it turns out Chuck went away to get
his Ph.D. in mathematics, and our meetings stopped. Everyone went off to do
their own thing.
GAM: Didn't Chuck do Simon (a hydrodynamic program based on triangles)?
BS: He didn't do Simon at that time. He did Simon later, after he came back with
his Ph.D. He knocked it off in a hurry, because he is a really smart guy. And he
did the programming himself. He did it in assembly language.
Roland went off to design a bomb based on Mike's device. Leo and I started in on
a 704 code, with Norman observing. One of our troubles was that we lacked a
compiler, so Leo and I decided to use the Fortran I language which IBM was
coming out with on the 704. What we did for six months was to find bugs in
Fortran, and I mean that's literally what we did! We sent the bugs we found to
IBM. At the beginning, IBM would say, "Well, thank you, we'll fix
this." But, after a while, they didn't want to hear about any more bugs.
After six months, we gave up. We said, "To hell with this!" We divided
the code up. Leo took a third of it, Norman took a third of it, and Charlie
Miller, who was there at that time, took a third of it. They coded it in
assembly language. From then on, while I was at the lab, it was always written
assembly language.
We produced this code; all sorts of things kept giving us trouble. The
hydrodynamics wasn't really smooth. It had just a rectangular mesh to fit the
bomb. But, we got it going and people like Dave Hall and Ken Bantell used it for
their designs. It was the first really two-dimensional code of this type. Dave
came around and said it was a great code and it worked fine. And, furthermore,
it agreed with experiments!! This was the second code.
But we could do better than this. I didn't like the hydrodynamics that much�it
wasn't that stable. I came up with a new hydro and with the idea of fireplace
zoning, with which you could do a much better zoning job. This was the start of
the third code (709, LARC or something.) I had now been at Livermore for about
four years. The next few years were spent on version three. By making various
approximations, I finally produced a production version of three.
At that time, I went off on a trip to AWRE in England, and to Europe,
sightseeing. (I'd recently gotten married.) During that trip, ideas came to me
concerning some problems that had bothered me in version three. I went back to
version three, and I said, "I think I know how to do this computation
now." I did some pencil and paper stuff that said it might work.
Everything's a mass of compromises on compromises. Difference equations!! There
is nothing exact about them whatsoever. So, I started modifying version three.
After some struggles, it ran. I called this code version four.
Anyway, we made changes on changes and it turned out that some of them don't
matter a damn! I spent four years of my life, I swear, trying to put one thing
in correctly. And it turned out that when you're running a real problem on a
computer, it doesn't matter. The zoning was such that a gross approximation
dominated.
By this time, it was about eight years and I was tired of computers! Oh man, I
couldn't stand the code anymore. There was only a minimum of intelligent code
writing. Most of the time, it was hunting bugs. I'm a bug hunter deluxe. I run
my test problems over and over and over, and I find these damned bugs. I spent
twenty years with computers and maybe fifteen of them, at least, just hunting
bugs. My programmers would produce a code and we would get the bugs out and it
would run fine. Then I would tear it up and throw it away. I wore out
programmers.
So, I wanted to do some publishable stuff. I wanted to go back to what I did in
graduate school. I wanted to redo the stuff in graduate school and try to take
out the mathematical kinks in Quantum Field Theory. The mathematics of field
theory stink. I wanted to try constructing a field theory which a mathematician
could look at and say, "Well, maybe it's sensible." You see, when a
mathematician looks at free field theory, which is good for nothing because it
doesn't interact with anything, he says it is O.K. When you put an interaction
with two different particles in, it's wrong. It's simply wrong. Julian Schwinger
came out with renormalization, and that was wrong, too. No mathematician has
ever said it was sensible. Actually you don't have to be a mathematician.
The lab let me pursue this problem of making a mathematically sensible field
theory. What I did was to take Quantum Mechanical ideas as dominant and down
graded Special Relativity. The resulting theory was remarkably different from
standard field theory. No one would publish it. This was the start of things
going bad. The lab was restructured. I produced some simple hydros for a couple
of other codes and started looking for the discrepancy that had shown up between
calculations and experiment, and also to improve the calculations in the basic
code I originally spent those first eight years on. Generally speaking, I didn't
fit into the new laboratory, so this is a good place to end this interview with
you, George.
Here are some final comments on efficiency in research. In graduate
school, I studied field theory for maybe one and a half years. Then my thesis
took about an additional year. The thesis was an attempt to remove the high
momentum divergences by using finite-sized particles. It died on the altar of
special relativity. While it was published, it had no influence at all on field
theory. The field theory research I did while employed by the lab was based on
taking quantum mechanical ideas as dominant when there was a conflict with
special relativity. This approach provided an electrodynamics astonishingly
different from standard quantum electrodynamics. Special relativity and quantum
mechanics are inconsistent and any attempt to marry them produces gibberish. I
never succeeded in getting it published. The influence on the physics
profession, zero!
Now let's go to some of my practical work in code development. I
spent about eight years to produce version four. Of these eight years, about
four were spent trying to correctly introduce some effect into my difference
equations. It was a real effect and showed up clearly in a test problem. In a
real production problem, it had zero effect. Four years wasted!
Hindsight is great. In those eight years are also the first six months I spent
studying the weapons business and also the six months we spent finding bugs in
Fortran I. To me, the idea that one can do efficient research is
simply absurd.
GAM: Bill, I would like to thank you for taking the time to talk with me and for providing us with some beautiful
insights about some of the earliest computer applications to physics.
Interviewer's Note Added: I apologize to Dr. Schulz for this unseemly delay and emphasize that the delay, however unintended, has not detracted from the freshness of the insights he has provided.