Introduction
Orthonormal bases make projections and coordinates trivial — but the basis you are handed is rarely orthonormal. Gram–Schmidt is a simple procedure that straightens any basis into an orthonormal one spanning the same space, using nothing but projections. It is the idea behind the QR decomposition used inside least-squares solvers.