\chapter {Computing homotopy groups} \section {Mathematical aspects} The\index{computing homotopy groups} method used here to compute the homotopy groups is known as the {\bf Whitehead tower}. We recall some mathematical points: \subsection* {1) The Hurewicz theorem.} {\bf Theorem.} {\em Let X be a $1$--connected space such that all its homology groups $H_r(X)$ are null for $0 [K1 Simplicial-Set] (homology s3 0 4) ==> Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Homology in dimension 3 : Component Z ---done--- (setf s3-chml-clss (chml-clss s3 3)) ==> [K12 Cohomology-Class (degree 3)] (setf s3-fibr (z-whitehead s3 s3-chml-clss)) ==> [K37 Fibration] (setf s3-total (fibration-total s3-fibr)) ==> [K43 Simplicial-Set] (homology s3-total 0 6) Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Homology in dimension 3 : Homology in dimension 4 : Component Z/2Z Homology in dimension 5 : ---done--- \end{verbatim}} Let us show a similar example with the space $Moore(2,4)$. As $H_4 \simeq {\Z}/{2 {\Z}}$, the function for building the fibration is {\tt z2-whitehead}. We verify that $\pi_5(Moore(2,4))\simeq {\Z}/{2 {\Z}}$ {\footnotesize\begin{verbatim} (setf m24 (moore 2 4)) ==> [K1 Simplicial-Set] (show-structure m24 6) ==> Dimension = 0 : Vertices : (*) Dimension = 1 : Dimension = 2 : Dimension = 3 : Dimension = 4 : Simplex : M4 Faces : ( ) Dimension = 5 : Simplex : N5 Faces : ( ) Dimension = 6 : NIL (homology m24 0 5) ==> Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Homology in dimension 3 : Homology in dimension 4 : Component Z/2Z ---done--- (setf m24-chml-clss (chml-clss m24 4)) ==> [K12 Cohomology-Class (degree 4)] (setf m24-fibr (z2-whitehead m24 m24-chml-clss)) ==> [K49 Fibration] (setf m24-total (fibration-total m24-fibr)) ==> [K55 Simplicial-Set] (homology m24-total 0 6) ==> Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Homology in dimension 3 : Homology in dimension 4 : Homology in dimension 5 : Component Z/2Z ---done--- \end{verbatim}} We may even verify that, up to $9$, the homotopy groups of the classifying group $K({\Z},5)$, for instance, are null except $\pi_5$. This is a far-fetched method to verify this well known result, but it proves that the software is coherent. {\footnotesize\begin{verbatim} (setf k5 (k-z 5)) ==> [K49 Abelian-Simplicial-Group] (setf k5-chml-clss (chml-clss k5 5)) ==> [K576 Cohomology-Class (degree 5)] (setf k5-fibr (z-whitehead k5 k5-chml-clss)) ==> [K579 Fibration] (setf k5-total (fibration-total k5-fibr)) ==> [K580 Kan-Simplicial-Set] (homology k5-total 0 10) ==> Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Homology in dimension 3 : Homology in dimension 4 : Homology in dimension 5 : Homology in dimension 6 : Homology in dimension 7 : Homology in dimension 8 : Homology in dimension 9 : ---done--- \end{verbatim}} Let us show now the iteration of the process, to get for instance $\pi_5(S^3)$ and $\pi_6(S^3)$: {\footnotesize\begin{verbatim} (setf s3 (sphere 3)) ==> [K1 Simplicial-Set] (setf s3-chml-clss (chml-clss s3 3)) ==> [K12 Cohomology-Class (degree 3)] (setf s3-fibration (z-whitehead s3 s3-chml-clss)) ==> [K37 Fibration] (setf s3-4 (fibration-total s3-fibration)) ==> [K43 Simplicial-Set] (homology s3-4 4) ==> Homology in dimension 4 : Component Z/2Z ---done--- (setf s3-4-chml-clss (chml-clss s3-4 4)) ==> [K253 Cohomology-Class (degree 4)] (setf s3-4-fibration (z2-whitehead s3-4 s3-4-chml-clss)) ==> [K292 Fibration] (setf s3-5 (fibration-total s3-4-fibration)) ==> [K298 Simplicial-Set] (homology s3-5 5) ==> Homology in dimension 5 : Component Z/2Z ---done--- (setf s3-5-chml-clss (chml-clss s3-5 5)) ==> [K609 Cohomology-Class (degree 5)] (setf s3-5-fibration (z2-whitehead s3-5 s3-5-chml-clss)) ==> [K624 Fibration] (setf s3-6 (fibration-total s3-5-fibration)) ==> [K630 Simplicial-Set] (homology s3-6 6) ==> Component Z/12Z \end{verbatim}} An interesting example is given by the real projective space $P^\infty{\R}/P^1{\R}$ which may be built in {\tt Kenzo} by the function {\tt r-proj-space}. We list its first homotopy groups. {\footnotesize\begin{verbatim} (setf x (r-proj-space 2)) ==> [K1 Simplicial-Set] (homology x 0 10) ==> Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Component Z Homology in dimension 3 : Component Z/2Z Homology in dimension 4 : Homology in dimension 5 : Component Z/2Z Homology in dimension 6 : Homology in dimension 7 : Component Z/2Z Homology in dimension 8 : Homology in dimension 9 : Component Z/2Z ---done--- \end{verbatim}} Using the machinery described in this chapter, we find that the total space of the fibration has the same homology groups as $S^3$. It has been effectively proved that this space is homotopic to $S^3$. {\footnotesize\begin{verbatim} (setf ch (chml-clss x 2)) ==> [K12 Cohomology-Class (degree 2)] (setf f2 (z-whitehead x ch)) ==> [K25 Fibration] (setf x3 (fibration-total f2)) ==> [K31 Simplicial-Set] (homology x3 0 10) ==> Homology in dimension 0 : Component Z Homology in dimension 1 : Homology in dimension 2 : Homology in dimension 3 : Component Z Homology in dimension 4 : Homology in dimension 5 : Homology in dimension 6 : Homology in dimension 7 : ---done--- \end{verbatim}} \subsection* {Lisp files concerned in this chapter} {\tt whitehead.lisp}, {\tt smith.lisp}.