Christopher Carl Heckman's
Software Page

My homepage

Frequently Asked Questions



My Software

Information About Me & Other Stuff

Solutions to AMM Problems


Electronic Journals and Preprints


My Papers


Conferences I've Attended

ASU Discrete Math Seminar

A bad picture of me, with Robin Thomas, in Georgia Tech's Research Horizons magazine

My Software

This is software that I have written over the years, in the form of source code. You should take an open source approach to this software:
  • There shouldn't be any bugs, but every programmer knows how that goes ... If there is a bug that wipes out your computer, I can't be blamed, sued or anything like that.
  • If you want to modify or improve this software, contact me first.
  • I don't have any binaries here, so you will usually need to compile it yourself. The Java programs can be compiled by saving the file to an empty folder, opening up a "terminal", changing to that directory, and typing
    java PROGRAM_NAME &
    where PROGRAM_NAME is the name of the program. Make sure you have the most recent version of Java. (Yes, I use closures sometimes, so that means 1.8 at the very least.)
Now for the software, in roughly reverse chronological order:

  •, a program to generate random pseudocode that doesn't have to do anything useful. Generates "good" problems, which you can find the running time for. Runs as a window; you can select some parameters. Output is in Unicode and Plain TeX. (November 2014)

  •, a Lukasiewicz CALCulator that handles matrices, and which can be programmed. I used this before I got Maple installed on my MacBook. (Łukasiewicz discovered Reverse Polish Notation.) Runs as a window. (March 2014)

  •, or Equivalent BOolean FOrmula Generator. Generates pairs of boolean formulas (involving AND, OR, NOT, and possibly IMPLIES, IFF, XOR) which are equivalent. Runs as a window; you can select some parameters. Output is in Unicode and Plain TeX. (January 2014)

  •, or PROPositional CALCulus PROBLEM Generator. Generates problems of the form: Assume that the following boolean formulas are true; prove that another boolean formula is also true, using Rules of Inference (such as Modus Ponens, Modus Tollens, etc). Runs as a window; you can select some parameters. Output is in Unicode and Plain TeX. (August 2013)

  •, a Java applet that generates random "Go Figure!" puzzles. Runs in a webpage. (December 2012)

  •, or Hidden Line Eliminator, an implementation of Goodrich's algorithm. Takes a list of planar polygons and removes parts of edges which are invisible from a certain perspective. Works with orthogonal projection, perspective, and pseudo "Fish Eye" projection. Draws a picture and provides PiCTeX macros. Runs as a window. (December 2012)

  • The program GEMBED, which tests for embeddability of graphs on the projective plane, the torus, and the spindle surface. Available as a gzipped tar file. (Version 5.3A, some compiling errors fixed by Keith Briggs. Version 6.0J will incorporate the JGraphT package in Java, and the code will be cleaned up. Don't hold your breath waiting for the next version.)

  • Coding the Even Directed Cycle algorithm for the Computing Even Cycles page (last update: September 1999). [Be sure to enable Java]

  • The program discharge.pas, which can be found among the rest of the Four Color Theorem files (last update: January 1997). The Four Color Theorem also has its own Webpage.

Now the legal stuff: These links are provided as a courtesy. Arizona State University does not, and does not mean to, endorse the linkage to these materials.

The contents of this page reflect solely the opinions of the author who originated it; the opinion of Arizona State is that I should stop goofing off and get to work. This page has (obviously) not been reviewed by, nor is it (again, obviously) a publication of Arizona State University. The person who is responsible for this page is: Blame him. Or send him money. Lots of money. And offer him a permanent job.