Well, I need a deformation retract from $GL_n^{+}(\mathbb{R})$ to $SO(n)$
Here is what I tried, let $A\in GL_n^{+}(\mathbb{R})$ $A=(A_1,\dots,A_n)$ where $A_i$'s are column vectors, Recall that the Gram-Schmidt algorithm turns A into an orthogonal matrix by the following sequence of steps. First normalise $A_1$ (i.e. make it unit length) $A_1\mapsto \frac{A_1}{|A_1|}$ next I make $A_2$ orthogonal to $A_1$ like $A_2\mapsto A_2-\langle A_1,A_2\rangle A_1$ and normalize $A_2\mapsto \frac{A_2}{|A_2|}$ like this up to $A_n$
But I am not getting an explicit homotopy which gives me a deformation retract $GL_n^{+}(\mathbb{R})$ to $SO(n)$
By QR decomposition you can write any $A \in \textrm{GL}_n^+ (\Bbb{R})$ as an orthogonal matrix $Q$ times an upper triangular matrix $R$ which you can arrange to be such that $\det Q = 1$. Clearly you can homotope $R$ to the identity matrix and thus $\textrm{GL}_n^+(\Bbb{R})$ deformation retracts onto $\textrm{SO}(n)$.
If you want an explicit deformation retract, you can take the function $F : \textrm{GL}_n^+(\Bbb{R}) \times I \to \textrm{SO}(n)$ given as follows. Write any $A$ in the connected component of the identity as $A= QR$ with $R = (a_{ij})$ upper triangular with entries on the diagonal all positive. Then
$$F(A,t) = Q\times \left(\begin{array}{ccccc} (t) + (1-t)a_{11} & (1-t)a_{12} & \ldots & (1-t)a_{1n} \\ 0 & (t) + (1-t)a_{22} & \ldots & (1-t) a_{2n} \\ & \ddots& \vdots \\ &&\ddots \\ && &t + (1-t)a_{nn} \end{array}\right)$$
is the required deformation retract.
You should note that the same proof shows that $\textrm{GL}_n(\Bbb{C})$ deformation retracts onto $\textrm{U}(n)$.