2 ms·
I think the Gauss-Jordan method has some reason to be taught: - Most people have probably solved systems of equations by hand in school. G-J basically just sys
by Tainnor 5y ago
I think the Gauss-Jordan method has some reason to be taught:
- Most people have probably solved systems of equations by hand in school. G-J basically just systematises this process by abstracting away the unnecessary details and it has a clear sequence of steps (although you can still choose different pivots). I think it would not be satisfying to never see that.
- G-J can be done by hand on simple systems.
- It is a rather simple algorithm, but it still has some edge cases to consider (what if you have a 0 in pivot position?). I've seen a number of people try to implement G-J (we used it as a coding challenge and, yes, this was actually job-related in this case ;)) and fail on particular examples, e.g. stopping iteration too early after skipping a column.
- The algorithm runs in polynomial time (assuming floating point arithmetic; it's unfortunately not polynomial for arbitrary precision integers), so it's efficient. Knowing that a system of linear equations can efficiently be solved is, I think, rather important.
- you can discuss numerical stability in the context of different pivot strategies
- other algorithms use it as a building block or are basically a variation of it (LR factorisation, matrix inversion, simplex algorithm, etc.)
Of course, you could probably just tell people that instead of teaching them the algorithm, but I would think that it sticks better if you've actually seen it and it's not that hard of an algorithm (and I don't think you need to require people to memorise it either).
If you'd ask about teaching Jordan decomposition to engineers I would agree. :)
(But I've also never taught anyone, especially not engineers. So this is just what makes sense to me personally.)