Templated Vector Class and the Gram-Schmidt Process