How to find orthonormal frame of given metric? I want to find the orthonormal frame associated to the following Riemann metric on $\Bbb R^5$:
$$g=\begin{pmatrix}
1+y^2+t^2 & yw &t&0&-y\\yw& 1+w^2+t^2&0&t&-w\\
t&0&1&0&0\\
0&t&0&1&0\\-y&-w&0&0&1
\end{pmatrix},$$
where $(x,y,z,w,t)$ is local coordinate chart. It is clear to me that $e_5=\frac{\partial}{\partial t},e_4=\frac{\partial}{\partial w},e_3=\frac{\partial}{\partial z}$ but I don't know how to compute the $e_1$ and $e_2$?
 A: I don't know how to do it directly. Probably using Gram-Schmidt Algorithm ?. In my experience, you may write down the metric as $ds^2 = g_{ij} dx^i dx^j$. Rearrange the terms gives
\begin{equation}
ds^2  = dx^2 + dy^2 + (wdy+ydx-dt)^2 +(dw+tdy)^2 + (dz+tdx)^2
\end{equation}
take the coframe field 
$$\theta^1 = dx, \quad \theta^2=dy,\quad  \theta^3=wdy+ydx-dt, \quad  \theta^4=dw+tdy, \quad \theta^5 = dz+tdx$$
Then use transformation law for the basis vector to get the orthonormal frame. If $\theta^{\mu}=e^{\mu}_i dx^i$ and let $[E^{i}_{\mu}]$ be the inverse of $[e^{\mu}_i]$, then the orthonormal frame is $e_{\mu} = E_{\mu}^i \partial_i$.
$\textbf{EDIT :}$
I kind a feel uneasy by finding the orthonormal frame without Gram-Schmidt. So here i present the result by using that algorithm. Because $\{\partial_x,\partial_y, \partial_z, \partial_w, \partial_t\}$ is a local frame, the GS method gives an orthonormal frame $\{E_i\}_{i=1,\dots, 5}$ as
$$
E_i = \frac{\partial_i - \sum_{j=1}^{i-1} (\partial_i \cdot E_j)  E_j}{|\partial_i - \sum_{j=1}^{i-1} (\partial_i \cdot E_j)  E_j|}
$$
$$
E_1  = \partial_t, \quad E_2=\partial_w,\quad E_3 = \partial_z, \quad E_4 = \partial_y+w\partial_t-t \partial_w, \quad E_5 = \partial_x-t\partial_z +y \partial_t
$$
By the way, in this case actually Gram-Schmidt is faster than my construction before.
A: Of course, there are infinitely many orthonormal frames associated to a given metric, so there is no unique answer.  If you use Maple, you can load the DifferentialGeometry package and its Tensor sub-package.  Then you will have access to the commands "QuadraticFormSignature" and "DGGramSchmidt". Either of these commands can be used to build an orthonormal frame from the metric. See the help files for these commands for examples on how to use them. 
