R. William Gosper


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, by-parts, 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 math-ematical 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, S-1 Project,
Lawrence Livermore Labs Implemented (in MACSYMA) a fancy Remez algorithm for optimal univar-iate 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 q-trigonometry, 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. Co-authored 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 de-facto in charge of MacLisp before Jon L. White (while Greenblatt was preoccupied). (E.g., added the feature that AND and OR can return non-Booleans.) Wrote first GRINDEF (i.e., first prettyprinter which measured string lengths ((LENGTH (EXPLODE ...))!), and knew where it was on the page. Micro-optimized 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 eye-tracking, 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.


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.


*2001 "Experiments and discoveries in q-Trigonometry" in proceedings of 2000 U. Florida (Gainesville) conference: Symbolic Computation, Number Theory, Special Functions, Physics & Combinatorics, (Garvan & Ismail, eds.) pp79-106.

*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: AMS-IMS-SIAM Joint Summer Research Conference on q-Series, Combinatorics, and Computer Algebra,
June 21-25.

*1998-2000 As a result of significant q-series and q-product performance enhancements I gave to Prof Sergey Suslov at Arizona State, he got so excited that he listed me as a co-author at least twice. Please disregard.

*1996 (Pub 1997) Invited talk ("How I find funny looking formulas") Fields Institute Conference (U. Toronto) on Special Functions, q-Series 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, 1989-1990 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 124-125).

* 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 40-42.

*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 complexity--new 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:
\               tan(a)            tan(a k)
 >    atanh ------------- = atanh --------,
/               pi j              tan(b k)
====        tan(---- + b)
j = 1            k

====                                      - 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