Constructing a Hausdorff space with a given fundamental group via a matrix space Consider the topological $\mathbb{R}$-vector space $V$ of $2 \times \infty$ matrices $A$ of the form $$A=\left [ \begin{matrix}
    a_1 & a_2 & a_3 & \cdots \\
    b_1 & b_2 & b_3 & \cdots \\
   \end{matrix} \right ]$$
where all but finitely many entries are zero. The topology is induced by a metric $d$ defined by $d(A,B)=\max_{ij}(|A_{ij}-B_{ij}|)$.
We consider in particular the subspace (topological subspace, not a vector subspace) $U$ of $V$ consisting of matrices whose columns span $\mathbb{R}^2$.
We want to prove two things. First, that $U$ is contractible (as a topological space). Second, and this is really the hard part, we want to use $U$ to construct, for any finite subgroup $G$ of $GL_{2}(\mathbb{R})$, a Hausdorff space $X_{G}$ whose fundamental group is $G$.
I'm already stuck on contractibility. A very naive approach is trying to contract things to $0$, but this doesn't work since the matrix with all entries $0$ does not have columns that span $\mathbb{R}^2$.
 A: I will be using  the notation
$$
  (u_1, u_2,u_3, \ldots ) :=   \pmatrix{a_1 & a_2 & a_3 & \ldots \cr b_1 & b_2 & b_3 & \ldots }
  $$
where each $u_j$ is the $j^{\text{th}}$ column of the matrix on the right hand side.
Here is how to construct a homotopy from the identity  map on $U$ to the shift map
$$
  S:(u_1, u_2,u_3, \ldots ) \mapsto  (0,  u_1, u_2,\ldots ).
  $$
Define
$$
  H: (t, u) \in  [0,1]\times U\mapsto v\in  U,
  $$
where
$$
  v_j = \left\{\matrix{
  (1-t)u_1, & \text{if }  j=1,  \cr
  (1-t)u_j + t u_{j-1}, & \text{if }  j>1.
}
\right.
  $$
In other words,  the $1^{\text{st}}$ coordinate of $H(t, u)$ consists of a  slowly vanishing $1^{\text{st}}$ coordinate
of $u$, while the $j^{\text{th}}$ coordinate of $H(t, u)$ runs along te segment joininig the $j^{\text{th}}$ and
$(j-1)^{\text{st}}$ coordinates of $u$.
It is evident that $H(0,\cdot)$  is the identity map, that $H(1,\cdot)$  is the shift,  so it is enough to check that
$H$ is well defined in the sense that $H(t,u)$ indeed lies in $U$ for every $(t,u)\in  [0,1]\times U$.   In order to do this we
will  verify that when
$$
  v=H(t,u),
  $$
the span of the columns of $v$, here denoted
$\text{span}(v)$, contains $\text{span}(u)$.
When $t=1$ this is obvious, so we assume that $t\in [0,1)$.  Since $v_1$ is a nonzero multiple of $u_1$, we have that $u_1\in
\text{span}(v)$.  By induction, assuming that $u_{j-1}$ lies in $\text{span}(v)$,  notice that
since
$$
  v_j=(1-t)u_j + t u_{j-1},
  $$
we have that
$$
  u_j =   \frac{v_j- t u_{j-1}}{1-t} \in  \text{span}(v).
  $$
The rest of the argument to prove that $U$ is contractible  has been explained in the comments by @freakish, and the
last part of the question follows from Allen Hatcher's "Algebraic Topology" book, also pointed out by @freakish.
Incidentally,  the argument above is essentially also due to @freakish even though they claim in a comment that it does
not work.
