Computational Mathematics E-Bibliography


R. Robinson (9/99, 1/01)



1. Software

Computer algebra systems:

Computer Algebra Systems (CAS), which became widely available in the 1990s revolutionized scientific computing. The two leading commercial brands are now Maple and Mathematica, but there are other popular commercial brands too. CAS tend to be expensive, but are usually available in less expensive student versions. Some are also available for free. Typically CAS run in an interpreted GUI, allow allow functional programing in a special programming language. Usually they have excellent graphics capabilities. Interestingly, each system seems to have different strengths and weaknesses, so it is reasonable to to learn to use several.
 

Maple

  • http://www.maplesoft.com/ Maple. The official home page.
  • http://www.indiana.edu/~statmath/math/maple/  Maple Links (Indiana University).
  • http://www-math.math.rwth-aachen.de/MapleAnswers/ Maple Users group
  • Mathematica

  • http://www.wolfram.com/ Wolfram Research, makers of Mathematica.
  • Other

  • http://sal.kachinatech.com/A/1/index.shtml Index of Computer Algebra Systems.
  • http://www.mupad.de/EDU/gallery.shtml  Mupad is a  CAS program from Germany. This the official home page. Free"light" version for Windows.
  • http://www-gap.dcs.st-andrews.ac.uk/~gap GAP (Groups Algebra and Programming). Stresses objects from abstract algebraic systems. Available for Unix and Windows. Free..
  • http://www.mathstat.com.au/products/mathematics/macsyma.htm Macsyma. Once the bestselling CAS.
  • http://www.ma.utexas.edu/users/wfs/maxima.html Maxima. Based on the original LISP code for Macsyma. Now released under the GNU public license. Free Windows and Unix versions.
  • http://www.ti.com/calc/docs/derive.htm Early PC CAS. Now part of Texas Instruments. & inside TI calculators.
  • http://www.parigp-home.de/  PARI-GP is a software package for computer-aided number theory GPL.
  • http://www.math.uiuc.edu/Macaulay2/  Macaulay 2 supports research in algebraic geometry and commutative algebra. Free.PC, Linux, Unix.

  • Numerical computing environments:

    Similar to CAS, but (usually) without the capability to do symbolic algebra or arbitrary precision arithmetic. Instead these use the computer's native double precision floating point arithmetic and concentrate on speed. Like CAS there is an interpreted environment with functional programming and excellent graphics. These systems often rival traditional programming languages for speed of execution, but since they offer many higher level mathematical functions, have a much faster development time.
     

    MATLAB

  • http://www.mathworks.com/ MATLAB. The official home page.
  • http://gwis2.circ.gwu.edu/Master%20Outline Master Outline of Matlab.
  • Other

  • http://www.omatrix.com/ O-Matrix. Runs it's own language and MATLAB scripts. Has Free demonstration version.
  • http://www.mathsoft.com/ MathCad Commercial environment with unique GUI.
  • http://www.ni.com/hiq/ HiQ: an interactive problem-solving environment to analyze, visualize, and document         science and engineering problems. Free educational version.

  • http://www.octave.org/ GNU Octave:  high-level language for numerical computations. Mostly compatible with Matlab. Free.

    Traditional Programming Languages:

    In the past programming languages have either been compiled or interpreted. In a compiled language, programs are converted to a machine language executable which are then loaded and run on the computer. Interpreted language programs are implemented by the hardware line by line. Compiled languages are generally much faster. (Assembly language is generally even faster; it is a language that translates directly to machine language). Java offers a new model (shared by Python) where in a "compiler" creates a "byte code" that is then interpreted on a "java virtual machine".


    Other relevant software environments:

    Excel

    Spreadsheets are, of course, an obvious choice for data analysis, but they can also be used effectively to implement some of the classic algorithms from numerical analysis.


    Operating Systems and User Environments

    Unix

    Unix is the operating system for serious computing. Linux is a version of Unix for the PC, now available in several "user friendly" commercial releases. Linux may someday challenge Microsoft Windows' dominance, but even now provides am excellent platform for computing on a PC
  • http://www.linux.org/, free version of Unix for the PC by Linus Torvalds.
  • http://www.redhat.com/ Red Hat commercial release of Linux.
  • http://www.spssscience.com/  Free version of BSD Unix for the PC.
  • http://www.research.att.com/sw/tools/uwin/ UWIN runs Unix programs under Windows (best on NT). Free educational version.
  • http://cygwin.com/ Cygwin: A Free Win32 Porting Layer for Unix applications based on a Dynamic-Linked Library (DLL) that provides a large subset of the system calls found in common Unix implementations. See also:http://sources.redhat.com/cygwin/usenix-98/cygwin.html
  • Microsoft Windows

    X-Windows

    This is the standard GUI for Unix based computing and is standard with Linux, but it is actually operating system independent. Hence you can run an X-windows client under MS Windows.
  • http://tnt.microimages.com/www/html/freestuf/mix/ Free X-Windows server for the PC
  • http://www-jics.cs.utk.edu/TSU/I2UNIX/unix_guide_Apr96/unix_guide_Apr96.html Basic X-windows guide
  • OpenGL

    A standard for programmable 3d graphics developed by SGI. Now runs on most Unix/X-windows and is a standard part of Windows.OpenGL is most useful when combined with GLUT, a programming toolkit for writing device independent OpenGL programs.
  • http://www.opengl.org/ OpenGL home page.
  • http://reality.sgi.com/opengl/ SGI OpenGL page.
  • http://reality.sgi.com/opengl/glut3/glut3.html GLUT is a programming toolkit for writing device independent OpenGL programs.
  • http://sound.media.mit.edu/~rago/classes/mas864/project1/openglball/opengl.html Demonstration of OpenGL for Windows environment.
  • Utilities


    Markup Languages

    Markup is a system of combining text (or other data) with special codes (the markup) that describes each data element's  role within the document as a whole. Perhaps the most familiar markup language is HTML. It was designed using ideas from SGML, a very general markup language that proved too complicated to use in practice. More recently a simplified version of SGML called XML has become popular. A variant of XML called MathML may ultimately become the standard for mathematics on the internet (but it is still in a relatively early phase of development).

    TeX, the mathematical typesetting language invented by Donald Knuth in the 1970s is another well known markup language (LaTeX is a version of TeX). It is now the standard for mathematical (hard copy) publishing, but is not well suited for the web.

    See the article below
     


    Graphics/Publishing

    Postscript

    Postscript is a "page description language" which really means a programming language for a printer.The Postscript format was designed by Adobe Systems Inc for high end printers for Macintosh computers. Now it is often the format of choice for high quality printed illustrations in scientific publications. Many of the best drawing programs, as well as packages like Matlab and Maple produce postscript output. However, postscript files tend to he huge (hence not popular for the Web) and are prone to compatibility problems. Certain restricted versions of postscript like "encapsulated postscript" are meant to ameliorate some of these problems.
  • http://www.cs.wisc.edu/~ghost Ghostview: a free postscript interpreter. Many good links on postscript. free.
  • http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html First guide to postscript
  • PDF

    Adobe's "Portable document format" also sometimes called "second generation postscript". It is essentially postscript without  the features of a programming language. Adobe acrobat reader allows free viewing and printing of PDF documents. Adobe Acrobat (to make PDF files) is expensive, but ghostview can do the job for free.
     

    Graphing/plotting programs

    These programs create graphics from data. In addition to those listed here, programs like maple, Mathematica, MATLAB, and Minitab are good for this.
  • http://www.davidparker.com/ David Parker Graph. Inexpensive 3-dimesional graphing program.
  • http://stommel.tamu.edu/~baum/ocean_graphics.html Software for Graphics and Data Analysis by S. Baum, Dept. of Oceanography, Texas A&M University.
  • http://www.gnuplot.org/ The standard Unix plotting program, also available for Windows. Free. See also http://www.usf.uni-osnabrueck.de/~breiter/tools/gnuplot/index.en.html
  • http://ls7-www.cs.uni-dortmund.de/html/englisch/servers.html/ Graphics resource list.
  • Drawing and painting programs

    The difference between drawing and painting is that drawing uses vector graphics (and tends to create drawings in formats like postscript) where as painting uses raster graphics and tends to produce bit mapped files as output. The "paint" utility that comes with Windows is a good example of a painting program. Many good commercial drawing and painting programs are available, but not mentioned here.
     

    Graphics file formats

    There are many different ways to encode graphics information. All have their strengths and weaknesses. Here is some information about the options.
  • http://www.webopedia.com/Graphics/Graphics_Standards/graphics_file_format.html (Webopedia)
  • http://webware.princeton.edu/howard/slides/future/index.htm Image File Formats List. Center for Innovative Computer Applications
  • http://www.ora.com/centers/gff/gff-faq/index.htm Graphic file format FAQ.
  • http://www.dcs.ed.ac.uk/~mxr/gfx/ Source on graphics file formats.
  • http://duke.usask.ca/~macphed/soft/fig/index.html The FIG graphics format.
  • VRML (virtual reality)

    VRML is the "Virtual Reality Modeling Language". It comes in two versions:  VRML 1.0 is a more static model, but simpler to implement. VRML 2.0 is more active but also more complex. In addition to it's obvious use as a gaming language, it may have a future in scientific visualization. Judge for yourself.
  • http://www.web3d.org/vrml/vrml.htm VRML home page.
  • http://www.vruniverse.com/ Many VRML links.
  • http://www.karmanaut.com/cosmo/player/ Cosmo Player. VRML viewer (free)
  • http://gams.nist.gov/MatrixMarket/ NIST Matrix market: VRML plots of matrices.

  • Specialized Software

    This is software to implement a particular technique, model or concept. Some is downloadable and some is online (either server or client based).

    Mathematics software

    These programs each illustrate and compute within the context of a particular mathematical concept (fractals, dynamical systems, classical geometry).
  • http://spanky.triumf.ca/www/fractint/fractint.html Fractint. State of the art fractals (free program for various platforms).
  • http://keck2.umd.edu/dynamics/general_info/smalldyn.html SmallDyn dynamical systems package by Helena Nusse & Jim Yourke. Free windows version.
  • http://www.primenet.com/~lascaux/. Source of  "f(z)" for viewing complex functions and "Fields and Operators".
  • http://www.cs.runet.edu/~dana/ca/cellular.html Cellang: the cellular automata programming language (Radford University, VA).
  • http://isetlw.muc.edu/isetlw/default.asp ISETL (Interactive SET Language) an interpreted mathematical programming language closely resembling the language of sets and functions.
  • Geometry construction programs

    These programs allow the user to do classic constructions in plane geometry, analytic geometry, ruler and compass constructions, etc. Some support non-Euclidean geometry. All offer Free demonstration versions.

    Molecule visualization software

    Visualization has become an important tool in molecular biology. These can be used to view the databases listed below.
  • http://www.ks.uiuc.edu/Research/vmd/ VMD for visualization of complex bio-molecules. PC version
  • http://www.bmsc.washington.edu/raster3d/raster3d.html Raster 3-D bio-molecule rendering program
  • Online computational tools (server based)

  • http://www.research.att.com/~njas/sequences/ Integer Sequence Identifier (Bell Labs).
  • http://www.lacim.uqam.ca/pi/  Plouffe's Inverter. This server is a database of more than 201,304,822 mathematical constants.
  • http://www.cecm.sfu.ca/projects/ISC/ISCmain.html  Inverse Symbolic Calculator: A set of programs and specialized tables of mathematical constants dedicated to the identification of real numbers.
  • http://psg.cecm.sfu.ca/projects/revenge/client/RevEngClient.html Reverse engineering calculator from Maple.
  • http://www.geom.umn.edu/apps/ Interactive applications (Minnesota Geometry Center).
  • Online computational tools (mostly Java and JavaScript)

  • http://www.sci.wsu.edu/idea/ Differential Equations .
  • http://amath.colorado.edu/appm/faculty/sherod/classes/Phasor/phase.html Very nice ODE phase portraits (Java applet).
  • http://solar.aie.nl/~geert/java/public/Penrose.html Penrose tiling program (Java applet) by Geert-Jan van Opdorp. Another Penrose Applet by  ShuXijang Zeng http://www.geocities.com/SiliconValley/Pines/1684/Penrose.html
  • http://oscar.cacr.caltech.edu/Hrothgar/ Ising model (Java applet).
  • http://www.ies.co.jp/math/java/ Excellent calculus class demos from Japan (Java applets).
  • http://www.stats.ox.ac.uk/~etheridg/finmath/finan12.pdf Two dimensional cellular automata (Java applet).
  • http://www.math.gatech.edu/~carlen/applets/index.html Advice on writing instructional math applets by Eric Carlen (GA Tech).
  • http://www.ccsf.caltech.edu/~roy/Caustic/index.html  Coffee cup caustic.
  • http://tilde-schaller.home.cern.ch/~schaller/complex/CA1d/CA1d.html One dimensional cellular automata (Java Applet).
  • http://serendip.brynmawr.edu/chaos/home.html Billiards and Chaos (Bryn Mawr College).


  • 2. Ideas and concepts

    Some Computational Sciences:

    Computational Math/Statistics

    Hardware Issues:

    Floating Point Arithmetic


    Some modern mathematical models:

    Simulated Annealing/Genetic Algorithms/Artificial Life


    3. Professional resources

    e-books & e-journals: