Contemporary mathematicians use computing in two principal ways:
for symbolic computation
for generating mathematical text
Most symbolic computing involves the use of specialized mathematical software.
This course in Spring 2009 will examine general purpose computer algebra systems by taking an introductory look at the proprietary program Maple and at the free programs Maxima and SAGE.
In addition to general purpose computer algebra systems there are systems suited to specialized areas of mathematics. The course will examine one of these, the free program Pari that is used for algebra and number theory.
This segment of the course will begin with a quick examination of the structured typesetting language LaTeX.
While a great many mathematicians, physicists, economists, and others whose work uses mathematics became familiar with LaTeX during the 1980's, it became clear during the 1990's that there were severe challenges (that are still with us) for translating LaTeX documents to modern web languages.
A mathematical author should be able to generate both paper and web forms of mathematical text from a single source. The course will explore the usefulness of authoring languages based on the World Wide Web Consortium's XML standard with attention to the metaphor for such languages provided by category theory and will discuss how such a language need not be very different from LaTeX.
In the years ahead one will want to have the ability to import mathematical text found in electronic documents such as, for example, the function definition
into systems for computation. The course topics of (1) symbolic computation and (2) mathematical text are related by the need to provide content in documents that has sufficient semantic richness to make such transfer possible.
The course will undertake to compare symbolic computation system input languages with mathematical text authoring languages holding an eye toward the future development of minimal perturbations of LaTeX that permit authors to incorporate mathematical semantics as needed.
Familiarity with undergraduate mathematics and some ability with “computer code”.