Let $n \in \mathbf{N}$ be a natural number and $v_1,\cdots,v_n$ a set of basis vectors in $\mathbb{R}^n$. How does one find the matrix $g \in \mathbf{GL}_n(\mathbb{Z})$ orthogonalizing these best possible? That is, such that $\max \{|(g v_i,g v_j)|/ ||g v_i|| ||g v_j|| : i \not= j \in \{1,\cdots,n\}\} \in [0,1]$ is minimal among all $g \in \mathbf{GL}_n(\mathbb{Z})$. (Here $(.,.)$ denotes the standard euclidean scalar product and $||.||$ its induced norm.)

To turn this into a more precise question: Let $n, v=(v_1,\dotsc,v_n)$ and $g$ be as above. Let $o(g,v) = \max \{|(g v_i,g v_j)|/ ||g v_i|| ||g v_j|| : i \not= j \in \{1,\cdots,n\}\} \in [0,1]$ be the above maximum and put $o(v)=\inf \{o(g,v) : g \in \mathbb{GL}_n(\mathbf{Z})\}$. Is $I(n)=\sup \{o(v) : v \in \mathbf{GL}_n(\mathbb{R})\}$ known? If not, what is the lowest known upper bound?