Solution (source code)

= Solution

Identify the pointed <torus> with $\mathbb R^2/\mathbb Z^2$ with $p$ at the origin. Its <fundamental group> is $\mathbb Z^2$, generated by the two coordinate loops. A <homeomorphism> fixing $p$ induces an automorphism of this group, giving
$$
\boxed{\varphi(f)=f_*\in GL(2,\mathbb Z)}.
$$
Functoriality makes it a homomorphism. It is nontrivial, indeed onto: every integer invertible matrix defines a pointed <torus> <homeomorphism> by $x\mapsto Ax$ modulo the <euclidean lattice>.

If $f_*=I$, lift $f$ to a continuous $F:\mathbb R^2\to\mathbb R^2$ with $F(0)=0$. Its deck-transformation law is $F(x+n)=F(x)+n$ for every $n\in\mathbb Z^2$, because the induced map on coordinate loops is identity. Then
$$
H_t([x])=[(1-t)F(x)+tx]
$$
is well defined: adding $n$ changes the bracketed expression by exactly $n$. It is a continuous pointed <homotopy> from $f$ to identity. Hence \b[every kernel element is homotopic to the identity], although the intermediate maps need not be homeomorphisms.