Which algorithms are more efficient for orthonormalizing vectors?

keenan

For large collections of vectors (e.g., the columns of a large matrix), a better strategy (usually) is to use so-called Householder transformations. You can read about the pros and cons of the two methods on Wikipedia. More generally, there is quite robust numerical software to compute the so-called QR decomposition of a matrix, such as SuiteSparse.

For small collections of vectors, like just a pair of vectors in the plane, all this stuff is overkill and you can typically just use Gram-Schmidt. But for a large basis (e.g., a basis of functions, which comes up all the time in graphics) you'll want to do something smarter.

Which algorithms are more efficient for orthonormalizing vectors?

For large collections of vectors (e.g., the columns of a large matrix), a better strategy (usually) is to use so-called

Householder transformations. You can read about the pros and cons of the two methods on Wikipedia. More generally, there is quite robust numerical software to compute the so-calledQR decompositionof a matrix, such as SuiteSparse.For

smallcollections of vectors, like just a pair of vectors in the plane, all this stuff is overkill and you can typically just use Gram-Schmidt. But for a large basis (e.g., a basis of functions, which comes upallthe time in graphics) you'll want to do something smarter.