Gram–Schmidt orthogonalization