The Representation Theory of the Discrete Fourier Transform

Functions on Groups

Given a finite group GG, I want to consider the algebra of complex-valued functions on GG (i.e. {f:GC}\{f:G \to \C\}).

Why? There are several reasons to study this algebra of functions. From a purely group-theoretic perspective, it is interesting because it can help you understand groups better. Today, however, I'll mostly focus on applications to CS.

What algebra structure are we using?

There are multiple choices of algebra structure on the set of functions {f:GC}\{f:G \to \C\}. Addition and scalar multiplication are pretty straightforward; clearly they should be done pointwise. You might also want to multiply the functions pointwise. This defines a perfectly fine algebra, but then nothing in our algebra actually depends on the group structure. We want to take advantage of the group structure to study these functions. So we won't define multiplication this way. Instead, we take the slightly stranger definition that f1f2(g):=g1g2=gf1(g1)f2(g2) f_1 * f_2 (g) := \sum_{g_1 g_2 = g} f_1(g_1)\cdot f_2(g_2) We call this product convolution.

The group algebra C[G]\C[G] is the algebra of complex-valued functions on GG with pointwise addition and scalar multiplication, and convolution as the product.

Miscellaneous facts about C[G]\C[G]

For hGh \in G, we define the δ\delta-function δh(g):={1g=h0otherwise \delta_h(g) := \begin{cases} 1 & g = h\\0 & \text{otherwise}\end{cases} With the convolution product, the multiplicative identity is the function δe\delta_e.

You can check that fδe(g)=g1g2=gf(g1)δe(g2)=f(g)δe(e)=f(g) f \star \delta_e(g) = \sum_{g_1g_2 = g} f(g_1) \delta_e(g_2) = f(g)\delta_e(e) = f(g) One useful basis for C[G]\C[G] is given by {δhhG}\{\delta_h\;|\;h \in G\}.

We can define a hermitian product on C[G]\C[G] by f1,f2:=1GgGf1(g)f2(g) \inrp {f_1} {f_2} := \frac 1 {|G|} \sum_{g \in G} f_1(g) \cdot \overline{f_2(g)}

Example: C[Z/nZ]\C[\Z/n\Z]

Suggestively, I'll denote δk\delta_k by xkx^k. Then, elements of C[Z/nZ]\C[\Z/n\Z] are sums a=i=0n1aixia = \sum_{i=0}^{n-1} a_i x^i. The product is given by ab=i=0n1[j+k=iajbk]xi a\cdot b = \sum_{i = 0}^{n-1} \left[\sum_{j + k = i} a_j b_k \right]x^i So we see that C[Z/nZ]=C[x]/(xn1)\C[\Z/n\Z] = \C[x]/(x^n-1). This is an important example for CS applications.

One useful tool for studying rings is studying modules over that ring. This trick will be very helpful to us.

Modules over C[G]\C[G]

Let MM be a module over C[G]\C[G]. First, we note that we can use our action of C[G]\C[G] on MM to define an action of C\C on MM. Simply define λm:=(λδe)m\lambda \cdot m := (\lambda \delta_e) \cdot m for all mMm \in M. You can check that this makes MM into a complex vector space. Since δe\delta_e is the multiplicative identity, it commutes with every element of C[G]\C[G]. So the action of every other element of C[G]\C[G] on MM is linear with respect to this C\C-action.

Furthermore, given a C\C-vector space structure on MM, the C[G]\C[G] module structure is entirely determined by how each δg\delta_g acts on MM. So we can describe MM as a complex vector space along with a map ρ:GAut(M)\rho:G \to \Aut(M).

Representations

A representation of GG is a vector space VV along with a homomorphism ρ:GAut(M)\rho:G \to \Aut(M). We will denote this representation (V,ρ)(V, \rho), or just VV.
Given a representation (V,ρ)(V, \rho), a subrepresentation is a linear subspace WVW \subseteq V such that gwWg\cdot w \in W for all wWw \in W. Note that this makes WW into a representation of GG.
A representation is called irreducible if its only subrepresentations are {0}\{0\} and itself. I'll call irreducible GG-representations irreps.
A GG-linear map (or morphism) between representations (V,ρ)(V, \rho), (W,π)(W, \pi) is a linear map ϕ:VW\phi: V \to W such that ϕρ(g)=π(g)ϕ\phi \circ \rho(g) = \pi(g) \circ \phi for all gGg \in G. We denote the set of all such morphisms between representations VV and WW by HomG(V,W)\Hom_G(V, W) (Note that the particular action of GG on VV and WW is important, but we don't write ρ\rho and π\pi explicitly because the notation is already kind of long).
  1. Any nonzero morphism between two irreps is an isomorphism.
  2. Any nonzero morphism from an irrep to itself is an isomorphism.
  1. Let E,FE, F be irreps. Suppose ϕ:EF\phi : E \to F. kerϕ\ker \phi is a linear subspace of EE. And if ϕ(v)=0\phi(v) = 0, then ϕ(gv)=gϕ(v)=0\phi(gv) = g \phi(v) = 0. So kerϕ\ker \phi is GG-invariant. Similarly, imϕ\im \phi is a linear subspace of FF. And if w=ϕ(v)w = \phi(v), then gw=ϕ(gv)gw = \phi(gv). So imϕ\im \phi is also GG-invariant. Since EE and FF are irreducible, this means that kerϕ\ker \phi and imϕ\im \phi are either 0 or the whole vector space. If ϕ\phi is nonzero, we must have kerϕE\ker \phi \neq E, imϕ0\im \phi \neq 0. So ϕ\phi must be an isomorphism.
  2. Let ϕ:EE\phi:E \to E be a nonzero morphism. Since we are working over C\C, it must have a nonzero eigenvalue λ\lambda. Thus, ϕλI\phi - \lambda \I is not an isomorphism. By (a), it must be 0. So ϕ=λI\phi = \lambda \I.

Characters

Given a representation (V,ρ)(V, \rho), we define an associated character χV:GC\chi_V:G \to \C given by χV(g)=Tr[ρ(g)]\chi_V(g) = \Tr[\rho(g)].

Now we've gone full circle and come back to C[G]\C[G].

Note: χV\chi_V is constant on conjugacy classes of GG.

χV(hgh1)=Tr[ρ(hgh1)]=Tr[ρ(h)ρ(g)ρ(h1)]=Tr[ρ(g)ρ(h1)ρ(h)]=Tr[ρ(g)]=χV(g) \chi_V(hgh^{-1}) = \Tr[\rho(hgh^{-1})] = \Tr[\rho(h)\rho(g)\rho(h^{-1})] = \Tr[\rho(g)\rho(h^{-1})\rho(h)] = \Tr[\rho(g)] = \chi_V(g)
A class function is a function on GG that is constant on conjugacy classes.

So we can also think the characters are complex-valued class functions.

There's a very nice theorem about the inner products of characters.

χV,χW=dimHomG(V,W)\inrp {\chi_V} {\chi_W} = \dim \Hom_G(V, W)

I don't have time to prove this at the moment. It's not too hard, though.

For irreps E,FE, F, we have χE,χF={1EF0otherwise \inrp {\chi_E} {\chi_F} = \begin{cases} 1 & E \cong F\\0 & \text{otherwise}\end{cases}

Therefore, the characters of irreps are an orthonormal subset of the group algebra.

Fact: the number of irreducible representations of GG is the same as the number of conjugacy classes of GG. Therefore, characters of irreps form a basis for the space of class functions on GG.

If GG is abelian, the characters of irreps form an orthonormal basis for C[G]\C[G].

Example: C[Z/nZ]\C[\Z/n\Z]

Recall that C[Z/nZ]=C[x]/(xn1)\C[\Z/n\Z] = \C[x]/(x^n-1), the ring of polynomials modulo (xn1)(x^n-1). What do these look like in the irreducible character basis?

What are the irreps of Z/nZ\Z/n\Z?

Irreducible representations of abelian groups are 1-dimensional.
Let (E,ρ)(E, \rho) be an irrep of an abelian group GG. Fix gGg \in G. For every hGh \in G, ρ(g)ρ(h)=ρ(gh)=ρ(hg)=ρ(h)ρ(g)\rho(g)\rho(h) = \rho(gh) = \rho(hg) = \rho(h)\rho(g). Thus, ρ(g)\rho(g) is a GG-morphism from EE to EE. By Schur's lemma, it must be a scalar multiple of the identity. This is true for every element of gg. Therefore, every subspace of EE is a subrepresentation. Since EE is irreducible, this means that EE must have no nontrivial subspaces. So EE must be one-dimensional.

Thus, to find the irreps of Z/nZ\Z/n\Z, we only have to consider homomorphisms ϕ:Z/nZAut[C]=C{0}\phi : \Z/n\Z \to \Aut[\C] = \C \setminus \{0\}. Since Z/nZ\Z/n\Z is cyclic, these homomorphisms are determined by ϕ(1)\phi(1). Since 1 has order nn in Z/nZ\Z/n\Z, ϕ(1)\phi(1) must be an nnth root of unity. Let ω\omega be a primitive nnth root of unity. Then for all k=0,,n1k = 0, \ldots, n-1 we get a homomorphism ϕk:Z/nZC\phi_k : \Z/n\Z \to \C given by ϕk(1)=ωk\phi_k(1) = \omega^k. Since we have found nn irreducible representations, we have them all. Since the representations are all 1-dimensional, these are also the irreducible characters.

We can express a function on Z/nZ\Z/n\Z in the character basis by taking its inner products with the irreducible characters. ϕk,f==0n1ϕk()f()==0n1f()ωk \inrp {\phi_k} f = \sum_{\ell=0}^{n-1} \phi_k(\ell) \overline{f(\ell)} = \sum_{\ell=0}^{n-1} \overline{f(\ell)} \omega^{\ell k} Recall, we expressed these functions ff as f==0n1f()xf = \sum_{\ell = 0}^{n-1} f(\ell) x^{\ell}. So this is essentially evaluating the polynomial on ωk\omega^k. This also looks a lot like the Fourier transform. In fact, it is the Discrete Fourier Transform.

If we write the function as a column vector, we can express this operation by the matrix (111111ωω2ω3ωn11ω2ω4ω6ω2(n1)1ω3ω6ω9ω3(n1)1ωn1ω2(n1)ω3(n1)ω(n1)(n1))(f(0)f(1)f(2)f(3)f(n1)) \begin{pmatrix} 1 & 1 & 1 & 1 & \cdots & 1\\ 1 & \omega & \omega^2 & \omega^3 & \cdots & \omega^{n-1}\\ 1 & \omega^2 & \omega^4 & \omega^6 & \cdots & \omega^{2(n-1)}\\ 1 & \omega^3 & \omega^6 & \omega^9 & \cdots & \omega^{3(n-1)}\\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots\\ 1 & \omega^{n-1} & \omega^{2(n-1)} & \omega^{3(n-1)} & \cdots & \omega^{(n-1)(n-1)} \end{pmatrix} \begin{pmatrix} \overline{f(0)}\\ \overline{f(1)}\\ \overline{f(2)}\\ \overline{f(3)}\\ \vdots\\ \overline{f(n-1)} \end{pmatrix} It turns out that because this matrix is so regularly-structured, we can compute this matrix-vector product really quickly. The Fast Fourier Transform lets us compute this in O(nlogn)O(n \log n) time, which is must faster than the naive O(n2)O(n^2) time for regular matrix-vector products. The Fast Fourier Transform has applications all over CS. It's used in signal processing, data compression (e.g. image processing), solving PDEs, multiplying polynomials, multiplying integers, and convolution, among other things.

Leave a Comment

No comments:

Powered by Blogger.