Contents - Student subdomain for University of Bath
Contents - Student subdomain for University of Bath
Contents - Student subdomain for University of Bath
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
16 CHAPTER 1. INTRODUCTION<br />
[BCM94], again with a strong emphasis on genericity. Another popular system<br />
is GAP [BL98], whose ‘kernel+library’ design was consciously [Neu95] inspired<br />
by Maple.<br />
The reader may well ask ‘why two different schools <strong>of</strong> thought?’ The author<br />
has <strong>of</strong>ten asked himself the same question. The difference seems one <strong>of</strong><br />
mathematical attitude, if one can call it that. The designer <strong>of</strong> a calculus system<br />
envisages it being used to compute an integral, factor a polynomial, multiply<br />
two matrices, or otherwise operate on a mathematical datum. The designer <strong>of</strong><br />
a group theory system, while he will permit the user to multiply, say, permutations<br />
or matrices, does not regard this as the object <strong>of</strong> the system: rather the<br />
object is to manipulate whole groups (etc.) <strong>of</strong> permutations (or matrices, or<br />
. . .), i.e. a mathematical structure.<br />
1.1.3 A synthesis?<br />
While it is too early to say that the division has been erased, it can be seen<br />
that MAGMA, <strong>for</strong> example, while firmly rooted in the group-theory tradition,<br />
has many more ‘calculus like’ features. Conversely, the interest in polynomial<br />
ideals, as in Proposition 28, means that systems specialising in this direction,<br />
such as SINGULAR [Sch03] or COCOA [GN90], use polynomial algorithms, but<br />
the items <strong>of</strong> interest are the mathematical structures such as ideals rather than<br />
the individual polynomials.<br />
1.2 Expansion and Simplification<br />
These two words, or the corresponding verbs ‘expand’ and ‘simplify’ are much<br />
used (abused?) in computer algebra, and a preliminary explanation may be<br />
in order. Computers <strong>of</strong> course, do not deal in mathematical objects, but,<br />
ultimately, in certain bit patterns which are representations <strong>of</strong> mathematical<br />
objects. Just as in ink on paper, a mathematical object may have many representations,<br />
just as most <strong>of</strong> us would say that x + y and y + x are the same<br />
mathematical object.<br />
Definition 2 A correspondence f between a class O <strong>of</strong> objects and a class R <strong>of</strong><br />
representations is a representation <strong>of</strong> O by R if each element <strong>of</strong> O corresponds<br />
to one or more elements <strong>of</strong> R (otherwise it is not represented) and each element<br />
<strong>of</strong> R corresponds to one and only one element <strong>of</strong> O (otherwise we do not know<br />
which element <strong>of</strong> O is represented). In other words “is represented by”, is the<br />
inverse <strong>of</strong> a surjective function f or “represents” from a subset <strong>of</strong> R (the “legal<br />
representations”) to O.<br />
Notation 2 When discussing the difference between abstract objects and computer<br />
representations, we will use mathematical fonts, such as x, <strong>for</strong> the abstract<br />
objects and typewriter font, such as x, <strong>for</strong> the representations.<br />
Hence we could represent any mathematical objects, such as polynomials, by<br />
well-<strong>for</strong>med strings <strong>of</strong> indeterminates, numbers and the symbols +,-,*,(,).