Let $X$ be a smooth projective curve, and $E$ a vector bundle on $X$ such that there exist a bilinear perfect symmetric form $$E\otimes E\rightarrow \mathcal O\_X$$ 


When I see $E$ as a $GL\_r$ principal bundle, the existence of such a form is equivalent to the existence of a reduction of the structure group to the linear orthogonal group $O\_r$, so $E$ is now an $O\_r$ bundle, so the vector bundle $E$ admits transition functions $\{f\_{ij}\}$ such that $$f\_{ij}=\,^tf\_{ij}^{-1}$$


Question: How can one prove directly without passing to the theory of principal bundles that given a vector bundle $E$ with a symmetric perfect pairing as above, then this bundle admits a transition functions as above? 


Many thanks.



Vector bundles with symmetric perfect form
You get this by picking a frame $(e\_1,\dots,e\_r)$ of $E|\_U$ for a neighbourhood $U$ of each point $x$ such that $(e\_i,e\_j)=\delta\_{ij}$. As pointed out by t3suji, these neighbourhoods are étale in general, because they have to carry some square roots of regular functions. If you use such frames to trivialise your bundle, you get transition functions as in the question by an easy computation. Of course, since you have to think about trivialisations and frames, you only avoid the terminology of frame bundles, but they still lurk in the background.


To construct frames as above,
you start with any regular frame $(v\_1, \dots, v\_n)$ near a point $x$ and then apply the [Gram-Schmidt orthogonalisation procedure](https://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process). There is a small caveat, though: if you have already constructed $e\_1, \dots, e\_k$ satisfying $(e\_i,e\_j)=\delta\_{ij}$, and you have made the remaining vectors $v\_{k+1}, \dots, v\_r$ perpendicular to $e\_1, \dots, e\_k$, it can happen that $(v\_i,v\_i)\_x=0$ for all $i>k$. In this case, you find $i$ and $j$ with $(v\_i,v\_j)\_x\ne 0$, so you continue with $w\_i=v\_i+v\_j$, $w\_j=v\_i-v\_j$ instead. Finally, you make your neighbourhood a little smaller if necessary to avoid zeros of $(w\_i,w\_i)$ and pass to a covering to get a square root of $(w\_i,w\_i)$.


