Richard J. Fateman

Richard J. Fateman


Professor Emeritus, Computer Science
University of California at Berkeley
(510) 642-1879
fateman at cs.berkeley.edu
1994 photo. Click here to see earlier photo (1988)

Office:
789 SODA HALL #1776
Computer Science Division, EECS
Univ. Calif at Berkeley
Berkeley CA 94720-1776

My interests include scientific programming environments; algebraic manipulation by computer (programs like Macsyma, Mathematica, Maple, Axiom, Reduce); distributed computing; analysis of algorithms; programming and measurement of large systems; design and implementation of programming languages; digital document analysis (optical character recognition).

Interested in applying to graduate school in EECS? You need not contact me, but should follow this link instead.

Computer Algebra

There is a public ftp repository of programs, papers, and reviews written by my students and myself. I've linked a subset of them here: Berkeley computer algebra papers. Some pointers to other work in symbolic mathematical computing can be found by visiting SymbolicNet or CAIN, a European consortium.

We used to run a symbolic integral look-up service called TILU, but the chasing after various hosts for it has become tiresome. TILU has lasted through about 4.
You can also get a copy of 2171 integrals that TILU can do, and see if you can do them all, and if you can do them faster. This table combines many simple examples (for timing) and a few harder ones near the end (for challenges). This is a preliminary version, and doesn't include that much of the literature on integration yet. Here's the list of examples as of May 23, 1996. It is 163k bytes. We have a file with the answers too, naturally. Our answers may be more cautious than those that come out of a computer algebra system. For example, our answers will sometimes include variations that depend on constraints on the parameters in the integrand. If you wish to host TILU locally, the source code is available.

Computer algebra fans may also wish to see work done by my colleague John Canny and his students, which in the past has included applications of algebraic algorithms.

Other work at Berkeley by CS faculty in scientific computing can be found by following the links to their home pages: James Demmel, Jonathan Shewchuk, and William Kahan. There are a host of other faculty at Berkeley in other departments with related interests (math, engineering, astronomy), as well as nearly activities at Lawrence Berkeley Lab.

Some visitors to this page have been directed here because of an interest in a Common Lisp package and libraries called Mockmma. To the user, this somewhat resembles Mathematica (tm), but has the advantage of being totally open (full source code). One can manipulate polynomials in several variables over the integers, rational functions, and a variety of other mathematical objects. Manipulations include simplification, differentiation, integration, evaluation, pattern matching, etc. While I'm pointing to old software, here's where you can get a free copy of the final (1982?) university release of Franz Lisp Opus 38.92 for VAX. I don't know why you would want this old stuff, but the university software distribution office has closed and they left a copy with me.

Optical Character Recognition

You might wish to visit Berkeley OCR/math papers for a collection of OCR and document structure analysis work we've done here. Of some interest to people looking for a "free" project, look at an ambitious senior project OCR program using C++, Tcl/TK, visit OCRchie.} Some of our work is specifically addressing mathematical formulas, so you might wish to see a few scanned equations to see what this is about. We also have a brief discussion on an OCR equation-recognition challenge .

A somewhat broader view of the problem of encoding scientific documents is given in the working paper More Versatile Scientific Documents. This is a text more-or-less related to the slides I used, at the ICDAR97 conference in Ulm, Germany. You might prefer to browse through the continually changing link page on this topic.

Even more generally, if you want to learn what we are doing in terms of digital library activities at Berkeley, see the digital library project home page.

More recently we've looked at dynamic entry of handwritten symbols, specifically for mathematics, using a tablet and stylus (or a Tablet PC), and/or speaking mathematics. Yes, you can dictate math to a computer, and it is surprisingly easy to do, in some ways, compared to handwriting. Try getting a handwriting recognizer to understand "bold Greek theta". Yet you can speak it easily. See the current status of Math Speak and Write project and related papers, also on-line. For general information on OCR, there is considerable material in the open literature. You might look for the Handbook of Character Recognition and Document Image Analysis by H Bunke, P S Wang.

Software Engineering

Although I don't write much about software engineering, I have written out some speculation on what could be done to make software more reliable in this paper: Software Fault Prevention by Language Choice: Why C is Not my Favorite Language.

Short Course on Floating-Point Arithmetic

On August 12-14, 1998, Prof. Israel Koren (Univ. of Mass. Amherst), Prof. W. Kahan (UCB), and I taught a short course on floating-point arithmetic. This covered issues of hardware circuit design, computer architecture, and (my part) compilers/languages. The online versions of my lecture slides are available in two forms, the LaTeX source forms are in this fp98 directory, and html stuff in subdirectories.

Regular Courses

Effective July, 2007 my status has changed to Professor Emeritus. This means I've retired from teaching regularly scheduled graduate or undergraduate courses. Other activities are largely unchanged. The courses I've taught in the past have been mostly in data structures, programming language design and implementation, but also machine structures, software engineering, advanced AI programming, the undergraduate honors seminar, and various additional graduate courses including Pattern Recognition and Document Image Analysis.

Biographical sketch:


Richard Fateman received a BS in Physics and Mathematics from Union College in 1966, and a Ph.D. in Applied Mathematics from Harvard University in 1971. His thesis work concerned the design and implementation of algorithms for the Macsyma computer algebra system. He taught in the Mathematics department at MIT from 1971 to 1974 and then joined the Berkeley Computer Science faculty. He was instrumental in originating the work on Berkeley's VAX UNIX system, and led the development of the original Franz Lisp at Berkeley. He served on the Common Lisp design committee and on the IEEE 754 binary floating-point arithmetic standards committee. He served as Berkeley's Computer Science Chair from 1987 to 1990.

He has been the principal investigator on grants from DOE, NSF, and many industrial firms. He has authored more than 75 technical papers, mostly on issues related to computer algebra, programming languages and environments, scientific applications, and document image analysis.

In his spare time he takes photos and grows bromeliads.

His daughter Johanna is a member of the punk electronica / riot-grrl band Le Tigre. To hear her interviewed by Terry Gross of National Public Radio, visit the Fresh Air archive site for September 5, 2000 . A (shorter) reprise on the occasion of the release of their CD "From the Desk of Mr. Lady" is on the Fresh Air archive site for Feb. 16, 2001 .

His daughter Abigail is an environmental planner working in the Bay area, with a special interest in urban creeks and the award-winning and visually stunning Contra Costa County Watershed Atlas.

His wife Martha served as Director of Central Computing Services on the Berkeley campus before retiring in January, 2003.

Email: fateman@cs.berkeley.edu