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
    ![<< LinearAlgebra`Orthogonalization`;
GramSchmidt[{{3, 4, 2}, {2, 5, 2}, {1, 2, 6}}]](Files/Orthogonalization.en/legacy_1.gif) 
   
   
   
   
   ![<< LinearAlgebra`Orthogonalization`;
GramSchmidt[{{3, 4, 2}, {2, 5, 2}, {1, 2, 6}}]](Files/Orthogonalization.en/legacy_1.gif) 
   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
    ![GramSchmidt[{1, x, x^2, x^3, x^4}, 
  InnerProduct -> (Integrate[#1 #2, {x, -1, 1}] &)] // Simplify](Files/Orthogonalization.en/legacy_2.gif) 
   
   
   
   ![GramSchmidt[{1, x, x^2, x^3, x^4}, 
  InnerProduct -> (Integrate[#1 #2, {x, -1, 1}] &)] // Simplify](Files/Orthogonalization.en/legacy_2.gif) 
   Normalize
    Version 5.2
    ![Normalize[{a, b, c}]](Files/Orthogonalization.en/legacy_3.gif) 
   
   
   
   
   ![Normalize[{a, b, c}]](Files/Orthogonalization.en/legacy_3.gif) 
   Use an arbitrary norm function:
    Version 5.2
    ![Normalize[{x, y, z}, f]](Files/Orthogonalization.en/legacy_4.gif) returns unevaluated
    returns unevaluated
   
   
   
   ![Normalize[{x, y, z}, f]](Files/Orthogonalization.en/legacy_4.gif) returns unevaluated
    returns unevaluated
   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}]](Files/Orthogonalization.en/legacy_5.gif) 
   
   
   
   
   
   
   ![Projection[{x, y}, {a, b}]](Files/Orthogonalization.en/legacy_5.gif) 
   Householder was available in previous versions of Mathematica and is now available on the web at library.wolfram.com/infocenter/MathSource/6829.