A generalized FFT for Clifford

Paul Leopardi [email protected]

School of , University of New South Wales. For presentation at ICIAM, Sydney, 2003-07-07.

Real representation R 2

8

16

8 16 http://glucat.sf.net – p.1/27 GFT for finite groups

(Beth 1987, Diaconis and Rockmore 1990; Clausen and Baum 1993)

The generalized Fourier transform (GFT) for a finite G is the representation map D from the group CG to a faithful complex matrix representation of G, such that D is the direct sum of a complete set of irreducible representations.

n D : CG → C(M), D = Dk, k=1 nM where Dk : CG → C(mk), and mk = M. kX=1 The generalized FFT is any fast algorithm for the GFT.

http://glucat.sf.net – p.2/27 GFT for supersolvable groups

(Baum 1991; Clausen and Baum 1993)

Definition 1.

The 2-linear complexity L2(X), of a linear operator X counts non-zero additions A(X), and non-zero multiplications, except multiplications by 1 or −1.

The GFT D, for supersolvable groups has

L2(D) = O(|G|log2|G|).

http://glucat.sf.net – p.3/27 GFT for Clifford algebras

(Hestenes and Sobczyck 1984; Wene 1992; Felsberg et al. 2001)

The GFT for a real universal Clifford algebra, Rp,q, is the representation map P p,q from the real framed representation to the real matrix representation of Rp,q.

Pς(−q,p) N(p,q) P p,q : R → R(2 ), where • ς(a, b) := {a, a + 1, . . . , b} \ {0}. • Pς(−q, p) is the power set of ς(−q, p) , a set of index sets with cardinality 2p+q. • The real framed representation RPς(−q,p) is the set of maps from Pς(−q, p) to R, isomorphic as a real to the set of 2p+q tuples of real numbers indexed by subsets of ς(−q, p).

This is not the “discrete Clifford Fourier transform” of Felsberg, et al.

http://glucat.sf.net – p.4/27 Clifford algebras and supersolvable groups

(Braden 1985; Lam and Smith 1989)

The real universal Clifford algebra Rp,q, is a quotient of the group algebra RGp,q, by an ideal, where Gp,q is a 2-group, here called the frame group. Gp,q is supersolvable. The GFT for Clifford algebras is related to that for supersolvable groups:

D CGp,q −−−→ D (CGp,q) ⊆ C(M)

project project

 D  RG −−−→ D (RG ) ⊆ C(M) yp,q p,qy quotient quotient R R  R N(p,q) p,q −−−→ P p,q ( p,q) ⊆ (2 ) y P p,q y

http://glucat.sf.net – p.5/27 GFT for the neutral Clifford algebra Rn,n

(Braden 1985; Lam and Smith 1989)

The GFT for the neutral Clifford algebra Rn,n is a map: Pς(−n,n) n n P n : R → R(2 ). |Pς(−n, n)| = 4 .

2n+1 The frame group Gn,n is an extraspecial 2-group. |Gn,n| = 2 .

n For Rn,n we might expect L2(P n) = O(n4 ) this way:

P n,n n Rn,n −−−→ R(2 )

CG CGx n,n −−−→ D (  n,n) y D  but there are explicit algorithms for both forward and inverse GFT.

http://glucat.sf.net – p.6/27

Definition 2. If A ∈ R(r) and B ∈ R(s) , then

(A ⊗ B)j,k = Aj,kB if A ⊗ B is treated as an r × r block matrix with s × s blocks.

A well known property of the Kronecker product is:

Lemma 3. If A, C ∈ R(r) and B, D ∈ R(s) , then

(A ⊗ B)(C ⊗ D) = AC ⊗ BD

http://glucat.sf.net – p.7/27 Generating set for Rn,n

(Porteous 1969)

Definition 4. Here and in what follows, define:

n In := unit matrix of dimension 2 , I := I1 0 −1 0 1 J := , K := . " 1 0 # " 1 0 #

Lemma 5. If S is an orthonormal generating set for R(2n−1), then

{−JK ⊗ A | A ∈ S} ∪ {J ⊗ In−1, K ⊗ In−1} is an orthonormal generating set for R(2n).

http://glucat.sf.net – p.8/27 Generalized Fourier transform

Definition 6. Use Lemma 5 to define the GFT of each generator of Rn,n

