Homotopy equivalence of $BGL_n(\mathbb{R})$ and $BO_n(\mathbb{R})$ I have tried to prove the above thing. My idea was the following: $\iota:O_n(\mathbb{R})\to GL_n(\mathbb{R})$ be the inclusion map which is a group homomorphism. It induces a fibre bundle $B\iota:BO_n(\mathbb{R})\to BGL_n(\mathbb{R})$ with fibre $GL_n(\mathbb{R})/O_n(\mathbb{R})$. Can we conclude anything from here? Or any other line of attack in proving the homotopy equivalence?
 A: As I said in the comments, it suffices to show that there is a group homomorphism $\operatorname{O}_n(\Bbb R) \to \operatorname{GL}_n(\Bbb R)$ which is a homotopy equivalence. We will show that $\operatorname{GL}_n(\Bbb R)$ deformation retracts to $\operatorname{O}_n(\Bbb R)$, so that the inclusion map $\operatorname{O}_n(\Bbb R) \hookrightarrow \operatorname{GL}_n(\Bbb R)$ will give us the required homotopy equivalence.
The idea is to use Gram-Schmidt orthogonalization process to get the deformation retraction. For simplicity, lets work out $n=3$ case (higher $n$'s can be worked out similarly).
Let $(u_1, u_2, u_3) \in \operatorname{GL}_3(\Bbb R)$, where $u_1, u_2, u_3$ are the column vectors. Then, $\{u_1, u_2, u_3\}$ is a basis, which we can orthogonalize using GS-process. Let $\langle - , - \rangle$ denote the standard Euclidean inner product on $\Bbb R^3$ and
$$
{v_1} = u_1
$$
$$
{v_2} = u_2 - \frac{\langle u_2, v_1\rangle v_1}{\|v_1\|^2}
$$
$$
{v_3} = u_3 - \frac{\langle u_3, v_1\rangle v_1}{\|v_1\|^2} - \frac{\langle u_3, v_2\rangle v_2}{\|v_2\|^2}
$$
Then the matrix $(v_1/\|v_1\|, v_2/\|v_2\|, v_3/\|v_3\|)$ is an orthogonal matrix.
The map sending $(u_1, u_2, u_3)$ to $(v_1/\|v_1\|, v_2/\|v_2\|, v_3/\|v_3\|)$ is a retraction $ \operatorname{GL}_n(\Bbb R) \to \operatorname{O}_n(\Bbb R)$ because the GS-process doesn't change an already orthogonal matrix. Now, define,
$$
{v_1}(t) = u_1
$$
$$
{v_2}(t) = u_2 - t\left(\frac{\langle u_2, v_1\rangle v_1}{\|v_1\|^2}\right)
$$
$$
{v_3}(t) = u_3 - t\left(\frac{\langle u_3, v_1\rangle v_1}{\|v_1\|^2} + \frac{\langle u_3, v_2\rangle v_2}{\|v_2\|^2}\right)
$$.
We define $F : \operatorname{GL}_n(\Bbb R) \times I \to \operatorname{GL}_n(\Bbb R)$, as,
$$F((u_1, u_2, u_3), t) = \left( \frac{v_1(t)}{(1-t)+t\|v_1\|}, \frac{v_2(t)}{(1-t)+t\|v_2\|}, \frac{v_3(t)}{(1-t)+t\|v_3\|} \right),$$
the matrix on the right hand side is invertible because if you write it in the $(u_1, u_2, u_3)$ basis, you will get an upper-triangle matrix whose diagonal entries are all non-zeroes.
Check that,
$$F((u_1, u_2, u_3), 0) = (u_1, u_2, u_3)$$
$$F((u_1, u_2, u_3), 1) = (v_1/\|v_1\|, v_2/\|v_2\|, v_3/\|v_3\|)$$
and for $A \in \operatorname{O}_n(\Bbb R)$,
$$F(A, t) = A.$$
Thus, $F$ gives a deformation retraction from $\operatorname{GL}_n(\Bbb R)$ to $\operatorname{O}_n(\Bbb R)$.
This means that the inclusion map $\operatorname{O}_n(\Bbb R) \hookrightarrow \operatorname{GL}_n(\Bbb R)$ is a homotopy equivalence. Of course, it is also a group homomorphism. Now use this result.
