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.
66 CHAPTER 3. POLYNOMIAL EQUATIONS<br />
and multiply this by v, and <strong>for</strong> dense M and N, this is right if there are more<br />
than n such vectors v. But, if n ≫ e > 2, this is not optimal, since, once MN<br />
is computed, computing (MN)v requires ne 2 operations, while compluting Nv<br />
requires ne, as does computing M(Nv), totalling 2ne < ne 2 .<br />
3.2.3 Matrix Inverses: not a good idea!<br />
The first response to the question “how do we compute matrix inverses” ought<br />
to be “are you sure you want to?” Solving (as opposed to thinking about the<br />
solution <strong>of</strong>) equation (3.13) via equation (3.14) is <strong>of</strong>ten not the best way to<br />
proceed. Gaussian elimination (possibly using some <strong>of</strong> the techniques described<br />
later in this section) directly on equation (3.13) is generally the best way. This is<br />
particularly true if M is sparse, since M −1 is generally not sparse — an extreme<br />
example <strong>of</strong> fill-in. Indeed, special techniques are generally used <strong>for</strong> the solution<br />
<strong>of</strong> large sparse systems, particularly those arising in integer factorisation or<br />
other cryptographic applications [HD03].<br />
The usual method <strong>of</strong> solving linear equations, or computing the inverse <strong>of</strong> a<br />
matrix, is via Gaussian elimination, i.e. trans<strong>for</strong>ming equation (3.13) into one in<br />
which M is upper triangular, and then back-substituting. This trans<strong>for</strong>mation<br />
is done by row operations, which amount to adding/subtracting multiples <strong>of</strong> one<br />
row from another, since<br />
P = Q & R = S implies P + λR = Q + λS. (3.15)<br />
If we try this on the above example, we deduce successively that z = a−18b+13c,<br />
y = a − 14b + 10c and x = a − 15b + 11c. Emboldened by this we might try a<br />
larger matrix:<br />
⎛<br />
⎞<br />
a b c d<br />
e f g h<br />
M =<br />
. (3.16)<br />
⎜<br />
⎝<br />
i j k l ⎟<br />
⎠<br />
m n o p<br />
After clearing out the first column, we get the matrix<br />
⎛<br />
⎜<br />
⎝<br />
⎞<br />
a b c d<br />
0 − eb<br />
a + f − ec<br />
a + g − ed a + h<br />
0 − ib a + j − ic a + k − id a + l<br />
.<br />
⎟<br />
⎠<br />
0 − mb<br />
a + n − mc<br />
a + o − md<br />
a<br />
+ p