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.
1.2. EXPANSION AND SIMPLIFICATION 21<br />
Moses [Mos71] This is a seminal paper, but describes approaches to simplification<br />
rather than defining it. Inasmuch as it does define it, it talks about<br />
‘utility <strong>for</strong> further operations’, which again is not effective as a definition<br />
<strong>for</strong> top-level simplification, though it’s relevant <strong>for</strong> intermediate operations.<br />
However, the principle is important, since a request to factor would<br />
find the expression x 999 + · · · + 1 appropriate 9 , whereas x1000 −1<br />
x−1<br />
is in a<br />
field, and factorisation is not a relevant question.<br />
Carette [Car04] He essentially defines simplification in terms <strong>of</strong> the length <strong>of</strong><br />
the result, again insisting on mathematical equivalence. This would regard<br />
examples 1 (assuming Q(x), so that the expressions were mathematically<br />
equivalent) and 3 as simplifications, but not 2, since the expression becomes<br />
longer, or 4, since we don’t have mathematical equivalence.<br />
Stoutemyer [Sto11] sets out 10 goals <strong>for</strong> simplification, one <strong>of</strong> which (Goal<br />
6) is that<br />
Default simplification should produce candid [Definition 5] results<br />
<strong>for</strong> rational expressions and <strong>for</strong> as many other classes as is<br />
practical. Default simplification should try hard even <strong>for</strong> classes<br />
where candidness cannot be guaranteed <strong>for</strong> all examples.<br />
Candid expressions tend be the shorter than others ( x10 −1<br />
x−1<br />
etc. being<br />
an obvious family <strong>of</strong> counter-examples), so this view is relatively close to<br />
Carette’s.<br />
Numerical Analysts A numerical analyst would be shocked at the idea that<br />
x 2 − y 2 was ‘simpler’ than (x + y)(x − y). He would instantly quote an<br />
example such as the following [Ham07].<br />
For simplicity, assume decimal arithmetic, with perfect rounding<br />
and four decimal places. Let x = 543.2 and y = 543.1. Then<br />
x 2 evaluates to 295100 and y 2 evaluates to 295000, so x 2 − y 2<br />
becomes 100, while (x + y)(x − y) evaluates to 108.6, a perfect<br />
rounding <strong>of</strong> the true answer 108.63.<br />
Furthermore, if we take x = 913.2 and y = 913.1, x 2 − y 2 is<br />
still 100, while the true result is 182.63.<br />
This is part <strong>of</strong> the whole area <strong>of</strong> numerical stability:<br />
outside the scope <strong>of</strong> this text.<br />
fascinating, but<br />
One principle that can be extracted from the above is “if the expression is zero,<br />
please tell me”: this would certainly meet both the teachers’ and Carette’s<br />
views. This can be seen as a call <strong>for</strong> simplification to return a normal <strong>for</strong>m<br />
where possible [Joh71, Ric97].<br />
Maple’s description <strong>of</strong> the ‘simplify’ command is as follows.<br />
9 In fact, knowing the expression came from that quotient would be relevant [BD89] to<br />
factorisation algorithms, but that’s beside the point here.