19.07.2014 Views

Contents - Student subdomain for University of Bath

Contents - Student subdomain for University of Bath

Contents - Student subdomain for University of Bath

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!