R.
William Gosper

EMPLOYMENT
1992 1999 Senior Member of Technical Staff, Macsyma Inc.
Automatic complex numeric simplification, closed forms for infinite
series, greatly enhanced powerseries expansions, trigonometric
simplification, simplification of expressions with unspecified
integers, automatic numeric precision setter for inequalities
involving constants, performance enhancement of arbitrary precision
numerics, simplification of expressions with discontinuous factors,
highly flexible difference equation solver, implementation of
special functions (e.g., Lambert_w, polylogs, polygammas, ...,
both numeric and symbolic),
series, product and integral manipulation tools (range folding
and reversing, variable changing, combining, expanding, byparts,
limit interchanges, ...), world's nicest package for manipulating
factorials, radical denesting, fft, Eulerian, Stirling, Euler
and Bernoulli numbers, nth derivatives, complex and rational numerics
of the underlying Lisp, plot coloration logic. Much of this effort
has yet to be installed in a commercial product.
1989  1992 Consultant to Symbolics MACSYMA group.
Performance enhancement of primes, factoring, and other special
functions. Implementation and extension to complex domain of numeric
and some symbolic hypergeometric functions.
1989 1992 (Intermittently) Consultant to Wolfram Research,
Inc.
Hypergeometric numerics, algorithms, graphics, feature suggestions,
bug tickling. Also did the demos for IBM's rollout of Mathematica
on the RT.
1988  1989 Consultant to Symbolics.
Continuation of previous R&D projects. Kibitzed some on Knuth's
"Concrete Mathematics."
1982  1988 Research Scientist, Symbolics, Inc.
Experimental mathematics, numeric and symbolic algorithms, mathematical
graphics. Many, largely unsupervised R&D projects, including
mathematical graphics animations, algorithms for fractals, speedups
for various functions, formulas, random number generators, and
even the Symbolics Lisp arithmetic, the latter in conjunction
with temporarily stealing the pi computation record from Japan.
Held the continued fraction record until quite recently. Extensive
use (and abuse) of MACSYMA in pursuit of my own research, chiefly
in infinite series, products, continued fractions, and higher
recurrences.
Amassed a large number of performance enhancements and extensions
to MACSYMA, relatively few of which thus far have been incorporated,
due to chronic understaffing of the group. Published several papers,
gave several invited conference talks, and corresponded extensively
with about two dozen mathematicians in related fields. Wrote and
presented MACSYMA demos, mostly at Palo Alto, but one at Arizona
State. Troubleshot for a few customers. Apparently retained the
championship for filing most MACSYMA bug reports. Wrote major
MACSYMA package for infinite series and products, and extended
the finite series algorithm, extended HashLife.
1981  1982 Mathematician and programmer, S1 Project,
Lawrence Livermore Labs Implemented (in MACSYMA) a fancy Remez
algorithm for optimal univariate approximation. Contributed unpublished
acceleration formulae (developed on MACSYMA) for their laser physics
codes. (Well, they never actually said what they wanted them for!)
(And I gave them a really interesting Bernoulli number recurrence,
which may have been lost.)
1977  1981 Xerox PARC.
Graphics and math research in SmallTalk, Mesa, and Lisp. Extensive
use of MIT MACSYMA over the network. Found many identities, developed
qtrigonometry, found first simulation spacetime compressor currently
known as HashLife, extended matrix rearrangement calculus. Proselytized
Howard Cannon's Flavor (object oriented programming) system.
1974  1977 Research associate and lecturer, Stanford University
Came West (as research assistant) to help D. Knuth on 2nd edition
of "Seminumerical Algorithms," Volume 2 of "The
Art of Computer Programming."
This is the volume most relevant to MACSYMA. Look me up in the
index.) Did an NSF grant with Knuth as P.I. Taught my rearrangement
calculus to his grad students for one term. Found the hypergeometric
decision procedure MACSYMA's NUSUM). Simplified arithmetic of
continued fractions, developed rearrangment calculus into path
invariant matrix method.
1966  1974 Staff, MIT Division of Sponsored Research, at
AI Lab
Worked on robotics, math, and algorithms. Coauthored HAKMEM.
Worked with Schroeppel and Salamin on what came to be known as
complexity theory. (The Japanese still use Salamin's pi algorithm.)
Found algorithms for continued fraction arithmetic. Discovered
series rearrangement calculus. Led world in number of MACSYMA
bug reports. Wrote (in Lisp) MACSYMA's fibonacci and integer factor
loops. Wrote (in machine language) MacLisp's bignum GCD algorithm
(for guess which application).
Was defacto in charge of MacLisp before Jon L. White (while Greenblatt
was preoccupied). (E.g., added the feature that AND and OR can
return nonBooleans.) Wrote first GRINDEF (i.e., first prettyprinter
which measured string lengths ((LENGTH (EXPLODE ...))!), and knew
where it was on the page. Microoptimized code (too much). Wrote
display hacks,
(mathematically motivated abstract animations), one of which led
Schroeppel to discover the algorithm for "integer linear
programming" (the "number recognizer"), which Mathematica
delivers under the name LatticeReduce. (I still use a version
that I hand tuned, from a translation to Lisp by Bruce Edwards
(just prior to the 2nd MACSYMA Users' Conference), from a MACSYMA
implementation by Robert Maas, from an informal description by
Schroeppel!) Played atrociously long at the Life automaton (See
BBC special) (found first glider guns and puffer trains, independently
sketched universalization nearly identical to Conway's).
1965  1966 Consultant to AI Lab from Charles Adams Associates
Did eyetracking, robots, and finite (noncellular) automata for
Minsky and Papert.
1961  1964 (summers) Antisubmarine Warfare Lab, Naval
Air Development Center, Johnsville, Pennsylvania.
Tried (and failed) to cure them of UNIVACuousness. Wrote them
an online symbolic debugger.
EDUCATION
1974  1976 Took a course or two from Bob Floyd at Stanford, then
gave one.
1961  1965 BS in Mathematics, MIT.
1963  1972 Technology Model Railroad Club. Where I learned the
most.
PUBLICATIONS AND TALKS
*2001
"Experiments and discoveries in qTrigonometry" in proceedings
of 2000 U. Florida (Gainesville) conference: Symbolic Computation,
Number Theory, Special Functions, Physics & Combinatorics,
(Garvan & Ismail, eds.) pp79106.
*1999 Website: www.tweedledum.com/rwg/index.htm (plus various
unindexed pages). Mostly Macsyma notebooks of mathematical vignettes
and graphics. Text of old, unpublished continued fraction arithmetic
paper.
*1998 Invited talk, Mt. Holyoke conference: AMSIMSSIAM Joint
Summer Research Conference on qSeries, Combinatorics, and Computer
Algebra,
June 2125.
*19982000 As a result of significant qseries and qproduct performance
enhancements I gave to Prof Sergey Suslov at Arizona State, he
got so excited that he listed me as a coauthor at least twice.
Please disregard.
*1996 (Pub 1997) Invited talk ("How I find funny looking
formulas") Fields Institute Conference (U. Toronto) on Special
Functions, qSeries and Related Topics (Ismail, Masson & Rahman,
Eds.) Paper: "Integral from n/4 to m/6 of ln Gamma(z) dz"
(in formula form)
*1993 Paper (with Ismail and Zhang): On some strange summation
formulas, Illinois Journal of Mathematics, Vol 37 #2.
*1991 Paper and invited talk: LISP + Calculus = Identities, in
Artificial
Intelligence and Mathematical Theory of Computation (papers in
honor of John McCarthy). (There were to be a lot of graphics and
formulae in my section of Mathematical People, Volume 2, but the
New York editors took them out in response to S. Hawking's remark
that every formula reduces book sales by a factor of 2.)
*June 1989 Invited speaker, MIT Computers in Mathematics Conference.
*1989 Color cover illustration, 19891990 Publications catalog
of Math. Assoc. of America.
*1989 Several mentions in Martin Gardner's "Penrose Tiles
to Trapdoor Ciphers."
* Nov 1988 Color graphics in OMNI (pp 124125).
* 1988 Cover illustration for Mark Kac's "Statistical Independence
in Probability, Analysis, and Number Theory."
*Jun 1987 Invited speaker, Ramanujan Centenary Conference, University
of Illinois, Urbana. Quoted in Science. "Some Identities,
for Your Amusement" in the proceedings: "Ramanujan Revisited."
*1986 Stanford live animation demo: fractal texture zoom, continued
fraction zoom, countexemplary function zoom, epicyclic Fourier
syntheses, Paper: (unrelated) "Strip Mining in the Abandoned
Orefields of 19th Century Mathematics," Proceedings of the
Computers in Mathematics Conference, (Chudnovsky, Jenks Eds.)1984
Invited talk, NYU Computers in Math Conference
*Jan 1984 "Exploiting Regularities in Large Cellular Spaces,"
Physica D, Volume 10. Invited talk from March 83 Los Alamos Cellular
Automata Conference.
*1983 Dust jacket and some interior illustrations for Martin Gardner's
"Wheels, Life, and Other Mathematical Amusements."
*Jan 1978 "Decision procedure for indefinite hypergeometric
summation," Proc. Natl. Acad. Sci., pp 4042.
*1977 "Indefinite hypergeometric sums in MACSYMA," proceedings
of the first MACSYMA Users' Conference (Berkeley).
*1976? "A calculus of Series Rearrangements," invited
talk, CMU. Proceedings (Algorithms and complexitynew directions
and recent results) edited by J. Traub.
*1974 "Acceleration of Series," MIT AI Memo 304.
*1972 (with Beeler, Salamin, & Schroeppel) HAKMEM, MIT AI
Memo 239.
*1975  Present: Whenever I collect a few pages worth of interesting
results, I TeX them up in a letter to various interested parties,
some prominent, some not. Quite a few, in email form, have made
it onto the Internet. Search Gosper (minus County, minus Nebraska!)
Among my favorite findings:
k
====
\ tan(a) tan(a k)
> atanh  = atanh ,
/ pi j tan(b k)
==== tan( + b)
j = 1 k
oo
====  3 2
\ 1 9 e pi
>  cos  =  ,
/ 2 2 2 12
==== n sqrt(pi n  9) + pi n
n = 1
n n n
==== ==== k  1 /===\
\ \ ( 1)   k  j
sin( > a ) = >    2 sin(a   pi),
/ k / 2 n   j n
==== ==== j = 1
k = 1 k = 1
2 k + 1
oo i pi  oo 1
==== 260 /===\ k + 
\ e   2 2 2
>    (1  tan( pi)) =  pi .
/ 2   n 9
==== (2 k + 1) n = 1 ( 2)
k =  oo
 