Well for finding the inverse of any matrix (by hand) I learned to use the "Guass-Jordan elimination".
However today I was looking it up again on wolfram|alpha. And what struck me is the line:
The procedure is numerically unstable unless pivoting (exchanging rows and columns as appropriate) is used.
I do not fully understand that line, or the consequences of it. Does this mean that without row swapping the method may not find a solution? How so, why would it not find one, as the steps look pretty linear to me? - without going back to previous lines?
And what are the consequences of using this method in an automated system then?
You can find the solution, of course, and you will find the correct one if all the calculations are done exactly, ie symbolically.
But if you have something like $\sqrt 3 / 10$, the computer software will return an approximation precise to, say, 16 decimal digits. But an approximation means that there will be errors in the results.
If you do not pivot, these errors tend to "pile up", so that it is unstable and your end result may contain a sizable error and thus cannot be considered correct.
If you pivot, the error stay small, so while the solution won't be exactly right you can treat it as an excellent approximation of the "true" solution.
Why is it important to pivot? Because otherwise you will have catastrophic cancellation; take a look at http://en.wikipedia.org/wiki/Loss_of_significance