Orthogonalize, Normalize, and Projection have been added to the built-in Mathematica kernel. Normalize can now take an arbitrary norm function.
Orthogonalize
Orthogonalize gives an orthonormal basis found by orthogonalizing the vectors:
Version 5.2
Orthogonalize[{{3, 4, 2}, {2, 5, 2}, {1, 2, 6}}]Orthogonalize can generate an orthonormal basis for the vectors with respect to an inner product function which is the second argument of the function:
Version 5.2
Orthogonalize[{1, x, x ^ 2, x ^ 3, x ^ 4}, Integrate[#1 #2, {x, -1, 1}]&]//SimplifyNormalize
Version 5.2
Normalize[{a, b, c}]Use an arbitrary norm function:
Version 5.2
returns unevaluated
Normalize[{x, y, z}, f]Projection
This finds the projection of a vector onto another vector assuming x, y, a, b are Real:
Version 5.2
Projection[{x, y}, {a, b}, Dot]Projection[{x, y}, {a, b}]Householder was available in previous versions of Mathematica and is now available on the web at library.wolfram.com/infocenter/MathSource/6829.