Computers and the multiplicity of polynomial roots
Amer. Math. Monthly, 89 (1982), 34-56.
This paper was written shortly
after microcomputers were first introduced on the market. A typical microcomputer
of that time had 16k of RAM, a 1.7 Mhz 8-bit CPU, and used audio cassette
tape for external storage. It could be programmed in either BASIC or assembly
language (the resources were insufficient to support compilers). This article
was addressed to mathematicians like myself: who had bought one of these
machines and wondered if it could be used to do mathematics.
This was a very exciting and important time in the relationship of computers
and mathematics. Prior to the advent of microcomputers, you could only compute
on a university mainframe if you had grant money to pay for the time. You
could only get a grant if you had prior computing experience (you had to
be born into a computing family). You interacted with a computer in batch
mode. Microcomputers made grants unnecessary: you could buy one yourself
and have it on all the time. You could use it like pencil and paper.
The article shows how to implement an interactive polynomial package
in BASIC and use it to perform polynomial arithmetic and determine the multiplicity
of polynomial roots.
The Forth Interest
Group produced a model for a version of the Forth language for many of the
CPU chips used in popular microcomputers at the time. Forth takes an
unconventional approach to language and provides the advantages of an interpreted
language, the speed of a compiled language, very efficient memory use, and
access to hardware. For several years FIG-Forth was a de facto standard for
Forth. It was a combined operating system and programming language. It could
not only provide a simple yet powerful high level language on the microcomputers,
but it offered a substantial degree of portability.
I discovered Forth after I wrote the article. I have used (more sophisticated recent implementions) of it in research.