Professor of Mathematics and Computer Science (retired)

Purdue University

Math 809

150 North University Street

W. Lafayette, IN 47907-2067

*You're an evil man.* Linus Torvalds
*Thank you.*

A complete list of my papers can be found on my "bio" page . You can download various papers by me and my previous students on image processing and wavelets and numerical methods for partial differential equations and related topics.

**Courses**

- MA 442, Spring 2017
**CS/MA 615: Numerical Methods for Partial Differential Equations, 2016 version.**And the versions from 2014, 2012, 2010, 2008, 2003, and 2000.**Math 692B: Wavelets and Image Processing, Fall 2000**

**Test Images**

High quality, grey-scale, test images for purposes of testing algorithms on natural images. Some results from my compression program are given.

The original Kodak Photo CD Photo Sampler color images from which the greyscale images above were derived, and the copyright terms under which the Kodak Photo CD Photo Sampler images were released. If anyone can tell me a *standard* way to convert these to YUV, YCrCb, or RGB, I'd be interested. **Later note: **it seems that various versions of Photoshop have good color conversion between Kodak Photo CD format and RGB, so that is what I used for the color versions. I'm still not happy with Photoshop's conversion to grey-scale. You can find a lot of useful information about working with Photo CD images at Ted's Unofficial Kodak Photo CD Homepage.

**Non-blogs**

- James R. Lee claims that he's writing a "non-blog" about some mathematics of theoretical computer science. It's great stuff as mathematics, and I presume as computer science, too. (James was an undergraduate at Purdue.)

**Software**

- Software for the numerical approximation of solutions of elliptic and parabolic partial differential equations (from CS 615).
- Schelog, an embedding of Prolog into Scheme that was written by Dorai Sitaram, adapted for Gambit-C.
- Meroon, an object-oriented extension to Scheme, written by Christian Queinnec and modified to run well on Gambit-C.
- Beating the Averages by Paul Graham tells how to beat your competitors using Lisp.
He also wrote
*Revenge of the Nerds*. - Design Patterns in Dynamic Programming by Peter
Norvig explains why many of the classical design patterns used in C++ or Java are trivial or not needed in dynamic
languages like Common Lisp, Scheme, and Dylan, and presents new, more powerful, design patterns for dynamic languages.
**Later addition:**Richard P. Gabriel, a strong proponent of design patterns in computer programming, claims that the Gang of Four "Design Patterns" book for C++ and Java programmers helps "losers lose less", and that design patterns (lower case) are powerful techniques for organizing computer programs, even in dynamic programming languages. - A Common Lisp tutorial.
- Lawrence Lessig talks about how extensions to copyright terms over the last 40 years form theft from the public;
how software patents are holding back innovation; how small losses to copyright holders are leading to federal proposals of legal
vigilantism, where corporations are given free rein to hack
**your**computer; and what**you**can do about it. - Hackers, Slackers, and Shackles: The Future of Free Software Game Development is an interesting essay about several things: the history of the computer gaming industry, the importance of computer games in motivating learning about computers, and how open-sourcing computer games would increase innovation and progress.
- There are blog aggregators for Lisp and Scheme.
- Why Lisp?
- Want to learn Scheme?
*Structure and Interpretation of Computer Programs*is the best book on programming ever written, and it uses Scheme, and it's available online. SICP is somewhat mathematical and moves at a pretty fast clip; if you want a slower introduction to programming using Scheme, I recommend*The Schematics of Computation*, which contains all the big ideas of SICP, but uses a broader range of examples---I call it "SICP for mortals". Unfortunately, it's not available online but I think it's worth buying. In a hurry? Try*Teach Yourself Scheme in Fixnum Days*by Dorai Sitaram. Another text available online is*How to Design Programs*, which is closely integrated with Racket (formerly PLT Scheme). Of the few French textbooks that I know, I like*Programmer avec Scheme: De la pratique à la théorie*, by Jacques Chazarain. And, if you're looking for programming exercises that are not trivial but not too involved, try the blog Programming Praxis, written by Phil Bewig. Learn visually? John Clements has collected a list of Scheme video lectures and talks. My favorite Scheme implementation is Gambit Scheme, written mainly by Marc Feeley. - Use functional programming to deliver single-source, free-standing graphical apps across platforms, including mobile and embedded targets! LambdaNative is a cross-platform (Android, iOS, BlackBerry 10, Mac OS X, Linux, Windows, OpenBSD, NetBSD, FreeBSD and OpenWrt) development environment written in Gambit Scheme.
- Want to learn Common Lisp, likely the most powerful Lisp dialect?
*The Land of Lisp*is a great book by Conrad Barski, M.D. He has a great sense of humor, writes well, and teaches Common Lisp through game programming, a great way to learn anything! If you don't want to read the book, at least see the music video!**Update:**There's now a review of*The Land of Lisp*on Slashdot. Another good book is*Practical Common Lisp*by Peter Seibel. There are several free Common Lisp implementations, you could start with SBCL.

**What graduate students should do after qualifiers**

Some, if not most, areas of mathematics require "intermediate-level" material before going on to study recent papers and write a thesis. Here is my advice for students who think they may be interested in various fields. Other faculty members will have their own lists, I'm sure.

**Wavelets and image processing:**Second course in real analysis (MA 545), functional analysis (MA 546 or 611). Depending on your interests, Probability and Statistics (MA 538/539, Stat 567); Image Processing (ECE 637/641); Partial Differential Equations, Convex Analysis, and Numerical Methods (MA 642/643, MA/CS 615,*Convex Optimization*by Stephen Boyd and Lieven Vandenberghe).**Numerical methods for partial differential equations:**Second course in real analysis (MA 545), applied functional analysis (MA 611), partial differential equations (MA 642), CS 615 or the equivalent math course.**Applied partial differential equations:**Second course in real analysis (MA 545), applied functional analysis (MA 611), partial differential equations (MA 642).

**Books**

- The West Lafayette campus of Purdue University has purchased a site license for the book
*Basic Concepts of Mathematics*by Elias Zakon, published by The Trillia Group, an online publishing house I founded. This book helps the student complete the transition from purely manipulative to rigorous mathematics while covering the following topics: basic set theory, induction, quantifiers, properties of the real numbers (including consequences of the completeness axiom), fields, and basic properties of*n*-dimensional Euclidean spaces; the online index gives more information about the contents. Under the terms of the site license, this text can be used without charge by any student or member of the faculty or staff of the West Lafayette Campus of Purdue University. Other schools buying site licenses for*Basic Concepts of Mathematics*include Lehman College, the University of Windsor and Swarthmore College. - The Trillia Group has also published the second book in
the Zakon Series on Mathematical Analysis, Zakon's
*Mathematical Analysis I*(which covers metric spaces, continuity, differentiation and integration; its index is online). The West Lafayette campus of Purdue has bought a site license for this book, so any students or staff on that campus can download and use it for free. The Trillia Group has licensed Proceedings.com to reprint*Mathematical Analysis I*in paperback format for sale throughout the world.**New:**The Saylor Foundation has named*Mathematical Analysis I*one of the first winners of its Open Textbook Challenge. - With the cooperation of Barbara Moser and William Moser, the Trillia Group has published
*An Introduction to the Theory of Numbers*by Leo Moser. - The Trillia Group has now released Mathematical Analysis II, which covers calculus on normed linear spaces, and (Lebesgue) measure and integration.
- There are many free books, sets of lecture notes, interactive courses, etc., that are of value for students learning mathematics; I've put together a set of links to online mathematics materials that you may find of interest.

**Personal**

My wife Maureen is an ATA-certified translator from French into English.