for string theory are dramatically different. This analogy was one of the original motivations for proposing that $S$ duality should also be a symmetry. The massless bosonic fields of the toroidally compactified heterotic string are the metric tensor $g_{\mu\nu}$, the axion-dilaton field $\rho$, 28 Abelian gauge fields $A_\mu^a$ (6 from the 10d metric, 6 from the 10d two-form, and 16 from the Cartan subalgebra), and the 132 moduli parametrizing ${\cal M}_{6,22}$. These are the only massless bosonic fields at generic points in the classical moduli space. At the singular points, where there is enhanced gauge symmetry, there are more. The 132 moduli are conveniently described as a symmetric $28 \times 28$ matrix belonging to the group $SO(6,22)$: $$M^T = M, ~~ M^T LM = L$$ $$L = \left(\begin{array} {ccc} 0 & I_6 & 0 \cr I_6 & 0 & 0 \cr 0 & 0 & I_{22}
\end{array}\right).$$ Under a $T$ duality transformation given by an $SO(6,22;\ZZ)$ matrix $\Omega$ satisfying $\Omega^T L \Omega = L$ $$M \rightarrow \Omega M \Omega^T, \quad A_\mu \rightarrow \Omega A_\mu {}~,$$ while $g_{\mu\nu}$ and $\rho$ are invariant.

The 28 U(1) gauge fields $A_\mu^a$ give rise to 28 electric and 28 magnetic charges. A convenient way to 