P ne{−n} := J ⊗ In−1, P ne{n} := K ⊗ In−1,

for 1 − n 6 k 6 n − 1, P ne{k} := −JK ⊗ P n−1e{k}.

We can now compute P neT as: P neT = P ne{k} kY∈T Each basis matrix is monomial and each non-zero is −1 or 1. Pς(−n,n) n We can now define P n : R → R(2 ), by:

P na = aT P neT , for a = aT eT . T ⊆ςX(−n,n) T ⊆ςX(−n,n)

http://glucat.sf.net – p.9/27 Bound for linear complexity of GFT

Theorem 7. 3/2 L2(P n) is bounded by d , n ∼ where d is the dimension of R(2 ) = Rn,n. Proof n n n Since P neT is of size 2 × 2 and is monomial, it has 2 non-zeros.

R(2n) has 4n basis elements.

A(P n) is therefore bounded by

4n × 2n = (4n)3/2 = d3/2,

n ∼ where d is the dimension of R(2 ) = Rn,n. There are no non-trivial multiplications. 

http://glucat.sf.net – p.10/27 Z2 grading and ⊗ are keys to GFT

(Lam 1973) The algebras Rp,q are Z2 -graded. Each a ∈ Rp,q can be split into odd and even parts, a = a+ + a−, with odd × odd = even, etc. Scalars are even and the generators are odd.

We can express P n in terms of its actions on the even and odd parts of + − + − a : P na = P na + P na , a = a + a ∈ Rn,n. Lemma 8. For all b ∈ Rn−1,n−1, we have

+ + − − P nb = I ⊗ P n−1b , P nb = −JK ⊗ P n−1b , so that − − − − (P na )(P nb ) = (−JK ⊗ P n−1a )(−JK ⊗ P n−1b ) − − = I ⊗ (P n−1a )(P n−1b ) − − − − = I ⊗ P n−1(a b ) = P n(a b ).

 http://glucat.sf.net – p.11/27 Recursive expression for P n

Theorem 9. For n > 0, for the GFT P n as per Definition 6, + − for a ∈ Rn,n, a = a + a , with

+ + + + + a = a∅ + e{−n}a−n + an e{n} + e{−n}a−n,ne{n}, − − − − − a = a∅ + e{−n}a−n + an e{n} + e{−n}a−n,ne{n},

+ − we have P na = P na + P na , + + + P na = I ⊗ P n−1a∅ + K ⊗ P n−1a−n+ + + − J ⊗ P n−1an + JK ⊗ P n−1a−n,n, and − − − P na = −JK ⊗ P n−1a∅ + J ⊗ P n−1a−n+ − − K ⊗ P n−1an + I ⊗ P n−1a−n,n.

http://glucat.sf.net – p.12/27 Base cases and linear complexity

Theorem 10.

+ + − P 0a = [a ], P 0a = 0.

− Proof If a ∈ R0,0 then a is even, so a = 0. 

Theorem 11. For n ≥ 0,

n 1 L2(P n) 6 n4 = d log d, 2 2

n where d = 4 is the dimension of Rn,n.

Proof (Sketch) Count non-zero additions at each level of recursion. You will obtain at most 4n additions at each of n levels. 

http://glucat.sf.net – p.13/27 Real framed inner product

Recall that if a ∈ Rn,n, then a can be expressed as

a = aT eT T ⊆ςX(−n,n)

The basis {eT | T ⊆ ς(−n, n)} is orthornormal with respect to the real framed inner product

a • b := aT bT . T ⊆ςX(−n,n) We have

eS • eT = δS,T and aT = a • eT .

http://glucat.sf.net – p.14/27 Normalized Frobenius inner product

Since the GFT P n is an isomorphism, it preserves this inner product. That is, there is an inner product • : R(2n) × R(2n) → R, such that, for a, b ∈ Rn,n,

P na • P nb = a • b,

so P na • P neT = a • eT = aT .

This is the normalized Frobenius inner product. Lemma 12. For A, B ∈ R(2n), the normalized Frobenius inner product:

2n −n T −n A • B := 2 tr A B = 2 Aj,kBj,k, j,kX=1 satisfies P na • P nb = a • b, for a, b ∈ Rn,n.

http://glucat.sf.net – p.15/27 Inverse GFT

