The program riemannmap implements W. Thurston's algorithm for approximating conformal maps by circle packing isomorphisms. B. Rodin and D. Sullivan have proved convergence of this scheme to the Riemann mapping for simply-connected domains. Furthermore, X.S. He and Rodin have recently proved that the ratio of range radii to domain radii converges to the norm of the derivative of the Riemann map. The program also supports the mapping of domains of any finite connectivity, and runs as follows: Use the mouse to draw any sequence of closed loops on the screen. Choose a filling radius and fill the region bounded by the loops with the regular hexagonal packing of chosen mesh. The program then does an N-dimensional damped Newton method to construct an isomorphic packing of the disk (minus holes, if the domain was multiply-connected). Here, N is roughly the number of circles. The Yale sparse matrix package smpak (rewritten in C) is invoked to solve the Newton linear system. Full use is made of the smpak compact matrix storage scheme, so no memory of order greater than the number of circles is ever allocated. A color scheme was implemented which assigns colors constant on hexagons concentric with the domain circle which gets sent to the origin. Upon convergence of the algorithm, the user is allowed to choose a different nullcircle by clicking with the mouse. Note that the circles' data is stored in a matrix with the following special pattern: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 0 0 0 9 2 2 9 0 0 0 0 0 0 9 2 2 2 9 0 0 0 0 0 0 9 2 2 9 0 0 0 0 0 0 0 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Column indices j increment from left to right. Row indices i increment from top to bottom. For more specifics, see the comments in the source code.