Gram-Schmidt Algorithm (GSHM)