−1 Since P na • P neT = aT , we can define Qn := P n by Definition 13.

n Pς(−n,n) Qn : R(2 ) → R For A ∈ R(2n), T ⊆ ς(−n, n),

(QnA)T := A • P neT .

Naive algorithm for Qn evaluates A • P neT for each T ⊆ ς(−n, n).

3/2 n Theorem 14. L2(Qn) 6 d + d log d, where d = 4 . Proof (Sketch)

n n n A(Qn) 6 2 × 4 , and the naive algorithm also needs at most 4 divisions by 2n. 

http://glucat.sf.net – p.16/27 Left Kronecker quotient

The left Kronecker quotient is a binary operation which is an inverse operation to the Kronecker matrix product.

Definition 15.

; : R(r) × R(rs) → R(s), for A ∈ R(r), nnz(A) 6= 0, C ∈ R(rs),

1 Cj,k (A ; C)j,k := , nnz(A) Aj,k AXj,k6=0 where C is treated as an r × r block matrix with s × s blocks, ie. as if C ∈ R(s)(r).

http://glucat.sf.net – p.17/27 Left Kronecker quotient

Theorem 16. The left Kronecker quotient is an inverse operation to the Kronecker matrix product, when applied from the left, as follows:

For A ∈ R(r), nnz(A) 6= 0, B ∈ R(s), we have A ; (A ⊗ B) = B.

Proof

1 Aj,kB A ; (A ⊗ B) = nnz(A) Aj,k AXj,k6=0 1 = B nnz(A) AXj,k6=0 = B

 http://glucat.sf.net – p.18/27 Left Kronecker quotient and orthogonality

Lemma 17. For A ∈ R(2n), B ∈ R(2n), C ∈ R(2ns), if nnz(A) = 2n then A ; (B ⊗ C) = (A0 • B)C, where

0 1 Aj,k = , if Aj,k 6= 0, 0 otherwise. Aj,k

Proof

1 Bj,kC A ; (B ⊗ C) = nnz(A) Aj,k AXj,k6=0 2n 1 0 = A Bj,kC 2n j,k j,kX=1 = (A0 • B)C

 http://glucat.sf.net – p.19/27 Left Kronecker quotient and orthogonality

Lemma 18. If n > 0 and

n+m A ∈ R(2 ) = (P neT ) ⊗ AT , where T ⊆ςX(−n,n) m AT ∈ R(2 ), then (P neT ) ; A = AT , for T ⊆ ς(−n, n).

Corollary 19.

n−1 If n > 0, AI , AJ , AK , AJK ∈ R(2 ),

and A = I ⊗ AI + J ⊗ AJ + K ⊗ AK + JK ⊗ AJK ,

then I ; A = AI , J ; A = AJ ,

K ; A = AK , JK ; A = AJK .

http://glucat.sf.net – p.20/27 Recursive expression for Qn

Theorem 20. n For n > 0, A ∈ R(2 ), Qn as per Definition 13,

+ − Qn(A) = Qn−1(I ; A) − Qn−1(JK ; A) + − + e{−n} Qn−1(JK ; A) + Qn−1(I ; A) e{n} − + + e{−n} Qn−1(K ; A) + Qn−1(J ; A)  − + + −Qn− 1(J ; A) + Qn−1(K ; A) e{n}.  For n = 0, we have Q0[a] = a.

Proof (Sketch) Start with Theorems 9 and 10 and apply Corollary 19. 

http://glucat.sf.net – p.21/27 Linear complexity of inverse GFT

Theorem 21. n L2(Qn) 6 2n4 = d log2 d, n where d = 4 is the dimension of Rn,n.

Proof n−1 Qn uses ; four times. Each time needs at most 4 additions.

Qn also uses Qn−1 four times. So,

n n 1 A(Qn) 6 4 + 4A(Qn−1) 6 n4 = d log d. 2 2

n−1 For Qn, each of the four uses of ; needs 4 divisions by 2.

n So L2(Qn) 6 2n4 = d log2 d. 

http://glucat.sf.net – p.22/27 Benchmark for GluCat implementation

(Lounesto et al. 1987; Lounesto 1992; Raja 1996) • Generic library of universal Clifford algebra templates • For details, see http://glucat.sf.net 

              !     © ¥

