Given an arbitrary basis we can form an orthonormal basis from it by using the `Gram-Schmidt
Process'. The idea is to go through the vectors one by one and subtract o that part of each vector
that is not orthogonal to the previous ones. Finally, we make each vector in the resulting basis unit
by dividing it by its norm.