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,
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
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
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
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
(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
1961 - 1965 BS in Mathematics, MIT.
1963 - 1972 Technology Model Railroad Club. Where I learned the
PUBLICATIONS AND TALKS
"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
*1998 Invited talk, Mt. Holyoke conference: AMS-IMS-SIAM Joint
Summer Research Conference on q-Series, Combinatorics, and Computer
*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.
*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
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
*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
*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