© ¤

' " #$ $ & % > * ' ( = &) $ & % © £ < , +, ; -21 0 # 0 . $ / . $ $ & -. : ' " 9 #$ $ & % 6 © ¢ , +, -21 0 # 0 . $ / . $ $ & -.

8 * ' ( &) $ & % 7 6 © ¡ 5

4 ©

© ¡ ¢ ¥ § ¨ © £ ¤ ¦ 3 http://glucat.sf.net – p.23/27 References 1

References

[Ablamowicz 1996] R. Ablamowicz, P. Lounesto, J. M. Parra (eds), Clifford algebras with numeric and symbolic computations, Birkhäuser, 1996. [Baum 1991] Ulrich Baum, “Existence and efficient construction of fast Fourier transforms on supersolvable groups”, Computational Complexity 1 (1991), no. 3, 235–256 [Bayro Corrochano & Sobczyk] E. Bayro Corrochano, G. Sobczyk, with applications in science and engineering. Birkhäuser, 2001. [Beth 1987] Thomas Beth, “On the computational complexity of the general discrete Fourier transform”, Theoretical Computer Science, 51 (1987), no. 3, 331–339. [Braden 1985] H. W. Braden, “N-dimensional spinors: Their properties in terms of finite groups”, J. Math. Phys. 26 (4), April 1985. American Institute of Physics.

http://glucat.sf.net – p.24/27 References 2

References

[Bulow et al. 2001] Thomas Bülow, Michael Felsberg, Gerald Sommer, “Non-commutative hypercomplex Fourier transforms of multidimensional signals”, pp187–207 of [Sommer 2001]. [Chernov 2001] Vladimir M. Chernov, “Clifford algebras as projections of group algebras”, pp461–476 of [Bayro Corrochano & Sobczyk]. [Clausen & Baum 1993] Michael Clausen, Ulrich Baum, Fast Fourier transforms. Bibliographisches Institut, Mannheim, 1993. [Diaconis & Rockmore 1990] Persi Diaconis, Daniel Rockmore, “Efficient computation of the Fourier transform on finite groups”, J. Amer. Math. Soc. 3 (1990), no. 2, 297–332. [Felsberg et al. 2001] Michael Felsberg, Thomas Bülow, ; Gerald Sommer, Vladimir M. Chernov, “Fast algorithms of hypercomplex Fourier transforms”, pp231–254 of [Sommer 2001].

http://glucat.sf.net – p.25/27 References 3

References

[Hestenes & Sobczyk 1984] David Hestenes, Garret Sobczyk, Clifford algebra to geometric calculus : a unified language for mathematics and physics, D. Reidel, 1984. [Lam 1973] T. Y. Lam, The algebraic theory of quadratic forms, W. A. Benjamin, Inc., 1973. [Lam & Smith 1989] T. Y. Lam, Tara L. Smith, “On the Clifford-Littlewood-Eckmann groups: a new look at periodicity mod 8”, Rocky Mountains Journal of Mathematics, vol 19, no 3, Summer 1989. [Lounesto 1987] P. Lounesto, R. Mikkola, V. Vierros, CLICAL User Manual: , Vector Space and Clifford Algebra Calculator for MS-DOS Personal Computers, Institute of Mathematics, Helsinki University of Technology, 1987. [Lounesto 1992] P. Lounesto, “Clifford algebra calculations with a microcomputer”, pp39–55 of [Micali et al. 1989].

http://glucat.sf.net – p.26/27 References 4

References

[Micali et al. 1989] A. Micali, R. Boudet, J. Helmstetter, (eds), Clifford algebras and their applications in mathematical physics : proceedings of second workshop held at Montpellier, France, 1989, Kluwer Academic Publishers, 1992. [Porteous 1969] I. Porteous, Topological geometry, Van Nostrand Reinhold, 1969. [Raja 1996] A. Raja, “Object-oriented implementations of Clifford algebras in C++: a prototype”, in [Ablamowicz 1996]. [Sommer 2001] G. Sommer (ed.), Geometric Computing with Clifford Algebras, Springer, 2001. [Wene 1995] G. P. Wene, “The Idempotent stucture of an infinite dimensional Clifford algebra”, pp161–164 of [Micali et al. 1989].

http://glucat.sf.net – p.27/27