147
EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2007 1

EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS

By

XIQIANG ZHENG

A DISSERTATION PRESENTED TO THE GRADUATE SCHOOLOF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT

OF THE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA

2007

1

Page 2: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

c© 2007 Xiqiang Zheng

2

Page 3: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

To my mom Yuehua Su, for her continuous encouragement

3

Page 4: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

ACKNOWLEDGMENTS

Though this research is an individual work, I could never have reached the heights

or explored the depths without the help, support, guidance and effort of many people.

Thank my advisors, Dr. Andrew Vince and Dr. Gerhard X. Ritter, for their invaluable

supervision and for the generous amount of time they spent on this research. Throughout

my doctoral work they encouraged me to develop independent thinking and research skills.

In particular, Dr. Vince provided important insight, applying algebraic and combinatorial

techniques to simplify many proofs. Dr. Gerhard X. Ritter introduced me to this exciting

and challenging research area, and guided this research until the time of his surgery.

I also thank the other members of my committee: Dr. David C. Wilson, Dr. Tim

Olson, and Dr. Joseph N. Wilson for their helpful discussions and encouragement. Dr.

David Wilson regularly attended research meetings and discussions, and provided many

important observations. Dr. Olson gave many useful suggestions.

I express my appreciation to the Department of Mathematics for offering me a full

teaching assistantship and a Grinter fellowship, and to the Department of Computer

and Information Science and Engineering (CISE) for offering me a partial research

assistantship. Also my appreciation goes to Mrs. Jane Smith and Mrs. Ronnie Khuri,

for the enjoyment of teaching with them, and to the staff of both the Mathematics

Department and the CISE Department for their kind help whenever needed.

Furthermore, thanks go to Pyxis Innovation Inc. for their financial support of this

research, and to the people there for their friendship and help. Special thanks to Dr.

Charles Herring for serving as the mentor of this research project and for his important

references.

I am most grateful to my wife, Lihua Yang, for her love, patience and encouragement

during these years of my graduate study.

4

Page 5: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

TABLE OF CONTENTS

page

ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

CHAPTER

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 DISCRETE FOURIER TRANSFORM (DFT) . . . . . . . . . . . . . . . . . . . 19

2.1 Discrete Fourier Transform on the Quotient Group of Two Lattices . . . . 192.2 Convolution and Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3 DFT on a Lattice and the Corresponding Periodicity Matrix . . . . . . . . 242.4 Relation Between the DFT and the Continuous Fourier Transform . . . . . 25

3 DFT ON SOME PREVIOUSLY STUDIED HEXAGONAL ARRAYS . . . . . . 27

4 REGULAR HEXAGONAL STRUCTURE AND ITS TWO SPECIAL TYPES . 31

4.1 Regular Hexagonal Structures . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 Type A Regular Hexagonal Structure . . . . . . . . . . . . . . . . . . . . . 314.3 Type B Regular Hexagonal Structure . . . . . . . . . . . . . . . . . . . . . 364.4 Relation Between the Type A and B RHS and Some Previously Studied

Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5 FAST ALGORITHMS FOR COMPUTING THE DFT ON THE TWO SPECIALTYPES OF THE RHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.1 Convert the DFT on a Tile of a Tiling by Translations by a Sublattice toa Standard DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2 Fast Algorithms for the DFT and its Inverse on the Type A RHS . . . . . 485.3 Fast Algorithms for the DFT and its Inverse on the Type B RHS . . . . . 585.4 Computational Complexity and Cooley-Tukey Factorization for the DFT

on the Type A and Type B RHS . . . . . . . . . . . . . . . . . . . . . . . 59

6 PYXIS STRUCTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.1 Definition and Labeling of the Pyxis Structure . . . . . . . . . . . . . . . . 626.1.1 The Definition of the Pyxis Structure . . . . . . . . . . . . . . . . . 626.1.2 The Labeling of the Pyxis Structure . . . . . . . . . . . . . . . . . . 676.1.3 Addition of the Labels of the Pyxis Structure . . . . . . . . . . . . . 70

6.2 Pyxis P (n) Does Not Tile the Underlying Lattice by Translations by a Sublatticefor any n > 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5

Page 6: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

6.2.1 Pyxis P (2n−1) Does Not Tile the Underlying Lattice by Translationsby a Sublattice for any n > 1 . . . . . . . . . . . . . . . . . . . . . . 91

6.2.2 Pyxis P (2n) Does Not Tile the Underlying Lattice by Translationsby a Sublattice for any n > 1 . . . . . . . . . . . . . . . . . . . . . . 99

7 FRACTAL DIMENSION OF THE BOUNDARY OF THE PYXIS STRUCTURE 112

7.1 The Limit of the Pyxis Structure . . . . . . . . . . . . . . . . . . . . . . . 1127.2 Fractal Dimension of the Boundary of the Pyxis Structure . . . . . . . . . 114

8 SUMMARY OF THIS RESEARCH . . . . . . . . . . . . . . . . . . . . . . . . . 141

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

6

Page 7: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

LIST OF FIGURES

Figure page

1-1 Arrays of type A and type B RHS. a). The third level of the type A RHS. b).The second level of the type B RHS. . . . . . . . . . . . . . . . . . . . . . . . . 13

1-2 The Pyxis structure at level one through four where P (1) consists of seven redhexagons, P (2) consists of 13 blue hexagons, P (3) consists of 55 green hexagons,and P (4) consists of 133 black hexagons. The three dashed vectors show thelabel addition 0506⊕ 2005 = 1040 . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1-3 Tessellating sphere using hexagons and 12 pentagons in multiresolutions. . . . . 15

1-4 Flattened polygons used to tessellate the sphere. (a) shows the 20 hexagons and12 pentagons in the tessellation. (b) displays each pentagon in Figure (a) as ahexagon with one of its six directions empty. . . . . . . . . . . . . . . . . . . . . 15

1-5 The (dashed) division lines of the next level are generated from those (solid)division lines of the previous level. (a) and (b) show the division lines near ahexagon and a pentagon of the previous level respectively. . . . . . . . . . . . . 16

1-6 The green polygons obtained from the division of the sphere at level one usingthe scheme of Figure 1-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1-7 The red polygons obtained from the division of the sphere at level two usingscheme of Figure 1-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3-1 The first three levels of the GBT 2 aggregates. . . . . . . . . . . . . . . . . . . . 27

3-2 Arrays studied in Ehrhardt [12], and Sun and Yao [40]. (a) Hexagonal samplingof a rectangular region used in [12] and Fitz and Green [14]. (b) The array usedin Sun and Yao [40] consisting of 3n2 lattice points, where n = 9. . . . . . . . . 28

3-3 Arrays studied in Anterrieu et al. [2]. (a) An array shown in Figure 3 on Page 2533of Anterrieu et al. [2]. (b) The array obtained from the array in Figure (a) byomitting the boundary points on the top row and the two upper sides. (c) Thearray obtained from the array in Figure (a) by omitting one of its two consecutiveboundary points. (d) The periodic extension from the array in Figure (c) to anarray of a rhombus shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4-1 Arrays of the type A RHS. (a) The lattice points of <A2 . (b) The lattice points

of <A3 . The coordinates inside each hexagon are for the basis

vA

1 ,vA2

. . . . . . 32

4-2 Arrays of the type B RHS. (a) The lattice points of <B2 . (b) The lattice points

of <B3 . The coordinates inside each hexagon are for the basis

vB

1 ,vB2

. . . . . . 38

4-3 The lattice points of <B2n (red) and LB (blue) where n = 6. . . . . . . . . . . . . 42

7

Page 8: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

4-4 Comparison of a previously studied array structure with the type A RHS. (a)The lattice points of Γ4. (b) The lattice points of <A

3 . . . . . . . . . . . . . . . . 44

4-5 Comparison of a previously studied array structure with the type B RHS. (a)The lattice points of Υ3. (b) The lattice points of <B

3 . . . . . . . . . . . . . . . 45

5-1 The lattice points enclosed by the blue dashed polygon form the set of coset

representatives U of (LA3 )∗/(LA)∗. . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6-1 The generators of the lattices L1 and L2, and the lattice points contained inβ1 and β2. In this figure, the two red vectors are v1,1 and v1,2, the two dashedgreen vectors are v2,1 and v2,2, β1 consists of the six black * points, and β2 consistsof the six blue o points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6-2 The first 4 levels of the Pyxis structure where P (1) consists of 7 blue hexagons,P (2) consists of 13 red hexagons, P (3) consists of 55 green hexagons, and P (4)consists of 133 black hexagons. In this figure, the black vector is the sum of thetwo blue vectors. It follows that the coordinates of the lattice point labeled 0205is the sum of the coordinates of the two lattice points labeled 0030 and 0001,respectively. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6-3 Voronoi cells of the lattice points of P(2t+1) which are generated from the latticepoints of P(2t −1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6-4 The boundary hexagons of Q0 and Q. (a) The black hexagon Q0 has boundaryindex 1. (b) The boundary hexagon Q should be one of the three red hexagons. 97

6-5 The 13 lattice points in the set (q + β2n)⋃

(q + β2n−1) and their Voronoi cells. . 100

6-6 Generation of the boundary hexagons of P (2n). . . . . . . . . . . . . . . . . . . 107

6-7 Tiling of P (2). (a) Uj is a hexagon and next to Bj but not in P (2n) for j =1, 2. (b) Showing where is W3 located. . . . . . . . . . . . . . . . . . . . . . . . 110

7-1 The boundary hexagons of P (2n) and P(2n+2). (a) The black hexagons Q, R,and T of P (2n) such that Q is B-connected to R and T , the boundary index ofQ is 4, and the boundary index of R and T is 1. (b) The boundary hexagonsof P(2n+2) which have boundary index 2 or 4. Their Voronoi cells overlap theinterior of the boundary hexagon Q of P (2n), where A4, B4, and C4 have boundaryindex 4, and D2 and E2 have boundary index 2. . . . . . . . . . . . . . . . . . . 115

7-2 The boundary hexagons of P (2n) and P(2n+2). (a) The black hexagons Q, R,and T of P (2n) such that Q is B-connected to R and T , the boundary index ofQ is 2, and the boundary index of R and T is 1. (b) The boundary hexagonsof P(2n+2) which have boundary index 2 or 4, and whose Voronoi cells overlapthe interior of the boundary hexagon Q of P (2n), where A4 has boundary index4, and B2 and C2 have boundary index 2. . . . . . . . . . . . . . . . . . . . . . 116

8

Page 9: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

7-3 The boundary hexagons of P (2n) and P(2n+2). (a) The black hexagons Q, R,and T of P (2n) such that Q is B-connected to R and T , the boundary index ofQ is 1, and the boundary index of R and T is 2 or 4. (b) The boundary hexagonsof P(2n+2) which have boundary index 2 or 4, and whose Voronoi cells overlapthe interior of the boundary hexagon Q of P (2n), where A and B have boundaryindex 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

7-4 The distance from a point x to a given lattice point y and the distance from xto the six neighbors of y in the lattice. . . . . . . . . . . . . . . . . . . . . . . . 120

7-5 The containment relation among Voronoi cells of P (2n) and P(2n+1). (a) showsthat the (blue) Voronoi cell V2n(y) is contained in the (black) Voronoi cell V2n−1(y),where V2n(y) has a horizontal side and V2n−1(y) has a vertical side. (b) showsthat y∈ P (2n) is the centroid of the triangle with vertices q∈ P(2n −1), r∈P(2n −1), and t∈ P(2n −1). It also shows that the (blue) Voronoi cell of y∈L2n is contained in the union of the (black) Voronoi cells of q∈ L2n−1, r∈ L2n−1,and t∈ L2n−1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

7-6 The green Voronoi cell V2n+1(y) is contained in the black Voronoi cell V2n−1(y0). 124

7-7 For any two hexagons of P(2k+2) each having boundary index 2 or 4 such thatthe distance between them is ρ2k+2, there exists a hexagon of P(2k+2) that isnext to both of them, where Q, R and S are hexagons of P (2k). (a) The hexagonS is next to Q and R, and its centroid lies below the line connecting the centroidsof Q and R. (b) shows that, for any two blue hexagons of P(2k+2) (each havingboundary index 2 or 4) such that the distance between them is ρ2k+2, there existsa hexagon of P(2k+2) that is next to these two blue hexagons. . . . . . . . . . . 133

7-8 The lattice points q, r, s∈ P (2n−2) and the lattice points in q + β2n, r+β2n,and s + β2n, where s is next to both q and r in the lattice L2n−2. . . . . . . . . 138

9

Page 10: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Abstract of Dissertation Presented to the Graduate Schoolof the University of Florida in Partial Fulfillment of theRequirements for the Degree of Doctor of Philosophy

EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS

By

Xiqiang Zheng

December 2007

Chair: Andrew VinceCochair: Gerhard X. RitterMajor: Mathematics

A main concern of my research is the discrete Fourier transform (DFT) on two

sequences of arrays, each of which consists of a finite number of lattice points (pixels) on

a hexagonal grid. There are efficient addressing schemes for these arrays that allow for

zooming in and out on an image in a hexagonal grid to view fine image details or global

image features. We consider the formulation and the efficient computation of the DFT on

those arrays. Some related problems such as the arithmetic for the labels of those lattice

points are studied as well.

Each array in the first sequence consists of all lattice points of a hexagonal grid

enclosed in a regular hexagon and has the same axes of symmetry as the enclosing

hexagon. It is shown that the DFT on such an array is amenable to a standard Fast

Fourier Transform and can be computed as a one dimensional DFT. We also provide an

efficient method for evaluating the DFT of a function defined on that array based on the

corresponding one dimensional standard DFT.

The second sequence is called a Pyxis structure, which originated with Pyxis

Innovation Inc. to create an efficient sampling scheme for the earth. Each lattice point in

the nth array of the Pyxis structure is assigned a special label for quick data retrieval. We

provide a recursive definition of the Pyxis structure, and show how such a label is assigned

based on a certain unique algebraic representation of the corresponding lattice point.

Also, we implement an efficient algorithm to determine the label of the vector sum of any

10

Page 11: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

two lattice points whose labels are given. The recursive definition and algebraic labeling

scheme is used to show that, for any integer n > 2, the DFT on the nth array of the Pyxis

structure is not amenable to any standard DFT. Furthermore, the fractal dimension of the

limit boundary of the Pyxis structure is shown to be ln 4ln 3

.

11

Page 12: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 1INTRODUCTION

Traditional image processing algorithms and digital image transforms are usually

carried out on pixels of square grids. However, as shown in Allen [1], physical pixels

such as printer dots and electron beams usually have circular shapes and thus operate

more effectively on hexagonal grids, where a hexagonal grid is a tessellation of the plane

by regular hexagons. The pixels of hexagonal grids also provide for higher packing

density of discs and give a more accurate approximation of circular regions than that

of square grids. Furthermore the pixels of hexagonal grids are uniformly connected

in the sense that the distance from a given pixel to any adjacent pixel is the same.

Hence, hexagonal grids are used by a wide variety of researchers in areas such as image

processing (Middleton and Sivaswamy [30], Balasubramaniyam et al. [3], and Strand [39]),

computer graphics (Tytkowski [42]), geoscience (Carr et al. [6]) and ecology (Jurasinski

and Beierkuhnlein [20]). For example, they are being used in the soil moisture and

ocean salinity space mission (Anterrieu et al. [2], and Camps et al. [5]). F. Morgan and

R. Bolton have shown in [32] that, for the efficiency of the distribution of centers of

production, regular hexagons are superior to any other collection of shapes.

The set consisting of all centers of pixels of a hexagonal grid is called a hexagonal

lattice. In general, a d-dimensional lattice in Rd is the set of all integer linear combinations

of d independent vectors. The elements of a lattice are called lattice points. The Voronoi

cell of a lattice point of a d-dimensional lattice consists of those points of Rd which are

closest to that point than any other lattice point of the lattice. Because of the obvious

one to one correspondence between Voronoi cells and lattice points of a lattice, sometimes

we treat a set of lattice points as the corresponding set of Voronoi cells in the plotting to

get a better visualization effect which can be seen in Figure 1-1. An array of a lattice is

a finite subset of the lattice and an array structure is a sequence of arrays. The nth array

of an array structure is called the nth level of the array structure. For example, the array

12

Page 13: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

structure whose nth level is a square shaped array of n× n lattice points of a square lattice

is used for image zooming on square grids. An array (structure) of the hexagonal lattice is

called a hexagonal array (structure). This research concerns the following two hexagonal

array structures which are used for hexagonal image processing.

(a) (b)

Figure 1-1. Arrays of type A and type B RHS. a). The third level of the type A RHS. b).The second level of the type B RHS.

A regular hexagonal structure (RHS) is a hexagonal array structure such that, at

any given level, the underlying hexagonal lattice is a disjoint union of translated copies,

and the set of lattice points whose coordinates are the same as the coordinates of those

translations also forms a hexagonal lattice. An algebraic definition of a RHS as well as

two particular types of RHSs, called type A and type B, are provided in Chapter 4. Each

array within the type A (type B) RHS consists of all hexagonal lattice points enclosed

in a regular hexagon and has the same centroid and axes of symmetry as the enclosing

hexagon. Figure 1-1 shows one array of each type. Pyxis structure, denoted P , is a

hexagonal array structure together with a natural method for labeling the lattice points

(or hexagons). Let P (n) denote the nth level of P for any integer n ≥ 0. The precise

definition of P and P (n) are given in Chapter 6, and P (1) through P (4) are shown

in Figure 1-2. The name and concept of the Pyxis structure originated with PYXIS

Innovation Inc. (Peterson [33]), a Canada based company whose goal is an efficient

13

Page 14: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

0 6

12

3

4 5

06

01

02

03

04

05

00 60

1020

30

40 50

006

001002

003

004 005

606

601602

603

604 605

106

101102

103

104 105

206

201202

203

204 205

306

301302

303

304 305

406

401402

403

404 405

506

501502

503

504 505

060

010

020

030

040

050

000 600

100200

300

400 500

06060601

0602

06030604

0605

01060101

0102

01030104

01050206

02010202

02030204

0205

03060301

0302

03030304

03050406

04010402

04030404

0405

05060501

0502

05030504

0505

00060001

0002

00030004

0005

60066001

6002

60036004

6005

10061001

1002

10031004

1005

20062001

2002

20032004

2005

30063001

3002

30033004

3005

40064001

4002

40034004

4005

50065001

5002

50035004

5005

0060

00100020

0030

0040 0050

6060

60106020

6030

6040 6050

1060

10101020

1030

1040 1050

2060

20102020

2030

2040 2050

3060

30103020

3030

3040 3050

4060

40104020

4030

4040 4050

5060

50105020

5030

5040 5050

0600

0100

0200

0300

0400

0500

0000 6000

10002000

3000

4000 5000

Figure 1-2. The Pyxis structure at level one through four where P (1) consists of seven redhexagons, P (2) consists of 13 blue hexagons, P (3) consists of 55 greenhexagons, and P (4) consists of 133 black hexagons. The three dashed vectorsshow the label addition 0506⊕ 2005 = 1040

sampling scheme for the surface of the earth (Figure 1-3). The following shows the

structure of this efficient sampling scheme. Consider a sphere which is tessellated by 20

regular hexagons and 12 regular pentagons. Figure 1-4 shows the sphere with those 32

polygons flattened onto the plane. For each side of those polygons, make a line segment

(as the dashed blue lines in Figure 1-5) with length being equal to the length of the given

side divided by√

3 such that this line segment and the given side are perpendicular to

and bisect each other. After any two neighboring ends are connected using lines as the

dashed red lines in Figure 1-5, we get a set of polygons at the next level which consist

of 80 hexagons and 12 pentagons dividing the sphere into smaller polygonal regions.

Figure 1-6 displays the flattened versions of those 80 hexagons and 12 pentagons (taken as

hexagons with one direction empty) on a plane. If the division rule shown in Figure 1-5 is

14

Page 15: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Figure 1-3. Tessellating sphere using hexagons and 12 pentagons in multiresolutions.

−60 −40 −20 0 20 40 60 80

−60

−40

−20

0

20

40

60

−60 −40 −20 0 20 40 60 80

−60

−40

−20

0

20

40

60

(a) (b)

Figure 1-4. Flattened polygons used to tessellate the sphere. (a) shows the 20 hexagonsand 12 pentagons in the tessellation. (b) displays each pentagon in Figure (a)as a hexagon with one of its six directions empty.

applied recursively, then the sphere is divided into smaller and smaller polygonal regions

but the number of pentagonal regions is always 12. The division of the sphere by applying

such recursion n times is called the division of the sphere at level n. Figure 1-6 and 1-7

15

Page 16: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−20 −15 −10 −5 0 5 10 15 20

−20

−15

−10

−5

0

5

10

15

20

−15 −10 −5 0 5 10 15

−15

−10

−5

0

5

10

15

(a) (b)

Figure 1-5. The (dashed) division lines of the next level are generated from those (solid)division lines of the previous level. (a) and (b) show the division lines near ahexagon and a pentagon of the previous level respectively.

−60 −40 −20 0 20 40 60 80

−60

−40

−20

0

20

40

60

Figure 1-6. The green polygons obtained from the division of the sphere at level one usingthe scheme of Figure 1-5.

show the flattened versions of such divisions at level one and level two, respectively. For

any integer n > 1, the set of all cells of the sphere at the nth level is a disjoint union of 20

copies of P (n− 1) and 12 copies of P (n) by omitting one of its six directions. For example,

16

Page 17: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−60 −40 −20 0 20 40 60 80

−60

−40

−20

0

20

40

60

Figure 1-7. The red polygons obtained from the division of the sphere at level two usingscheme of Figure 1-5.

Figure 1-7 shows that the set of all cells of the sphere at level two is a disjoint union of 20

copies of P (1) which are in blue and 12 copies of P (2) which are in red by omitting one of

the six directions.

Certain properties of those two hexagonal array structures, in particular the discrete

Fourier transform (DFT), are studied. The DFT on arrays of hexagonal lattices is

an important topic in hexagonal image processing as explained in Middleton and

Sivaswamy [30]. We provide an efficient method to compute the DFT on any array of

type A or type B RHS and show that the computational complexity is O(N log N), where

N is the number of the lattice points of the array. We also provide a recursive definition

of the Pyxis structure and use it to show that the DFT as defined in Chapter 2 cannot be

applied to any array of the Pyxis structure when the level is larger than two.

As shown in Figure 1-2, the cells of P (1) are labeled 0,1,2,...,6, and arranged in a

certain order. The cells of P (2) are labeled ij where i, j = 0, 1, 2, ..., 6 and either i or j

17

Page 18: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

is 0. Furthermore, the cell of P (2) labeled i0 has the same centroid as the one of P (1)

labeled i for any i = 0, 1, 2, ..., 6, and the cells labeled 0i for i = 1, 2, ..., 6 surround the

one labeled 00. The labeling system of P (n) for any integer n ≥ 0 appears in Chapter

6. Those labels are important for quick data retrieval. The vector addition of any two

Pyxis labels as defined in Chapter 6 (Figure 1-2) is useful in proving some properties of

the Pyxis structure in Chapter 6, and a research topic proposed by the Pyxis Innovation

Inc. We provide an efficient algorithm to perform such addition. Finally we compute the

fractal dimension of the boundary of the limit of the Pyxis structure P (n) as n →∞ since

it measures how convoluted that boundary is. Our computation shows that the dimension

is ln 4ln 3

.

18

Page 19: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 2DISCRETE FOURIER TRANSFORM (DFT)

2.1 Discrete Fourier Transform on the Quotient Group of Two Lattices

Throughout this research, N, Z, R, and C denote the set of positive integers, integers,

real numbers, and complex numbers, respectively. For any d ∈ N, let Zd, Rd, and Cd

denote the set of d-dimensional column vectors whose components are integers, real

numbers, and complex numbers, respectively. An abelian group is a set G together with a

closed binary operation + defined on G with the following properties:

1. (Associativity) For any x,y, z ∈ G, (x + y) + z = x + (y + z).

2. (Existence of a zero) There exists an element 0 ∈ G such that, for each x ∈ G,

x + 0 = x = 0 + x.

3. (Existence of an inverse) For each x ∈ G, there exists an element of G, denoted −x,

such that x + (−x) = 0 = (−x) + x.

4. (Commutativity) For any x,y ∈ G, x + y = y + x.

In this research, all groups will be abelian and we write x + (−y) as x− y for any

two elements x and y of a group G. Let G0 be a nonempty subset of a group G. If G0

also forms a group under the operation + of G, then G0 is called a subgroup of G. Now

assume that G0 be a subgroup of a group G. For any p,g ∈ G, if p − g ∈ G0, then we

say that p is congruent to g modulo G0, denoted by p ≡ g mod G0. For any p ∈ G, let

p = u ∈ G : u ≡ p mod G0. Obviously p = p + G0 where p + G0 denotes the set

p + y ∈ G : y ∈ G0. The set p is called a coset of G0 in G. For any pair p,g ∈ G,

it is easy to show that either p = g or p⋂

g = ∅. Define p + g = p + g and let

G/G0 = p : p ∈ G. It is easy to check that the set G/G0 together with the binary

operation + defined on G/G0 is an abelian group. This group is called the quotient group

of the group G by the subgroup G0. By choosing one representative from each coset of G0

in G, we get a set of coset representatives of the quotient group G/G0.

19

Page 20: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

If v1,v2, ...,vd are linearly independent vectors in Rd, then the set defined by L =∑d

j=1 njvj : nj ∈ Z, 1 ≤ j ≤ d

is a d-dimensional lattice and v1,v2, ...,vd is called

a set of generators of L. If d = 2, v1 =

1

0

and v2 =

0

1

, then L is the

standard square lattice commonly used in image processing. A hexagonal lattice has a set

of generators v1,v2 such that ‖v1‖ = ‖v2‖ and the angle between v1 and v2 is π3, where

the notation ‖x‖ denotes the norm of the x for any x ∈ R2. Let L0 be a nonempty subset

of a lattice L. If L0 itself is a lattice, then L0 is called a sublattice of L. Obviously a lattice

is an abelian group and a sublattice is a subgroup. For any ∅ 6= T ⊆ L and x ∈ L, to avoid

confusion in some expressions, we let Tx = x + T . If T is a set of coset representatives of

the quotient group L/L0, then T tiles the lattice L by translations by the sublattice L0 in

the sense that⋃ Tp : p ∈ L0 = L and Tp = Tg whenever Tp

⋂Tg 6= ∅ for p,g ∈ L0.

Hence T is called a tile of L. Each tiling (tile) involved in this research is a tiling (tile)

by translations by a sublattice. Also we just consider those sublattices of L which have

the same dimension as L. In this case, the quotient group L/L0 is finite by Lemma 1 of

Section I.2.2 of Cassels [7]. The notation L0 ≺ L is used to denote that L0 is a sublattice

of L which has the same dimension as L. The inner product of two vectors r, s ∈ Cd is

defined as 〈r, s〉 =∑d

j=1 r∗jsj where rj and sj are the jth component of r and s respectively,

and rj∗ denotes the complex conjugate of rj. If r, s ∈ Rd, then 〈r, s〉 = rT s = sT r. The

dual of a lattice L is L∗ =s ∈ Rd : 〈r, s〉 ∈ Z for all r ∈ L

.

In this research, the superscript ∗ means the dual when it is applied to a lattice, and

means the complex conjugate when it is applied to a complex number or vector. The

cardinality of a set S is denoted |S|. Furthermore, for two groups A and B, the symbol ∼=means that A and B are isomorphic. The next lemma, whose proof appears in Zapata [47],

and Conway and Sloane [9], provides some useful properties of dual lattices.

Lemma 2.1.1. Let L0 and L be two lattices. Then we have the following results.

1. L0 ≺ L if and only if L∗ ≺ L∗0.

20

Page 21: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

2. (L∗)∗ = L for any lattice L.

3. If L ≺ L0, then L/L0∼= L∗0/L

∗ and hence |L/L0| = |L∗0/L∗|.For any finite abelian group G, let CG denote the set of all complex-valued functions

defined on G. Let L0 ≺ L, G = L/L0, and G = L∗0/L∗. The discrete Fourier transform

(DFT) on the quotient group G is a function F : CG → CG defined by

a(s) = F(a)(s) :=∑r∈G

a(r) · e−2πi〈r,s〉. (2–1)

The inverse Fourier transform is the function F−1 : CG → CG defined by

F−1(a)(r) =1

|G|∑

s∈G

a(s) · e2πi〈r,s〉. (2–2)

In the definition of the discrete Fourier transform, the domains G and G are called

the spatial and frequency domain of the Fourier transform F respectively.

Proposition 2.1.2. The discrete Fourier transform is well defined.

Proof. If r1, r2 ∈ G, s1, s2 ∈ G such that r1 = r2 and s1 = s2, then r1 − r2 = 0 ∈ G

and s1 − s2 = 0 ∈ G. It follows that r1 − r2 ∈ L0 and s1 − s2 ∈ L∗. Obviously

〈r1, s1〉 = 〈r2, s2〉 + 〈r2, s1 − s2〉 + 〈r1 − r2, s1〉. Since s1 − s2 ∈ L∗ and r2 ∈ L, we have

〈r2, s1 − s2〉 ∈ Z. Also r1 − r2 ∈ L0 and s1 ∈ L∗0 imply that 〈r1 − r2, s1〉 ∈ Z. Hence

e−2πi〈r1,s1〉 = e−2πi〈r2,s2〉. Therefore the DFT is well defined.

To prove that the DFT is invertible, i.e., F−1 F(a) = a for any a ∈ CG, we need the

following lemma:

Lemma 2.1.3. Let L0 ≺ L, G = L/L0 and G = L∗0/L∗. If r ∈ G and h(r) =

∑s∈G e2πi〈r,s〉,

then

h(r) =

|G|, if r = 0,

0, otherwise.

21

Page 22: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proof. Similar to Proposition 2.1.2, h(r) is well defined. If r = 0, then

s∈G

e2πi〈r,s〉 =∑

s∈G

e2πi〈0,s〉 = |G|.

If r 6= 0, then r 6∈ L0 = (L∗0)∗. It follows that there exists s0 ∈ L∗0 such that 〈r, s0〉 6∈ Z

by the definition of dual lattices. Hence e2πi〈r,s0〉 6= 1. Let c = e2πi〈r,s0〉. Since h(r) =∑

s∈G e2πi〈r,s〉 =∑

s∈G e2πi〈r,s0+s〉 = e2πi〈r,s0〉 ∑s∈G e2πi〈r,s〉 = c(h(r)), we have h(r)(1−c) = 0.

Since c 6= 1, h(r) = 0.

Theorem 2.1.4. (Inversion Theorem) If L0 ≺ L, G = L/L0, and G = L∗0/L∗, then

F−1 F(a) = a for any a ∈ CG.

Proof. For any t ∈ G where t ∈ L, we have

F−1(a)(t) =1

|G|∑

s∈G

a(s) · e2πi〈t,s〉

=1

|G|∑

s∈G

∑r∈G

a(r) · e−2πi〈r,s〉· e2πi〈t,s〉

=1

|G|∑r∈G

a(r)

s∈G

e2πi〈t−r,s〉

(2–3)

By Lemma 2.1.3, we have

∑r∈G

a(r)

s∈G

e2πi〈t−r,s〉

= a(t) · |G|. (2–4)

It follows that F−1(a)(t) = a(t) for any t ∈ G. Hence F−1(a) = a.

2.2 Convolution and Correlation

In this section, we consider two Fourier transform relationships that constitute a basic

link between the spatial and frequency domains. These relationships, called convolution

and correlation, are of fundamental importance in image processing techniques based on

the Fourier transform.

22

Page 23: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Let G be a finite abelian group and let a, b ∈ CG. The convolution c ∈ CG of a and b,

written c = a ∗ b, is defined by

c(t) =∑r∈G

a(r)b(t− r) for all t ∈ G .

The importance of the concept of convolution lies in the fact that convolution in the

spatial domain corresponds to multiplication in the frequency domain and vice versa. The

proof of the following Convolution Theorem appears in Zapata and Ritter [48].

Theorem 2.2.1. (Convolution Theorem) Let L0 ≺ L and G = L/L0. If a, b ∈ CG, then

a ∗ b = a · b.A principle application of correlation in image processing is in the area of template

or prototype matching, where the problem is to find the closest match between a given

unknown image and a set of images of known origin. One approach to this problem is

to compute the correlation between the unknown image and each of the known images.

Since the resultant correlations are 2-dimensional functions, this involves searching for the

largest amplitude of each function. As in the case of convolution, the computation of the

correlation is often more efficiently carried out in the frequency domain using the Fourier

transform. Let G be a finite abelian group and a, b ∈ CG. The correlation c ∈ CG of a and

b, written c = a b, is defined as c(t) =∑

r∈G a∗(r)b(t + r) for all t ∈ G. If a = b, then the

correlation is called an autocorrelation.

Theorem 2.2.2. (Correlation Theorem) Let L0 ≺ L and G = L/L0. If a, b ∈ CG and

c = a b, then c = a∗ · b.

Proof. For all t ∈ G, c(t) =∑

r∈G a∗(r)b(t + r) =∑

s∈G a∗(−s)b(t − s). Define

g ∈ CG by g(s) = a∗(−s) for any s ∈ G. Then c(t) =∑

s∈G g(s)b(t − s) = (g ∗ b)(t).

Hence c = g · b by Theorem 2.2.1. Since g(s) = a∗(−s) for any s ∈ G, we have

g(t) =∑

s∈G g(s) · e−2πi〈s,t〉 =∑

s∈G g(−s) · e2πi〈s,t〉

=∑

s∈G a∗(s) · e2πi〈s,t〉 = (a(t))∗. It follows that g = a∗. Therefore c = a∗ · b.

23

Page 24: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

2.3 DFT on a Lattice and the Corresponding Periodicity Matrix

In this section, we discuss the DFT on a tile of a lattice. To make the DFT easier

to be computed, we write the DFT in terms of an integer matrix and vectors which have

integer components.

A matrix V is called a sampling matrix of a lattice L if its columns are a set of

generators for L. Obviously in such a case, L =V n : n ∈ Zd

= VZd. It follows easily

from the following lemma that the dual of a hexagonal lattice is also hexagonal.

Lemma 2.3.1. Let L be a lattice. Then V is a sampling matrix of L if and only if (V T )−1

is a sampling matrix of the dual lattice L∗.

Proof. Let V be a sampling matrix of L. Then L =V n : n ∈ Zd

. Hence s ∈ L∗ if and

only if 〈V n, s〉 = (V n)T s = nT (V T s) ∈ Z for all n ∈ Z, if and only if V T s ∈ Zd, if and

only if s ∈ (V T )−1Zd. It follows that (V T )−1 is a sampling matrix of the dual lattice L∗.

Similarly, if (V T )−1 is a sampling matrix of L∗, then V is a sampling matrix of L.

A non singular matrix M with integer entries is called a periodicity matrix. A

set of coset representatives of the quotient group Zd/MZd is also called a set of coset

representatives associated with the periodicity matrix M.

Lemma 2.3.2. Let L0 ≺ L and V be a sampling matrix of L. Then there is a periodicity

matrix M such that V M is a sampling matrix of L0. Furthermore V = [(V M)T ]−1 is a

sampling matrix of L∗0.

Proof. Let B be a sampling matrix of L0 whose columns are b1,b2, ...,bd, and let vr be

the rth column of V for r = 1, 2, ..., d. Since br ∈ L for each r = 1, 2, ..., d, there are

integers ljr such that br =∑d

j=1 ljrvj. Let M be the matrix whose entries are ljr. Then

we have B = V M. It follows that V M is a sampling matrix of L0. Hence V is a sampling

matrix of L∗0 since V = (BT )−1.

Let L0 ≺ L, G = L/L0, G = L∗0/L∗, and F : CG → CG be the DFT. If V is a sampling

matrix of L and V a sampling matrix of L∗0, then V is called a sampling matrix in the

24

Page 25: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

spatial domain and V is called a sampling matrix in the frequency domain of the DFT F .

For any a ∈ CG, let f ∈ CL be defined by f(u) = a(u + L0) for any u ∈ L. Then f is

called the periodic extension of a. Let P and Q be any set of coset representatives of the

quotient group L/L0 and L∗0/L∗ respectively. Then Equation 2–1 for computing the DFT

on L/L0 becomes the following equation for computing the DFT on P .

f(s) =∑r∈P

f(r) · e−2πi〈r,s〉, for all s ∈ Q. (2–5)

Now for any r ∈ P and s ∈ Q, let [r] be the coordinates of r with respect to the basis

that are the generators of L, and let [s] be the coordinates of s with respect to the basis

that are the generators of L0∗. Then r = V [r] and s = V [s]. By Lemma 2.3.2, there is a

periodicity matrix M such that the sampling matrix of L0 is V M and the sampling matrix

of L∗0 is V = [(V M)T ]−1. Let IP = [p] : p ∈ P ⊂ Zd and IQ = [q] : q ∈ Q ⊂ Zd.

Then 〈r, s〉 = sT r = (V [s])T V [r] = [s]T V T V [r] = [s]T (V M)−1V [r] = [s]TM−1V −1V [r] =

[s]TM−1[r]. Hence Equation 2–5 becomes the following equation.

f(V [s]) =∑r∈P

f(V [r]) · e−2πi[s]T M−1[r], for all s ∈ Q. (2–6)

By replacing [r] and [s] with m and k respectively, Equation 2–6 becomes the following

simpler equation.

f(V k) =∑m∈IP

f(V m) · e−2πikT M−1m, for all k ∈ IQ. (2–7)

2.4 Relation Between the DFT and the Continuous Fourier Transform

In this section, we show that the relation between the continuous Fourier Transform

and the DFT for the 1-dimensional case as appears in Cartwright [8] also holds for the

2-dimensional case. For any complex-valued, Lebesgue integrable function f(x) with

x ∈ R2, by Pinsky [34] its Fourier transform is the complex-valued function f(y) defined

25

Page 26: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

by the integral

f(y) = F(f)(y) :=

R2

f(x) · e−2πi〈x,y〉dx, for any y ∈ R2. (2–8)

Let L be a 2-dimensional lattice, L0 ≺ L, and P a set of coset representatives of the

quotient group L/L0. Let P be the union of the Voronoi cells of the lattice points of P

and A the area of a Voronoi cell of the lattice L. In the finite analogue, we replace R2 in

Equation 2–8 by P . The corresponding discretized version of Equation 2–8 is the following

equation.

fP (y) :=∑p∈P

f(p) · e−2πi〈p,y〉 · A, for any y ∈ R2. (2–9)

Now let Q be a set of coset representatives of the quotient group L∗0/L∗ and Q

be the union of the Voronoi cells of the lattice points of Q. Since P is a set of coset

representatives of L/L0, P tiles R2 by translations by the sublattice L0. Similarly Q tiles

R2 by translations by the sublattice L∗ of L∗0. We claim that fP is periodic in the sense

that fP (y) = fP (y + s0) for any s0 ∈ L∗. Since s0 ∈ L∗ and p ∈ L, we have 〈p, s0〉 ∈ Z.

Then 〈p,y + s0〉 = 〈p,y〉 + 〈p, s0〉 follows that e−2πi〈p,y+s0〉 = e−2πi〈p,y〉. Hence, by

Equation 2–9, fP (y + s0) = fP (y). Therefore fP (y) is periodic. By the definition of Q,

Q is the set of the sampled points of Q in the lattice L∗0. In Equation 2–9, the expression∑

p∈P f(p) · e−2πi〈p,y〉 is the DFT as defined in Equation 2–5 or 2–7.

26

Page 27: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 3DFT ON SOME PREVIOUSLY STUDIED HEXAGONAL ARRAYS

The 2-dimensional generalized balanced ternary, denoted GBT 2, has been used in

Zapata and Ritter [48] through Gibson and Lucas [17] for the processing of hexagonally

sampled images. The nth level of the GBT 2, denoted GBT 2(n), consists of 7n hexagons.

For any n ∈ N , the GBT 2(n + 1) is the union of 7 translated copies of the GBT 2(n)

as shown in Figure 3-1. The GBT 2 is perhaps the most studied example because of the

elegant method of indexing its cells (lattice points) described in Gibson and Lucas [17],

Kitto [21], and Middleton and Sivaswamy [30]. A periodicity matrix for the GBT 2(n)

−5 0 5−5

−4

−3

−2

−1

0

1

2

3

4

5

−5 0 5−5

−4

−3

−2

−1

0

1

2

3

4

5

−10 −5 0 5 10

−10

−5

0

5

10

Figure 3-1. The first three levels of the GBT 2 aggregates.

is Bn where B =

2 1

−1 3

. The DFT on the GBT 2(n) and its fast algorithms have

been successfully developed in Zapata and Ritter [48], and Middleton and Sivaswamy [29].

Some deficiencies of the GBT 2 have been pointed out by the people working in the Pyxis

Innovation Inc. (the shared document of Pyxis Innovation Inc., 2003). For example, the

27

Page 28: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

number of hexagons of the GBT 2(n + 1) is 7 times that of the GBT 2(n). A factor less

than 7 would be better for image zooming in from one level to the next. When n is large,

the region occupied by the GBT 2(n) is quite different from the regions occupied by usual

images and hence it is not convenient to apply the DFT on usual images.

The DFT on arrays of rectangular shape of a hexagonal lattice (shown in Figure 3-2 (a))

was utilized in Ehrhardt [12], and Fitz and Green [14]. For any such array, the sampling

matrix of the lattice L is

1 −12

0√

32

and the periodicity matrix is of the form M =

n1n2

2

0 n2

, where n1 and n2 are integers with n2 divisible by 2. Hence the sampling

matrix in the frequency domain is V =

1n1

0

0 2√3n2

, from which it follows that the

sampling grid in the frequency domain is rectangular. Thus it is convenient to output

frequencies on a monitor that uses a rectangular grid. Let V1 and V2 be the two columns

of V . Since both n1 and n2 are integers, the length of V1 is not equal to that of V2 for

any integers n1 and n2. Hence the sampling lattice in the frequency domain is not square.

Some fast algorithms for computing such a DFT were analyzed in Ehrhardt [12].

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . .

. . . . . . . . . .. . . . . . . . . . .

. . . . . . . . . . . .. . . . . . . . . . . . .

. . . . . . . . . . . . . .. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . .. . . . . . . . .

(a) (b)

Figure 3-2. Arrays studied in Ehrhardt [12], and Sun and Yao [40]. (a) Hexagonalsampling of a rectangular region used in [12] and Fitz and Green [14]. (b) Thearray used in Sun and Yao [40] consisting of 3n2 lattice points, where n = 9.

28

Page 29: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

In Sun and Yao [40], a fast algorithm was developed for computing the DFT on an

array which consists of 3n2 lattice points of a hexagonal lattice. Figure 3-2 (b) shows this

array for n = 9 where the top row consists of n lattice points but the bottom row consists

of n + 1 lattice points. A periodicity matrix for this array is M =

2n n

n 2n

.

In Anterrieu et al. [2], the hexagonal array shown in Figure 3-3 (a) was studied.

Because the hexagonal array in Figure 3-3 (a) does not tile the underlying hexagonal

lattice by translations by any sublattice, the DFT on such an array cannot be formulated

using the method in Chapter 2. Hence the authors in Anterrieu et al. [2] remove half of

the boundary points to apply a 2-dimensional standard DFT. After half of the boundary

points of the array in Figure 3-3 (a) are omitted in a certain way, we get the array shown

in Figure 3-3 (b) or Figure 3-3 (c), which consists of n2 lattice points. The arrays in

Figure 3-3 (b) or Figure 3-3 (c) do tile the underlying hexagonal lattice by translations by

a sublattice. A periodicity matrix for the array in either Figure 3-3 (b) or Figure 3-3 (c) is

M =

n n

0 n

. Since M is also a periodicity matrix of the rhombus shaped array shown

in Figure 3-3 (d), the DFT on each of the arrays in Figure 3-3 (b) and Figure 3-3 (c) is

the same as the DFT on that rhombus shaped array and hence can be computed using the

fast algorithms for a 2-dimensional standard DFT.

For any array in Figure 3-2 (b) or Figure 3-3 (b), the number of lattice points on its

top row is different from that on the bottom row. Hence the shape of those arrays is not

a regular hexagon. In the next chapter, we will consider hexagonal arrays whose 6 sides

have the same number of lattice points and have the same centroid and symmetric axes as

a regular hexagon.

29

Page 30: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

. . .

. . . . . .

. . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . .

. . . . . .

. . .

. . . . . . . . . . ...

..

..

..

...

..

..

..

..

..

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

..

..

.. . . . .

..

..

.

(a) (b)

. . . . . . . . . . ...

..

..

..

...

..

..

..

..

..

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

...

.

.

.

.

.

. . .

.

.

(c) (d)

Figure 3-3. Arrays studied in Anterrieu et al. [2]. (a) An array shown in Figure 3 onPage 2533 of Anterrieu et al. [2]. (b) The array obtained from the array inFigure (a) by omitting the boundary points on the top row and the two uppersides. (c) The array obtained from the array in Figure (a) by omitting one ofits two consecutive boundary points. (d) The periodic extension from thearray in Figure (c) to an array of a rhombus shape.

30

Page 31: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 4REGULAR HEXAGONAL STRUCTURE AND ITS TWO SPECIAL TYPES

4.1 Regular Hexagonal Structures

In algebraic terms, a regular hexagonal structure (RHS) is an array structure such

that each array in the structure is a set of coset representatives of the quotient group of

two hexagonal lattices. Let V be a sampling matrix of a hexagonal lattice L with two

columns v1, v2 satisfying ‖v1‖ = ‖v2‖ and such that the angle between v1 and v2 is π3.

If V

r

s

is an arbitrary point of L, then V

r − s

r

is just V

r

s

rotated by an

angle of π/3. Hence, a hexagonal sublattice of L has a sampling matrix of the form V M,

where M =

r r − s

s r

with r, s ∈ Z.

If we take r = 2n and s = n (r = n and s = 0) in the matrix M above, then we

get a periodicity matrix for the array in Sun and Yao [40] (Anterrieu et al. [2]). Hence the

arrays in Sun and Yao [40] or Anterrieu et al. [2] constitute a RHS. In the following, we

study arrays in the type A and type B RHS which are closely related to those in Sun and

Yao [40], and Anterrieu et al. [2].

4.2 Type A Regular Hexagonal Structure

Throughout this research, we let vA1 =

1

0

, vA

2 =

−1

2√

32

, and

LA =n1(v

A1 ) + n2(v

A2 ) : n1, n2 ∈ Z

.

The lattice LA is called the type A hexagonal lattice. In this section, we consider the type

A RHS whose algebraic definition is provided in the following. For any n ∈ N, let

<An =

j(vA

1 ) + k(vA2 ) : j, k ∈ Z, |j| ≤ n, |k| ≤ n, |j − k| ≤ n

.

We call <An the nth level of the type A RHS.

31

Page 32: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

(−2, −2)

(−2, −1)

(−2, 0)

(−1, −2)

(−1, −1)

(−1, 0)

(−1, 1)

(0, −2)

(0, −1)

(0, 0)

(0, 1)

(0, 2)

(1, −1)

(1, 0)

(1, 1)

(1, 2)

(2, 0)

(2, 1)

(2, 2)

−4 −3 −2 −1 0 1 2 3 4

−3

−2

−1

0

1

2

3

(−3, −3)

(−3, −2)

(−3, −1)

(−3, 0)

(−2, −3)

(−2, −2)

(−2, −1)

(−2, 0)

(−2, 1)

(−1, −3)

(−1, −2)

(−1, −1)

(−1, 0)

(−1, 1)

(−1, 2)

(0, −3)

(0, −2)

(0, −1)

(0, 0)

(0, 1)

(0, 2)

(0, 3)

(1, −2)

(1, −1)

(1, 0)

(1, 1)

(1, 2)

(1, 3)

(2, −1)

(2, 0)

(2, 1)

(2, 2)

(2, 3)

(3, 0)

(3, 1)

(3, 2)

(3, 3)

(a) (b)

Figure 4-1. Arrays of the type A RHS. (a) The lattice points of <A2 . (b) The lattice points

of <A3 . The coordinates inside each hexagon are for the basis

vA

1 ,vA2

.

The lattice points and corresponding Voronoi cells of <A2 and <A

3 are shown in

Figure 4-1 (a) and Figure 4-1 (b), respectively. To show <An is a set of coset representatives

of the quotient group of two hexagonal lattices, we need the following four lemmas.

Lemma 4.2.1. For any n ∈ N, the nth level of the regular hexagonal structure <An consists

of 3n2 + 3n + 1 lattice points.

Proof. By the definition of the type A RHS,

<An =

j(vA

1 ) + k(vA2 ) : j, k ∈ Z, |j| ≤ n, |k| ≤ n, |j − k| ≤ n

.

If j = 0, then the inequality |j − k| ≤ n becomes |k| ≤ n and, hence, k can take 2n + 1

values. If j > 0, then the common solution of the two inequalities |k| ≤ n and |j − k| ≤ n

is j − n ≤ k ≤ n and hence k takes 2n − j + 1 values. The situation for j < 0 is similar.

Hence, the total number of those hexagons is (2n+1)+2n∑

j=1

(2n− j +1) = 3n2 +3n+1.

Lemma 4.2.2. If a,b ∈ <An , then a± b ∈ <A

2n.

Proof. Let a = a1(vA1 ) + a2(v

A2 ) ∈ <A

n ,b = b1(vA1 ) + b2(v

A2 ) ∈ <A

n , and c = a − b. By the

definition of the type A RHS, |aj| ≤ n for j = 1, 2 and |a2 − a1| ≤ n. For the same reason,

|bj| ≤ n for j = 1, 2 and |b2 − b1| ≤ n. If c =

g1

g2

, then |gj| = |aj − bj| ≤ |aj| + |bj| ≤

32

Page 33: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

n + n = 2n for j = 1, 2, and |g2 − g1| = |(a2 − b2) − (a1 − b1)| = |(a2 − a1) − (b2 − b1)| ≤|a2 − a1| + |b2 − b1| ≤ n + n = 2n. Hence c ∈ <A

2n. Obviously b ∈ <An implies −b ∈ <A

n by

the definition of the type A RHS. Thus a− b = a + (−b) ∈ <A2n.

Lemma 4.2.3. The maximal distance of the lattice points of <An from the origin 0 is n.

Proof. It follows directly from the fact that all lattice points of <An are enclosed in the

regular hexagon with vertices ±n(vA1 ),±n(vA

2 ), and ±n(vA1 − vA

2 ).

For any n ∈ N, let V A1,n = (2n + 1)vA

1 + (n + 1)vA2 , V A

2,n = n(vA1 ) + (2n + 1)vA

2 , and

LAn =

n1(V A

1,n) + n2(V A2,n) : n1, n2 ∈ Z

.

Lemma 4.2.4. LAn

⋂<A2n = 0.

Proof. By definition, V A1,n = (2n + 1)vA

1 + (n + 1)vA2 and V A

2,n = n(vA1 ) + (2n + 1)vA

2 .

It follows that V A1,n 6∈ <A

2n since 2n + 1 > 2n. Similarly V A2,n 6∈ <A

2n. Let V A3,n = V A

1,n −V A

2,n = (n + 1)vA1 − n(vA

2 ) = l1(vA1 ) + l2(v

A2 ) where l1 = n + 1 and l2 = −n. Since

|l1 − l2| = 2n + 1 > 2n, V A3,n 6∈ <A

2n. By direct computation, we have |V A1,n| = |V A

2,n| and

the angle between V A1,n and V A

2,n is π3. Since LA

n is a hexagonal lattice generated by V A1,n and

V A1,n, the set

±V A

1,n,±V A2,n,±V A

3,n

contains the only 6 closest nonzero lattice points of LA

n

from the origin 0. For any other nonzero lattice point of LAn , its distance from the origin

0 is at least |V A1,n + V A

2,n| = |(3n + 1)vA1 + (3n + 2)vA

2 | =√

9n2 + 9n + 3 > 2n. However,

by Lemma 4.2.3, the maximal distance of the lattice points of <A2n from 0 is 2n. Hence

LAn

⋂<A2n = 0.

To prove the next theorem, we need the following lemma which follows trivially from

Lemma 1 of Section I.2.2 of Cassels [7].

Lemma 4.2.5. Let L be a lattice with a sampling matrix V . If M is a periodicity matrix

and L0 is the sublattice of the lattice L such that V M is a sampling matrix of L0, then the

order of the quotient group L/L0 is the absolute value of the determinant of the matrix M.

33

Page 34: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

In the following, we let MAn =

2n + 1 n

n + 1 2n + 1

. Since the lattice LA

n is generated

by the two vectors V A1,n and V A

2,n where V A1,n = (2n + 1)vA

1 + (n + 1)vA2 and V A

2,n =

n(vA1 ) + (2n + 1)vA

2 , the matrix MAn is a sampling matrix of the lattice LA

n and hence will

be used very often.

Theorem 4.2.6. For any n ∈ N, <An is a set of coset representatives of the quotient group

LA/LAn .

Proof. Let V A be the matrix whose two columns are vA1 and vA

2 , and V An the matrix

whose two columns are V A1,n and V A

2,n. Since V A1,n = (2n + 1)vA

1 + (n + 1)vA2 and V A

2,n =

n(vA1 ) + (2n + 1)vA

2 , we have V An = (V A)(MA

n ). By Lemma 4.2.5 the order of the quotient

group LA/LAn is the determinant of MA

n . It follows that the order of the quotient group

LA/LAn is 3n2 + 3n + 1 since it is the determinant of MA

n . By Lemma 4.2.1, the order of

<An is also 3n2 + 3n + 1. Hence, to show <A

n is a set of coset representatives of LA/LAn , it

suffices to show that no two distinct lattice points of <An are congruent modulo LA

n . For

any a,b ∈ <An with a 6= b, we have a− b ∈ <A

2n by Lemma 4.2.2. Suppose a− b ∈ LAn . By

Lemma 4.2.4, LAn

⋂<A2n = 0. It follows that a− b ∈ LA

n

⋂<A2n = 0 and hence a = b which

leads to a contradiction. Therefore <An is a set of coset representatives of LA/LA

n .

By Theorem 4.2.6, the DFT on <An is invertible. Now we consider its frequency

domain. In the proof of Theorem 4.2.6, we have V An = (V A)(MA

n ) where V A is a sampling

matrix of the lattice LA and V An is a sampling matrix of the lattice LA

n . Let V An =

[(V An )T ]−1. Since V A

n is a sampling matrix of the lattice LAn , V A

n is a sampling matrix of

the dual lattice (LAn )∗ of LA

n by Lemma 2.3.2.

Let vAn,1 and vA

n,2 be the two column vectors of the matrix V An . It is easy to check

that vAn,1 = 1√

3(3n2+3n+1)

3(2n + 1)

1

, vA

n,2 = 1√3(3n2+3n+1)

−√3(n + 1)

3n + 1

,

34

Page 35: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

‖vAn,1‖ = ‖vA

n,2‖ and the angle between them is 2π3

. For any n ∈ N, let

<An =

j(vA

n,1) + k(vAn,2) : j, k ∈ Z, |j| ≤ n, |k| ≤ n, |j − k| ≤ n

where vAn,1 and vA

n,2 are defined as the above.

Theorem 4.2.7. For any n ∈ N, <An is a set of coset representatives of the quotient group

(LAn )∗/(LA)∗.

Proof. Let us use the same notation as before. From the proof of Theorem 4.2.6, we have

V An = (V A)(MA

n ). It follows that [(V An )T ]−1 = [(V A)T ]−1[(MA

n )T ]−1. Hence [(V A)T ]−1 =

[(V An )T ]−1(MA

n )T . Since V A is a sampling matrix of the lattice LA, [(V A)T ]−1 is a sampling

matrix of the dual lattice (LA)∗. For a similar reason, [(V An )T ]−1 is a sampling matrix of

the dual lattice (LAn )∗. Since (MA

n )T =

2n + 1 n + 1

n 2n + 1

, by a proof similar to the

proof of Theorem 4.2.6 it can be shown that <An is a set of coset representatives of the

quotient group (LAn )∗/(LA)∗.

From Theorems 4.2.6 and 4.2.7, and by the definitions of the type A RHS and <An ,

it is easy to deduce that the geometric shape of the support in the frequency domain of

the DFT on <An is similar to that of the support in the spatial domain. Throughout the

remainder of this research, we let

C(A, n) =

j

k

∈ Z2 : j(vA

1 ) + k(vA2 ) ∈ <A

n

.

By the definition of <An , obviously we have

C(A, n) =

j

k

∈ Z2 : |j| ≤ n, |k| ≤ n, |j − k| ≤ n

.

This notation will be used to write the DFT on <An in terms of a periodicity matrix.

Recall in Chapter 2 that, for a periodicity matrix M, a set of coset representatives of

35

Page 36: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

the quotient group Zd/MZd is also called a set of coset representatives associated with

the periodicity matrix M. Employing the change of bases as in Section 2.3, the following

corollary follows from Theorems 4.2.6 and 4.2.7.

Corollary 4.2.8. For any n ∈ N, C(A, n) is a set of coset representatives associated with

both MAn and (MA

n )T .

4.3 Type B Regular Hexagonal Structure

Throughout this research, we let vB1 =

√3

2

12

, vB

2 =

−√

32

12

and

LB =n1(v

B1 ) + n2(v

B2 ) : n1, n2 ∈ Z

.

The lattice LB is called the type B hexagonal lattice. In this section, we consider the type

B RHS which is defined below. Subsequent discussion will show that the indexing of the

type B RHS is more complicated than that of the type A RHS. To make the definition of

the type B RHS easier, we first give the definition of a half type B RHS. For any s, d ∈ Z,

the notation mod(s, d) denotes the remainder when s is divided by d. For any integer

n > 0, let

<Bn,h =

x(vB

1 ) + (s− x)vB2 : x, s ∈ Z, 0 ≤ s ≤ 3n,−n + r + 2q ≤ x ≤ n + q

where r = mod(s, 3), q = s−r3

, vB1 =

√3

2

12

and vB

2 =

−√

32

12

. The set <B

n,h is called

a half type B RHS at level n. For any integer n > 0, we define <Bn = <B

n,h

⋃−<Bn,h where

−<Bn,h =

−u : u ∈ <Bn,h

. We call <B

n the nth level of the type B RHS.

Remark: Let x(vB1 ) + (s − x)vB

2 ∈ <Bn . By the definitions of <B

n,h and <Bn , if s > 0,

then x(vB1 ) + (s − x)vB

2 ∈ <Bn,h; if s < 0, then −(x(vB

1 ) + (s − x)vB2 ) ∈ <B

n,h; and if s = 0,

then x(vB1 ) + (s− x)vB

2 ∈ <Bn,h

⋂(−<B

n,h). Hence, for any given s satisfying −3n ≤ s ≤ 3n,

s corresponds to a horizontal layer of hexagons of <Bn as shown in Figure 4-2. <B

n has a

total of 3n + 1 layers of hexagons. The lattice points and corresponding Voronoi cells of

<B2 and <B

3 are shown in Figure 4-2 (a) and Figure 4-2 (b), respectively. The middle layer

36

Page 37: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

in each figure corresponds to s = 0 which means that the sum of the two components of

each lattice point of that layer is 0. The layers above the middle layer correspond to s > 0,

and the layers below the middle layer correspond to s < 0.

In the following, we are going to show that <Bn is a set of coset representatives of

the quotient group of two lattices. To make its proof more concise, we need the following

preliminary results.

Lemma 4.3.1. For any integer n > 0, <Bn consists of 9n2 + 3n + 1 lattice points.

Proof. By the previous remark, <Bn has a total of 3n + 1 layers of hexagons. The middle

layer of <Bn contains 2n + 1 lattice points. Any upper layer with s = 3q for some positive

integer q ≤ n has (n + q) − (−n + 2q) + 1 = 2n − q + 1 hexagons. Any upper layer with

s = 3q + 1 for some positive integer q ≤ n − 1 has (n + q) − (−n + 1 + 2q) + 1 = 2n − q

hexagons. Any upper layer with s = 3q + 2 for some positive integer q ≤ n − 1 has

(n + q) − (−n + 2 + 2q) + 1 = 2n − q − 1 hexagons. By the definition of <Bn , the number

of hexagons down the middle layer is the same as that of hexagons above the middle layer.

Hence the total number of those hexagons is

(2n + 1) + 2n∑

q=1

(2n− q + 1) + 2n−1∑q=0

(2n− q + 2n− q − 1) = 9n2 + 3n + 1. (4–1)

Proposition 4.3.2. If ak ∈ <Bn,h for k = 1, 2, then a1 + a2 ∈ <B

2n,h.

Proof. By definition of <Bn,h, there exist xk, sk ∈ Z such that ak = xk(v

B1 ) + (sk − xk)v

B2

with 0 ≤ sk ≤ 3n and −n + rk + 2qk ≤ xk ≤ n + qk where rk = mod(sk, 3), qk = sk−rk

3. Let

x = x1 + x2 and s = s1 + s2. Then

a1 + a2 = x(vB1 ) + (s− x)vB

2 . (4–2)

Since 0 ≤ sk ≤ 3n for k = 1, 2, we have 0 ≤ s = s1 + s2 ≤ 6n. The inequality

−n + rk + 2qk ≤ xk ≤ n + qk for k = 1, 2 implies that −2n + (r1 + r2) + 2(q1 + q2) ≤

37

Page 38: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−4 −3 −2 −1 0 1 2 3 4

−3

−2

−1

0

1

2

3

(−2, 2) (−1, 1) (0, 0) (1, −1) (2, −2)

(−1, 2)

(1, −2)

(0, 1)

(0, −1)

(1, 0)

(−1, 0)

(2, −1)

(−2, 1)

(0, 2)

(0, −2)

(1, 1)

(−1, −1)

(2, 0)

(−2, 0)

(0, 3)

(0, −3)

(1, 2)

(−1, −2)

(2, 1)

(−2, −1)

(3, 0)

(−3, 0)

(1, 3)

(−1, −3)

(2, 2)

(−2, −2)

(3, 1)

(−3, −1)

(2, 3)

(−2, −3)

(3, 2)

(−3, −2)

(2, 4)

(−2, −4)

(3, 3)

(−3, −3)

(4, 2)

(−4, −2)

(a)

−6 −4 −2 0 2 4 6−5

−4

−3

−2

−1

0

1

2

3

4

5

(−3, 3) (−2, 2) (−1, 1) (0, 0) (1, −1) (2, −2) (3, −3)

(−2, 3)

(2, −3)

(−1, 2)

(1, −2)

(0, 1)

(0, −1)

(1, 0)

(−1, 0)

(2, −1)

(−2, 1)

(3, −2)

(−3, 2)

(−1, 3)

(1, −3)

(0, 2)

(0, −2)

(1, 1)

(−1, −1)

(2, 0)

(−2, 0)

(3, −1)

(−3, 1)

(−1, 4)

(1, −4)

(0, 3)

(0, −3)

(1, 2)

(−1, −2)

(2, 1)

(−2, −1)

(3, 0)

(−3, 0)

(4, −1)

(−4, 1)

(0, 4)

(0, −4)

(1, 3)

(−1, −3)

(2, 2)

(−2, −2)

(3, 1)

(−3, −1)

(4, 0)

(−4, 0)

(1, 4)

(−1, −4)

(2, 3)

(−2, −3)

(3, 2)

(−3, −2)

(4, 1)

(−4, −1)

(1, 5)

(−1, −5)

(2, 4)

(−2, −4)

(3, 3)

(−3, −3)

(4, 2)

(−4, −2)

(5, 1)

(−5, −1)

(2, 5)

(−2, −5)

(3, 4)

(−3, −4)

(4, 3)

(−4, −3)

(5, 2)

(−5, −2)

(3, 5)

(−3, −5)

(4, 4)

(−4, −4)

(5, 3)

(−5, −3)

(3, 6)

(−3, −6)

(4, 5)

(−4, −5)

(5, 4)

(−5, −4)

(6, 3)

(−6, −3)

(b)

Figure 4-2. Arrays of the type B RHS. (a) The lattice points of <B2 . (b) The lattice points

of <B3 . The coordinates inside each hexagon are for the basis

vB

1 ,vB2

.

x1 + x2 ≤ 2n + (q1 + q2). If r1 + r2 < 3 let s = s1 + s2, q = q1 + q2 and r = r1 + r2. Then

−2n + r + 2q ≤ x ≤ 2n + q and hence a1 + a2 ∈ <B2n,h by Equation 4–2. If r1 + r2 ≥ 3, then

r1 + r2 = 3 + r for some 0 ≤ r < 3. The equation sk = 3qk + rk for k = 1, 2 implies that

s1 + s2 = 3(q1 + q2)+ r1 + r2 = 3(q1 + q2)+3+ r = 3(q1 + q2 +1)+ r. Now let q = q1 + q2 +1.

38

Page 39: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

The inequality xk ≤ n + qk for k = 1, 2 implies that x = x1 + x2 ≤ 2n + (q1 + q2) ≤ 2n + q.

On the other hand −n + rk + 2qk ≤ xk for k = 1, 2 implies that x = x1 + x2 ≥ −2n + (r1 +

r2)+ 2(q1 + q2) = −2n+(3+ r)+2(q1 + q2) = −2n+(1+ r)+2(q1 + q2 +1) ≥ −2n+ r +2q.

Hence we have

− 2n + r + 2q ≤ x ≤ 2n + q. (4–3)

Since s = s1 + s2 = (3q1 + r1) + (3q2 + r2) = 3(q1 + q2) + (r1 + r2) = 3(q1 + q2) + 3 + r =

3(q1 + q2 + 1) + r = 3q + r, we have r = mod(s, 3) and q = s−r3

. Hence, by Equation 4–2

and Inequality 4–3, a1 + a2 ∈ <Bn,h ⊆ <B

n .

Proposition 4.3.3. Let ak = xk(vB1 ) + (sk − xk)v

B2 ∈ <B

n,h for k = 1, 2. If s1 ≥ s2, then

a1 − a2 ∈ <B2n,h.

Proof. If s1 = s2, then a1 − a2 = (x1 − x2)vB1 + (0− (x1 − x2))v

B2 . Let x = x1 − x2. Since

ak ∈ <Bn,h for k = 1, 2, we have −3n ≤ xk ≤ 3n. Hence −6n ≤ x = x1 − x2 ≤ 6n and thus

a1 − a2 lies on the middle layer of <B2n,h since s1 − s2 = 0. If s1 > s2, let rk = mod(sk, 3)

and qk = sk−rk

3. It then follows from the definition of <B

n,h that −n+rk +2qk ≤ xk ≤ n+qk.

Hence, x = x1 − x2 ≤ (n + q1) − (−n + r2 + 2q2) = 2n − r2 + q1 − 2q2 and x = x1 − x2 ≥(−n + r1 + 2q1)− (n + q2) = −2n + r1 + 2q1 − q2. Thus we have

− 2n + r1 + 2q1 − q2 ≤ x = x1 − x2 ≤ 2n− r2 + q1 − 2q2. (4–4)

If r1 ≥ r2, let q = q1 − q2 and r = r1 − r2. Then Inequality 4–4 implies that

−2n + r + 2q ≤ x ≤ 2n + q and, by the definition of <Bn,h, we have a1 − a2 ∈ <B

2n,h . If

r1 < r2, then r2 > r1 ≥ 0 and hence r2 ≥ 1. Let q = q1 − q2 − 1 and r = 3 + r1 − r2.

Then 2n − r2 + q1 − 2q2 ≤ 2n − r2 + q1 − q2 ≤ 2n − 1 + q1 − q2 = 2n + q, and

−2n + r1 + 2q1 − q2 ≥ −2n + r1 + 2q1 − q2 − (q2 − 2 − r2) = −2n + x + 2q. Obviously

s1 − s2 = 3(q1 − q2) + (r1 − r2) = 3(q1 − q2 − 1) + (3 + r1 − r2) = 3q + r. Then by

Inequality 4–4 it follows that −2n + r + 2q ≤ x ≤ 2n + q. Hence, by the definition of <Bn,h,

we have a1 − a2 ∈ <B2n,h.

39

Page 40: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proposition 4.3.4. If ak ∈ <Bn for k = 1, 2, then a1 ± a2 ∈ <B

2n.

Proof. Since ak ∈ <Bn , either ak ∈ <B

n,h or −ak ∈ <Bn,h. If ak ∈ <B

n,h for k = 1, 2, then from

Proposition 4.3.2 we have that a1 + a2 ∈ <B2n,h ⊆ <B

2n. If −ak ∈ <Bn,h for k = 1, 2, then

−a1 − a2 ∈ <B2n,h and hence, by the definition of <B

n , we have a1 + a2 ∈ <B2n. Similarly if

just one of a1 or a2 is in <Bn,h, then by Proposition 4.3.3 a1 + a2 ∈ <B

2n. Since a2 ∈ <Bn , we

have −a2 ∈ <Bn . Hence a1 − a2 = a1 + (−a2) ∈ <B

2n.

Lemma 4.3.5. The maximal distance of the lattice points of <Bn from the origin 0 is

√3n.

Proof. Without loss of generality, we only consider the lattice points of <Bn,h. For any

g ∈ <Bn,h, there exist x, s ∈ Z with 0 ≤ s ≤ 3n,−n + r + 2q ≤ x ≤ n + q, where

r = mod(s, 3), q = s−r3

, such that g = x(vB1 ) + (s − x)vB

2 . Let ψ(g) be the square

of the distance of g from the origin 0, and let κ = maxψ(g) : g ∈ <B

n,h

. Since

g = xvB1 +(s−x)vB

2 , we have ψ(g) = x2 +(s−x)2−x(s−x) = 3x2−3sx+s2. By replacing

s by 3q + r we have ψ(g) = 3x2 − 3x(3q + r) + (3q + r)2, which is a convex function of

x. Hence the maximum of the function ψ(g) can only be reached at the two end points of

x. Since −n + r + 2q ≤ x ≤ n + q and the values of the function ψ(g) at two end points

x = −n + r + 2q and x = n + q are the same, we have

κ ≤ max3(n + q)2 − 3(n + q)(3q + r) + (3q + r)2 : 0 ≤ 3q + r ≤ 3n, 0 ≤ r ≤ 2

.

Let α(q, r) = 3(n + q)2− 3(n + q)(3q + r) + (3q + r)2. Obviously α(q, r) = 3n2− 3n(q + r) +

3q2 + 3qr + r2 by simplification. If r = 0, then 0 ≤ q ≤ n and α(q, 0) = 3n2 − 3nq + 3q2

which is a convex function of q. Hence max α(q, 0) : q ∈ [0, n] = 3n2. If r = 1, then

0 ≤ q ≤ n − 1 and α(q, 1) = 3n2 − 3n(q + 1) + 3q2 + 3q + 1 which is also a convex

function of q. Therefore max α(q, 1) : q ∈ [0, n− 1] = 3n2 − 3n + 1 ≤ 3n2. If r = 2, then

0 ≤ q ≤ n − 1 and α(q, 1) = 3n2 − 3n(q + 2) + 3q2 + 6q + 4 which is a convex function

of q. Hence max α(q, 2) : q ∈ [0, n− 1] = 3n2 − 3n + 1 ≤ 3n2. Thus κ ≤ 3n2. Let

40

Page 41: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

g = n(vB1 ) + 2n(vB

2 ). It is easy to check that g ∈ <Bn,h and that ψ(g) = 3n2. Therefore

κ = 3n2.

Let V B be the matrix whose two columns are vB1 and vB

2 . For any integer n > 0, let

MBn =

3n + 1 3n

1 3n + 1

, V B

n = (V B)(MBn ), and LB

n be the lattice generated by the two

column vectors of V Bn . The following lemma will be used in Theorem 4.3.7.

Lemma 4.3.6. LBn

⋂<B2n = 0.

Proof. Let b1 and b2 be the two column vectors of the matrix V Bn . Since V B

n =

(V B)(MBn ) = (V B)

3n + 1 3n

1 3n + 1

, we have b1 = (3n + 1)vB

1 + vB2 and

b2 = 3n(vB1 ) + (3n + 1)vB

2 . Then b1 = x(vB1 ) + (s − x)vB

2 where x = 3n + 1

and s = 3n + 2. Let r = mod(s, 3), q = s−r3

. It follows that r = 2 and q = n.

Hence −2n + r + 2q = −2n + 2 + 2n = 2 and 2n + q = 2n + n = 3n. Since

x = 3n + 1 6∈ [−2n + r + 2q, 2n + q], we have b1 6∈ <B2n,h by the definition of <B

n,h.

Also s = 3n + 2 > 0 implies that b1 6∈ −<B2n,h. Therefore b1 6∈ <B

2n. Similarly

b2 = x2(vB1 ) + (s2 − x2)v

B2 where x2 = 3n and s2 = 6n + 1. Since s2 = 6n + 1 > 3(2n),

we have b2 6∈ <B2n,h by the definition of <B

n,h. It follows from s2 > 0 that b2 6∈ −<B2n,h.

Therefore b2 6∈ <B2n. Let g = b2 − b1. Then g = −vB

1 + 3n(vB2 ). It follows that

g = x3(vB1 ) + (s3 − x3)v

B2 where x3 = −1 and s3 = 3n− 1. Let r3 = mod(s3, 3), q3 = s3−r3

3.

Then we have r3 = 2 and q3 = n− 1. Hence −2n + r3 + 2q3 = −2n + 2 + 2(n− 1) = 0 and

2n+q3 = 2n+n−1 = 3n−1. Since x3 = −1 6∈ [−2n+r+2q, 2n+q], we have g 6∈ <B2n,h. Of

course, since s3 = 3n− 1 > 0 where n is a positive integer, g 6∈ −<B2n,h. Therefore g 6∈ <B

2n.

By the definition of <Bn , <B

2n is symmetric with respect to the origin. Hence we have also

that −b1,−b2,−g 6∈ <B2n.

Since LBn is a hexagonal lattice generated by b1,b2 and the angle between b1 and

b2 is π3, the lattice points in the set ±b1,±b2,±(b2 − b1) are the only 6 closest nonzero

lattice points from the origin 0. Since b1 = (3n + 1)vB1 + vB

2 and the angle between vB1

41

Page 42: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

and vB2 is 2π

3, the norm of b1 is

√9n2 + 3n + 1. It follows that the distance of any other

nonzero lattice point of LBn from the origin 0 is at least

√3(9n2 + 3n + 1) > 5n as shown

in Figure 4-3. However by Lemma 4.3.5, the maximal distance of the lattice points of <B2n

from the origin 0 is√

3(2n) < 4n. Therefore LBn

⋂<B2n = 0.

−25 −20 −15 −10 −5 0 5 10 15 20 25−25

−20

−15

−10

−5

0

5

10

15

20

25

. . . . . . . . . . . . .. .. .. .. .. .. ... .. .. .. .. ... ..

..

..

..

...

..

..

..

..

..

..

..

..

..

..

...

..

..

..

..

..

..

..

..

..

..

...

..

..

..

..

...

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Figure 4-3. The lattice points of <B2n (red) and LB (blue) where n = 6.

Theorem 4.3.7. For any n ∈ N, <Bn is a set of coset representatives of the quotient group

LB/LBn .

Proof. Since V B is a sampling matrix of the lattice LB, V Bn a sampling matrix of the

lattice LBn , and since V B

n = (V B)(MBn ), by Lemma 4.2.5, the order of the quotient

group LB/LBn equals the determinant of MB

n . It follows that the order of the quotient

group LB/LBn is 9n2 + 3n + 1 since it is the determinant of MB

n . Hence, to show <Bn is

a set of coset representatives of LB/LBn , it suffices to show that no two distinct lattice

points of <Bn are congruent modulo LB

n . For any a,b ∈ <Bn , we have a − b ∈ <B

2n by

Proposition 4.3.4. Suppose a − b ∈ LBn . By Lemma 4.3.6, we have LB

n

⋂<B2n = 0. Hence

a− b ∈ LBn

⋂<B2n = 0. It follows that a = b. Therefore <B

n is a set of coset representatives

of LB/LBn .

42

Page 43: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

It follows from Theorem 4.3.7 that the DFT on <Bn is invertible. Next we consider

the frequency domain. In the proof of Theorem 4.3.7, we have V Bn = (V B)(MB

n ), where

V B is a sampling matrix of the lattice LB and V Bn is a sampling matrix of the lattice LB

n .

Let V Bn = [(V B

n )T ]−1. Since V Bn is a sampling matrix of the lattice LB

n , V Bn is a sampling

matrix of the dual lattice (LBn )∗ of LB

n by Lemma 2.3.2. Let vBn,1 and vB

n,2 be the two

column vectors of the matrix V Bn . Similar to the definition of <B

n,h and the definition of <Bn

in the spatial domain, we have the following two definitions in the frequency domain. For

any integer n > 0, let

<Bn,h =

x(vB

n,1) + (s− x)vBn,2 : x, s ∈ Z, 0 ≤ s ≤ 3n,−n + r + 2q ≤ x ≤ n + q

where r = mod(s, 3), q = s−r3

, vBn,1 and vB

n,2 are defined as the above. For any integer

n > 0, let <Bn = <B

n,h

⋃−<Bn,h where −<B

n,h =−u : u ∈ <B

n,h

.

Theorem 4.3.8. For any n ∈ N, <Bn is a set of coset representatives of the quotient group

(LBn )∗/(LB)∗.

Proof. The proof is similar to that of Theorem 4.2.7 and 4.3.7, and hence omitted.

From Theorems 4.3.7 and 4.3.8, and by the definitions of <Bn,h and <B

n,h, it is easy to

deduce that the geometric shape of the support in the frequency domain of the DFT on

<Bn is similar to that of the support in the spatial domain. Throughout this research, we

also let

C(B, n) =

j

k

∈ Z2 : j(vB

1 ) + k(vB2 ) ∈ <B

n

.

It will help to write the DFT on <Bn in terms of a periodicity matrix. By the change of

bases as in Section 2.3, the following corollary follows from Theorems 4.3.7 and 4.3.8.

Corollary 4.3.9. For any n ∈ N, C(B, n) is a set of coset representatives associated with

both MBn and (MB

n )T .

43

Page 44: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

4.4 Relation Between the Type A and B RHS and Some Previously StudiedArrays

Consider the hexagonal array shown in Figure 4-4 (a) consisting of 48 = 3 · 42

lattice points. If Γn denotes the nth level of this structure, then Γn consists of 3n2 lattice

points and corresponds to the hexagonal structure investigated in Sun and Yao [40] (also

Figure 3-2 (b)). If we delete the points marked in red, then the number of lattice points

reduces to 37 = 3 · 42 − 3 · 4 + 1. The reduced array corresponds to the array <A3 shown in

Figure 4-4 (b). More generally, deleting the lattice points on the bottom and the lower two

sides of Γn reduces the 3n2 lattice points to 3n2 − 3n + 1 = 3(n− 1)2 + 3(n− 1) + 1 lattice

points. Hence, the remaining lattice points are exactly the lattice points of <An−1.

−4 −3 −2 −1 0 1 2 3 4

−4

−3

−2

−1

0

1

2

3

−4 −3 −2 −1 0 1 2 3 4

−4

−3

−2

−1

0

1

2

3

a) (b)

Figure 4-4. Comparison of a previously studied array structure with the type A RHS. (a)The lattice points of Γ4. (b) The lattice points of <A

3 .

Similarly, consider the hexagonal array shown in Figure 4-5 (a) consisting of 100 = n2

lattice points where n = 3k + 1 and k = 3. If Υk denotes the kth level of this structure,

then Υn consists of (3k + 1)2 lattice points and corresponds to the hexagonal structure

investigated in Anterrieu et al. [2] (also Figure 3-3 (b)). If we delete the points marked

in red, then the number of lattice points reduces to 91 = 9 · 32 + 3 · 3 + 1. The reduced

array corresponds to the array <B3 shown in Figure 4-5 (b). More generally, deleting the

lattice points on the bottom and the lower two sides of Υk reduces the n2 lattice points to

(3k + 1)2− 3k = 9k2 + 3k + 1 lattice points. Hence, the remaining lattice points are exactly

44

Page 45: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

the lattice points of <Bk . Also by comparing Figure 4-2 with Figure 3-3 (c), we can see

that if we add 3k lattice points along 6 sides of <Bk , then the expanded array is the kind of

array shown in Figure 3-3 (c).

−6 −4 −2 0 2 4 6

−5

−4

−3

−2

−1

0

1

2

3

4

5

−6 −4 −2 0 2 4 6

−5

−4

−3

−2

−1

0

1

2

3

4

5

a) (b)

Figure 4-5. Comparison of a previously studied array structure with the type B RHS. (a)The lattice points of Υ3. (b) The lattice points of <B

3 .

45

Page 46: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 5FAST ALGORITHMS FOR COMPUTING THE DFT ON THE TWO SPECIAL TYPES

OF THE RHS

5.1 Convert the DFT on a Tile of a Tiling by Translations by a Sublattice toa Standard DFT

In this section we emphasize the correspondence between the domain of computing

the original DFT on a lattice and that of computing the standard DFT generally

presented in textbooks. Recall that Equation 2–1 for computing the DFT on a tile

of a lattice is reduced to Equation 2–7. The use of the Smith normal form to convert

Equation 2–7 to a standard DFT appeared previously in Problem 20, Chapter 2, of

Dudgeon and Mersereau [10] and in Guessoum and Mersereau [19]. In this research, by

a unimodular matrix we mean a square matrix with integer entries and determinant +1

or −1. Applying the Smith normal form to the periodicity matrix M in Equation 2–7,

we can obtain unimodular matrices E and F such that M = EDF for some diagonal

periodicity matrix D =

d1 0

0 d2

, where dj ≥ 0 for j = 1, 2, and d1 divides d2. Let

gk,l = E

k

l

, and hk,l = F T

k

l

. Also, let G = gk,l : 0 ≤ k < d1, 0 ≤ l < d2

and H = hk,l : 0 ≤ k < d1, 0 ≤ l < d2. As in Section 2.3, any function f defined on a

set of coset representatives associated with M can be extended periodically to the whole

lattice Z2, where the association is defined in Section 2.3. Then we have the following

proposition:

Proposition 5.1.1. Let G,H, M and f be as the above. Then G and H are sets of coset

representatives associated with M and MT , respectively. Furthermore, the DFT f of f

satisfies

f(hs,t) =

d1∑

k=0

d2∑

l=0

f(gk,l) · e−2πi( skd1

+ tld2

)for all hs,t ∈ H. (5–1)

46

Page 47: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proof. Let E, F and D be as the above and let Γ = εk,l : 0 ≤ k < d1, 0 ≤ l < d2 where

εk,l =

k

l

. Obviously Γ is a set of coset representatives associated with D. We claim

that G and H are sets of coset representatives associated with M and MT , respectively.

If there exist gk1,l1 ,gk2,l2 ∈ G such that gk1,l1 − gk2,l2 = Mz for some z ∈ Z2, then

E(εk1,l1−εk2,l2) = Mz = EDFz and hence εk1,l1−εk2,l2 = D(Fz). Since εk1,l1 , εk2,l2 ∈ Γ and

Γ is a set of coset representatives associated with D, it follows that εk1,l1 = εk2,l2 . Thus G

is a set of coset representatives associated with M. Similarly we can show that H is a set

of coset representatives associated with MT . By Equation 2–7 we have

f(hs,t) =

d1∑

k=0

d2∑

l=0

f(gk,l) · e−2πi(hs,t)T M−1gk,l for all hs,t ∈ H. (5–2)

Since (hs,t)TM−1gk,l = (F T εs,t)

T (EDF )−1Eεk,l = εs,tTD−1εk,l = sk

d1+ tl

d2, we have

f(hs,t) =

d1∑

k=0

d2∑

l=0

f(gk,l) · e−2πi( skd1

+ tld2

)for all hs,t ∈ H. (5–3)

Thus, f can be computed using algorithms of the standard DFT.

Corollary 5.1.2. Let G, H, and f be the same as in Proposition 5.1.1, and M =

r −s

s r − s

be a periodicity matrix such that r and s are relatively prime. Then there

exist unimodular matrices E and F such that M = EDF where D =

1 0

0 N

and

N = |det(M)|. Hence the DFT f of f can be converted to a 1-dimensional standard DFT.

Proof. Without loss of generality we assume that det(M) ≥ 0. Since r and s are relatively

prime, there exist integers x and y such that xr + ys = 1. It follows from xr + ys = 1

that

x y

−s r

r −s

s r − s

1 sx− (r − s)y

0 1

=

1 0

0 N

and that the matrix

47

Page 48: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

x y

−s r

is unimodular. Let E =

x y

−s r

−1

and F =

1 −sx + (r − s)y

0 1

.

Then M = EDF . Hence by Proposition 5.1.1 the DFT f of f can be converted to a

1-dimensional standard DFT .

5.2 Fast Algorithms for the DFT and its Inverse on the Type A RHS

Let f be a complex function defined on <An . By Equation 2–5, its DFT f satisfies the

following equation:

f(q) =∑

p∈<An

f(p) · e−2πi〈p,q〉, for all q ∈ <An . (5–4)

As in Section 2.3, f can be extended periodically to the whole lattice LA. It follows from

Equation 2–5 that, for any set of coset representatives P of LA/LAn, the set <A

n can be

replaced by P . Similarly, the set <An can be replaced by a set of coset representatives Q of

the quotient group (LAn)∗/(LA)∗.

To simplify our notation, let f and f be two functions defined on Z2 such that

f(m) = f((V A)m) and f(m) = f(V Am) for any m ∈ Z2, where V A = [(V AMAn )T ]−1.

Recall in Chapter 4 that

C(A, n) =

j

k

∈ Z2 : j(vA

1 ) + k(vA2 ) ∈ <A

n

=

j

k

∈ Z2 : |j| ≤ n, |k| ≤ n, |j − k| ≤ n

.

(5–5)

By Corollary 4.2.8, C(A, n) is a set of coset representatives associated with both MAn and

(MAn )T , where the matrix MA

n =

2n + 1 n

n + 1 2n + 1

is defined in Section 4.2. Hence, by

Equation 2–7, the DFT of f satisfies

f(k) =∑

m∈C(A,n)

f(m) · e−2πikT (MAn )−1m for all k ∈ C(A, n). (5–6)

48

Page 49: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

For any integer n > 0 let P1 =

0

l

: 0 ≤ l ≤ 3n2 + 3n

and P2 =

2l

l

: 0 ≤ l ≤ 3n2 + 3n

. The following proposition shows that the DFT of f

on C(A, n) can be converted into a standard DFT.

Proposition 5.2.1. For any integer n > 0, each of the sets P1 and P2 is a set of

coset representatives associated with both MAn and (MA

n )T . Furthermore, f(

2k

k

) =

∑3n2+3nm=0 f(

0

m

) · e −2πilm

3n2+3n+1 for all 0 ≤ k ≤ 3n2 + 3n.

Proof. By the Smith normal form of MAn , we have MA

n = E(DAn )F where E =

1 0

−(3n + 1) 1

,DA

n =

1 0

0 3n2 + 3n + 1

, and F =

2n + 1 n

2 1

. By

computing the matrix products E

0

k

and F T

0

k

, we have P1 = E

0

k

: 0 ≤

k ≤ 3n2 +3n and P2 = F T

0

k

: 0 ≤ k ≤ 3n2 +3n. It follows from Proposition 5.1.1

that P1 is a set of coset representatives associated with MAn , P2 is a set of coset

representatives associated with (MAn )T , and f(

2k

k

) =

∑3n2+3nm=0 f(

0

m

) · e −2πilm

3n2+3n+1 ,

for all k satisfying 0 ≤ k ≤ 3n2 + 3n.

By the Smith normal form of (MAn )T , we have (MA

n )T = E(DAn )F , where E =

1 0

3n + 2 1

and F =

2n + 1 n + 1

−2 −1

are unimodular. It now follows from

Proposition 5.1.1 that the set P1 is a set of coset representatives associated with (MAn )T

and the set P2 is a set of coset representatives associated with MAn .

The next Corollary follows from Proposition 5.2.1 and the use of change of bases.

49

Page 50: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Corollary 5.2.2. For any n ∈ N, each of the setsk(vA

2 ) : 0 ≤ k ≤ 3n2 + 3n

and2k(vA

1 ) + k(vA2 ) : 0 ≤ k ≤ 3n2 + 3n

is a set of coset representatives of the

quotient group LA/LAn . Similarly each of the sets

k(vA

n,2) : 0 ≤ k ≤ 3n2 + 3n

and

2k(vAn,1) + k(vA

n,2) : 0 ≤ k ≤ 3n2 + 3n

is a set of coset representatives of the quotient

group (LAn )∗/(LA)∗.

Because f is originally defined on C(A, n), to apply Proposition 5.2.1 to get the values

of f on C(A, n), we need an efficient correspondence between C(A, n) and P1 in the spatial

domain, and an efficient correspondence between C(A, n) and P2 in the frequency domain.

(a) The correspondence between C(A, n) and P1 in the spatial domain

Since each of C(A, n) and P1 is a set of coset representatives associated with MAn ,

there exists a bijection ϕ between them such that a ≡ ϕ(a) mod MAn for any a ∈ C(A, n).

The bijection ϕ is called the correspondence between C(A, n) and P1 in the spatial

domain. In the following, we give an efficient method to find the correspondence ϕ.

Let a =

u

v

∈ C(A, n). By the definition of C(A, n), we have |u| ≤ n, |v| ≤ n and

|u− v| ≤ n. We consider the following three cases for u.

Case 1: u = 0. Because u = 0, we have a =

0

v

. If 0 ≤ v ≤ n, since

P1 =

0

k

: 0 ≤ k ≤ 3n2 + 3n

, we have a ∈ P1. Hence ϕ(a) = a. If −n ≤ v < 0,

then

0

3n2 + 3n + v + 1

∈ P1. Let b =

0

3n2 + 3n + v + 1

. Because b − a =

0

3n2 + 3n + 1

and MA

n =

2n + 1 n

n + 1 2n + 1

, we have b − a = MA

n

−n

2n + 1

.

Hence a ≡ b mod MAn . It follows that ϕ(a) = b =

0

3n2 + 3n + v + 1

.

50

Page 51: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Case 2: −n ≤ u < 0. Let b =

0

b2

where b2 = (3n+1)(u+n)+v +2n+1. Then

b− a =

−u

(3n + 1)(u + n) + 2n + 1

= MA

n

−(u + n)

2(u + n) + 1

. Hence a ≡ b mod MA

n .

Because −n ≤ u < 0 and −n ≤ v < u+n, we have b2 ≥ (3n+1)(−n+n)−n+2n+1 = n+1

and b2 ≤ (3n+1)(−1+n)+(−1+n)+2n+1 = 3n2 +n−1 ≤ 3n2 +2n. Since b =

0

b2

,

it follows that b ∈ P1. Thus ϕ(a) = b =

0

(3n + 1)(u + n) + v + 2n + 1

.

Case 3: 0 < u ≤ n. Let b =

0

b2

where b2 = (3n + 1)u + v. Then

b − a =

−u

(3n + 1)u

= MA

n

−u

2u

. Hence a ≡ b mod MA

n . Since 1 ≤ u ≤ n

and u − n ≤ v ≤ n, we have b2 = (3n + 1)u + v ≥ (3n + 1)1 + (1 − n) = 2n + 2

and b2 = (3n + 1)u + v ≤ (3n + 1)n + n = 3n2 + 2n. It follows that b ∈ P1. Thus

ϕ(a) = b =

0

(3n + 1)u + v

.

(b) The correspondence between P2 and C(A, n) in the frequency domain

By Proposition 5.2.1 and Corollary 4.2.8, each of the sets P2 and C(A, n) is a set of

coset representatives associated with the matrix (MAn )T . Hence there exists a bijection

χ between P2 and C(A, n) such that g ≡ χ(g) mod (MAn )T for any g ∈ P2. Such a

bijection is called the correspondence between P2 and C(A, n) in the frequency domain.

In the following, we show an efficient method to find the bijection χ. To make expressions

simpler, we assume that n is odd, and let n = 2l + 1 for some integer l > 0. When n is

even, the correspondence can be similarly shown. The method consists of the following two

steps. In Step 1, we find the correspondence between P2 and a set U which will be defined

in Step 1. In Step 2, we find the correspondence between U and C(A, n).

51

Page 52: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Step 1: The correspondence between P2 and U .

For any h ∈ Z satisfying 0 ≤ h ≤ l, let D0,h = h

2

1

. Also for any k ∈ Z satisfying

1 ≤ k ≤ l, let Ak,h = h

2

1

+

1

k

for any h ∈ Z satisfying −(l + 1) ≤ h ≤ l,

and let Bk,h = h

2

1

+

0

k

for any h ∈ Z satisfying −l ≤ h ≤ l. Furthermore

let D0 = D0,h : h ∈ Z, 0 ≤ h ≤ l ,Ak = Ak,h : h ∈ Z,−(l + 1) ≤ h ≤ l, Bk =

Bk,h : h ∈ Z,−l ≤ h ≤ l, and let U = D0

⋃(⋃3l+2

k=1 Ak)⋃

(⋃3l+2

k=1 Bk). Then U contains

l + 1 + (3l + 2)(4l + 3) = n−12

+ 1 + 3n+12

(2n + 1) = 3n2 + 3n + 1 lattice points each of

which will be shown to be congruent to an element of C(A, n) with respect to the modulo

relation associated with the matrix (MAn )T . When n = 3, the lattice points enclosed by the

blue dotted polygon in Figure 5-1 are exactly the lattice points of U . In the following, we

show an efficient method to find a bijection Φ between P2 and U such that g ≡ Φ(g) mod

(MAn )T for any g ∈ P2.

Since g ∈ P2, there exists m ∈ Z satisfying 0 ≤ m ≤ 3n2 + 3n such that g =

2m

m

.

To find Φ(g), we consider the following two cases.

Case 1: If 0 ≤ m ≤ l, then g ∈ D0 ⊂ U . Hence Φ(g) = g.

Case 2: If l < m ≤ 3n2 + 3n, since l + (4l + 3)(3l + 2) = 3n2 + 3n, there

exists k ∈ Z satisfying 1 ≤ k ≤ 3l + 2 and t ∈ Z satisfying 1 ≤ t ≤ 4l + 3 such that

m = l + (4l + 3)(k − 1) + t.

When 1 ≤ t ≤ 2l + 2, let h = t − l − 2. Then t = h + l + 2. Since m =

l + (4l + 3)(k − 1) + t, it follows that m = 2l + 2 + (4l + 3)(k − 1) + h. Hence

g − Ak,h =

2m

m

2h + 1

h + k

=

4l + 4 + (8l + 6)(k − 1) + 2h

2l + 2 + (4l + 3)(k − 1) + h

52

Page 53: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

2h + 1

h + k

=

4l + 3 + 2(4l + 3)(k − 1)

2l + 2 + (4l + 3)(k − 1)− k

=

(4l + 3)(2k − 1)

(2l + 1)(2k − 1)

=

4l + 3 2l + 2

2l + 1 4l + 3

2k − 1

0

=

2n + 1 n + 1

n 2n + 1

2k − 1

0

. Thus g ≡ Ak,h

mod (MAn )T . Since Ak,h ∈ U , it follows that Φ(g) = Ak,h.

When 2l + 3 ≤ t ≤ 4l + 3, let h = t − 3l − 3. Then t = h + 3l + 3. Since

m = l + (4l + 3)(k − 1) + t, it follows that m = (4l + 3)(k − 1) + h + 4l + 3 = k(4l + 3) + h.

Hence g − Bk,h =

2m

m

2h

h + k

=

2k(4l + 3) + 2h

k(4l + 3) + h

2h

h + k

=

2k(4l + 3)

k(4l + 2)

=

4l + 3 2l + 2

2l + 1 4l + 3

2k

0

=

2n + 1 n + 1

n 2n + 1

2k

0

. Thus

g ≡ Bk,h mod (MAn )T . Since Ak,h ∈ U , it follows that Φ(g) = Bk,h.

We have shown that, with respect to the modulo relation associated with the matrix

(MAn )T , the elements of P2 correspond sequentially to the elements of D0, A1, B1, A2, B2,

..., A3l+2, and B3l+2.

Step 2: The correspondence between U and C(A, n) in the frequency

domain.

Recall in Step 1 that U = D0

⋃(⋃3l+2

k=1 Ak)⋃

(⋃3l+2

k=1 Bk). In this step, we show an

efficient method to find a bijection Ψ between U and C(A, n) such that u ≡ Ψ(u) mod

(MAn )T for any u ∈ U .

By the definitions of D0 and C(A, n), we have D0 ⊆ C(A, n). It follows that Ψ(u) = u

for any u ∈ D0.

For any u ∈ Ak, by the definition of Ak, there is h ∈ Z satisfying −l − 1 ≤ h ≤ l such

that u = Ak,h where Ak,h =

2h + 1

h + k

. We consider the following three cases for k to

find Ψ(u).

53

Page 54: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−8 −6 −4 −2 0 2 4 6 8

−8

−6

−4

−2

0

2

4

6

8

(−3,−3)

(−3,−2)

(−3,−1)

(−3,0)

(−2,−3)

(−2,−2)

(−2,−1)

(−2,0)

(−2,1)

(−1,−3)

(−1,−2)

(−1,−1)

(−1,0)

(−1,1)

(−1,2)

(0,−3)

(0,−2)

(0,−1)

(0,0)

(0,1)

(0,2)

(0,3)

(1,−2)

(1,−1)

(1,0)

(1,1)

(1,2)

(1,3)

(2,−1)

(2,0)

(2,1)

(2,2)

(2,3)

(3,0)

(3,1)

(3,2)

(3,3)

(4,0)

(4,1)

(4,2)

(4,3)

(5,0)

(5,1)

(5,2)

(5,3)

(5,4)

(6,0)

(6,1)

(6,2)

(6,3)

(6,4)

(6,5)

(7,0)

(7,1)

(7,2)

(7,3)

(7,4)

(7,5)

(7,6)

(8,1)

(8,2)

(8,3)

(8,4)

(8,5)

(8,6)

(9,2)

(9,3)

(9,4)

(9,5)

(9,6)

(10,3)

(10,4)

(10,5)

(10,6)

(1,4)

(1,5)

(1,6)

(1,7)

(2,4)

(2,5)

(2,6)

(2,7)

(2,8)

(3,4)

(3,5)

(3,6)

(3,7)

(3,8)

(3,9)

(4,4)

(4,5)

(4,6)

(4,7)

(4,8)

(4,9)

(4,10)

(5,5)

(5,6)

(5,7)

(5,8)

(5,9)

(5,10)

(6,6)

(6,7)

(6,8)

(6,9)

(6,10)

(7,7)

(7,8)

(7,9)

(7,10)

(−6,1)

(−6,2)

(−6,3)

(−6,4)

(−5,1)

(−5,2)

(−5,3)

(−5,4)

(−5,5)

(−4,1)

(−4,2)

(−4,3)

(−4,4)

(−4,5)

(−4,6)

(−3,1)

(−3,2)

(−3,3)

(−3,4)

(−3,5)

(−3,6)

(−3,7)

(−2,2)

(−2,3)

(−2,4)

(−2,5)

(−2,6)

(−2,7)

(−1,3)

(−1,4)

(−1,5)

(−1,6)

(−1,7)

(0,4)

(0,5)

(0,6)

(0,7)

(0,−7)

(0,−6)

(0,−5)

(0,−4)

(1,−7)

(1,−6)

(1,−5)

(1,−4)

(1,−3)

(2,−7)

(2,−6)

(2,−5)

(2,−4)

(2,−3)

(2,−2)

(3,−7)

(3,−6)

(3,−5)

(3,−4)

(3,−3)

(3,−2)

(3,−1)

(4,−6)

(4,−5)

(4,−4)

(4,−3)

(4,−2)

(4,−1)

(5,−5)

(5,−4)

(5,−3)

(5,−2)

(5,−1)

(6,−4)

(6,−3)

(6,−2)

(6,−1)

(−7,−10)

(−7,−9)

(−7,−8)

(−7,−7)

(−6,−10)

(−6,−9)

(−6,−8)

(−6,−7)

(−6,−6)

(−5,−10)

(−5,−9)

(−5,−8)

(−5,−7)

(−5,−6)

(−5,−5)

(−4,−10)

(−4,−9)

(−4,−8)

(−4,−7)

(−4,−6)

(−4,−5)

(−4,−4)

(−3,−9)

(−3,−8)

(−3,−7)

(−3,−6)

(−3,−5)

(−3,−4)

(−2,−8)

(−2,−7)

(−2,−6)

(−2,−5)

(−2,−4)

(−1,−7)

(−1,−6)

(−1,−5)

(−1,−4)

(−10,−6)

(−10,−5)

(−10,−4)

(−10,−3)

(−9,−6)

(−9,−5)

(−9,−4)

(−9,−3)

(−9,−2)

(−8,−6)

(−8,−5)

(−8,−4)

(−8,−3)

(−8,−2)

(−8,−1)

(−7,−6)

(−7,−5)

(−7,−4)

(−7,−3)

(−7,−2)

(−7,−1)

(−7,0)

(−6,−5)

(−6,−4)

(−6,−3)

(−6,−2)

(−6,−1)

(−6,0)

(−5,−4)

(−5,−3)

(−5,−2)

(−5,−1)

(−5,0)

(−4,−3)

(−4,−2)

(−4,−1)

(−4,0)

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

..

.

..

..

..

..

..

.

..

..

Figure 5-1. The lattice points enclosed by the blue dashed polygon form the set of coset

representatives U of (LA3 )∗/(LA)∗.

Case 1: 1 ≤ k ≤ l + 1. Let a = 2h + 1 and b = h + k. Since −l − 1 ≤ h ≤ l, we have

−2l − 1 ≤ a ≤ 2l + 1. Because n = 2l + 1, it follows that −n ≤ a ≤ n. Hence |a| ≤ n.

Since −l − 1 ≤ h ≤ l and 1 ≤ k ≤ l + 1, we have −l ≤ b ≤ 2l + 1 = n. Since −l > −n, it

follows that −n ≤ b ≤ n. To ensure Ak,h ∈ C(A, n), we also need to show that |a− b| ≤ n.

Since −l − 1 ≤ h ≤ l and 1 ≤ k ≤ l + 1, we have h + 1 − k ≤ l + 1 − 1 = l < n and

h + 1− k ≥ (−l − 1) + 1− (l + 1) = −2l − 1 = −n. Since a− b = h + 1− k, it follows that

|a− b| ≤ n. Therefore Ak,h ∈ C(A, n). It follows that Ψ(u) = Ψ(Ak,h) = Ak,h.

Case 2: l + 2 ≤ k ≤ 2l + 1. Since h satisfies −(l + 1) ≤ h ≤ l, we consider the

following three sub-cases.

54

Page 55: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Sub-case 1: If −(l + 1) ≤ h ≤ k − 2l − 3, let a = 2h + n + 1, b = h + k − n − 1

and u = u −

−n

n + 1

. Since u = Ak,h =

2h + 1

h + k

, we have u =

2h + 1

h + k

−n

n + 1

=

2h + n + 1

h + k − n− 1

=

a

b

.

We claim that u ∈ C(A, n). Since l + 2 ≤ k ≤ 2l + 1 and −(l + 1) ≤ h ≤ k − 2l − 3,

we have a = 2h + n + 1 ≤ 2(k − 2l − 3) + n + 1 ≤ 2(2l + 1 − 2l − 3) + n + 1 = n− 3 < n

and a ≥ −2(l + 1) + n + 1 = −2(l + 1) + 2l + 1 + 1 = 0 > −n. Hence |a| < n.

For the same reason, we have b = h + k − n − 1 ≤ (k − 2l − 3) + k − n − 1 =

2k − 2l − n − 4 ≤ 2(2l + 1) − 2l − n − 4 = 2l − n − 2 = 2l − (2l + 1) − 2 = −3 < n,

and b ≥ −(l + 1) + (l + 2) − n − 1 = −n. Hence |b| ≤ n. Also we have a − b =

(2h+n+1)−(h+k−n−1) = h+2n+2−k ≤ (k−2l−3)+2n+2−k = 2n−2l−1 = 2n−n = n,

and a−b = h+2n+2−k ≥ −(l+1)+2n+2−(2l+1) = 2n−3l = 2(2l+1)−3l = l+2 > 0 > −n.

Hence |a− b| ≤ n. Therefore u ∈ C(A, n).

Because u − u =

−n

n + 1

=

2n + 1 n + 1

n 2n + 1

−1

1

, we have u ≡ u mod

(MAn )T . It follows that Ψ(u) = u.

Sub-case 2: If k−2l−2 ≤ h ≤ 2l−k+1, we claim that u ∈ C(A, n). Let a = 2h+1

and b = h + k. Since u = Ak,h =

2h + 1

h + k

=

a

b

, we need to show that |a| ≤ n,

|b| ≤ n, and |a − b| ≤ n. Because l + 2 ≤ k ≤ 2l + 1 and k − 2l − 2 ≤ h ≤ 2l − k + 1, we

have 2h + 1 ≤ 2(2l − k + 1) + 1 = 4l − 2k + 3 ≤ 4l − 2(l + 2) = 2l − 2 < 2l + 1 = n, and

2h+1 ≥ 2(k−2l−2)+1 = 2k−4l−3 ≥ 2(l +2)−4l−3 = −2l+1 > −2l−1 = −n. Hence

|2h+1| < n, i.e., |a| < n. For the same reason, we have h+k ≤ (2l−k+1)+k = 2l+1 = n,

and h+k ≥ (k−2l−2)+k = 2k−2l−2 ≥ 2(l+2)−2l−2 = 2 > −n. Hence |h+k| < n, i.e.,

|b| < n. We also have h+1−k ≤ (2l−k+1)+1−k = 2l+2−2k ≤ 2l+2−2(l+2) = −2 < n,

and h + 1 − k ≥ (k − 2l − 2) + 1 − k = −2l − 1 = −n. Hence |h + 1 − k| ≤ n. Since

55

Page 56: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

a − b = h + 1 − k, it follows that |a − b| ≤ n. Therefore u ∈ C(A, n). It follows that

Ψ(u) = u.

Sub-case 3: If 2l − k + 2 ≤ h ≤ l, let a = 2h − n, b = h + k − 2n − 1 and

u = u −

n + 1

2n + 1

. Since u = Ak,h =

2h + 1

h + k

, we have u =

2h + 1

h + k

n + 1

2n + 1

=

2h− n

h + k − 2n− 1

=

a

b

.

We claim that u ∈ C(A, n). Since l + 2 ≤ k ≤ 2l + 1 and 2l − k + 2 ≤ h ≤ l, we

have a = 2h − n ≤ 2l − n < 2l < n and a ≥ 2(2l − k + 2) − n = 4l − 2k + 4 − n ≥4l − 2(2l + 1) + 4 − n = 2 − n > −n. Thus |a| < n. For the same reason, we have

b = h + k − 2n − 1 ≤ l + (2l + 1) − 2n − 1 = 3l − 2n < 3n − 2n = n, and

b ≥ (2l − k + 2) + k − 2n − 1 = 2l + 1 − 2n = n − 2n = −n. Thus |b| ≤ n. Also we have

a−b = (2h−n)−(h+k−2n−1) = h+n+1−k ≤ l+n+1−k ≤ l+n+1−(l+2) = n−1 < n,

and a−b = h+n+1−k ≥ (2l−k+2)+n+1−k = 2l+n−2k+3 = 2l+n−2(2l+1)+3 =

n− 2l + 1 > −2l > −2l − 1 = −n. Thus |a− b| ≤ n. Therefore u ∈ C(A, n).

Because u − u =

n + 1

2n + 1

=

2n + 1 n + 1

n 2n + 1

0

1

, we have u ≡ u mod

(MAn )T . It follows that Ψ(u) = u.

Case 3: 2l + 2 ≤ k ≤ 3l + 2. Since h satisfies −(l + 1) ≤ h ≤ l, we consider the

following two sub-cases.

Sub-case 1: If −(l + 1) ≤ h ≤ −1, let a = 2h + n + 1, b = h + k − n − 1 and

u = u −

−n

n + 1

. Since u = Ak,h =

2h + 1

h + k

, we have u =

2h + 1

h + k

−n

n + 1

=

2h + n + 1

h + k − n− 1

=

a

b

.

We claim that u ∈ C(A, n). Since 2l + 2 ≤ k ≤ 3l + 2 and −(l + 1) ≤ h ≤ −1, we have

a = 2h+n+1 ≤ −2+n+1 < n and a ≥ −2(l+1)+n+1 = −2(l+1)+2l+1+1 = 0 > −n.

Hence |a| < n. For the same reason, we have b = h+k−n−1 ≤ −1+k−n−1 = k−n−2 ≤

56

Page 57: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

(3l +2)−n−2 = 3l−n = 3l− (2l +1) = l−1 < l < n, and b ≥ −(l +1)+(2l +2)−n−1 =

l − n ≥ −n. Hence |b| ≤ n. Also we have a − b = (2h + n + 1) − (h + k − n − 1) =

h+2n+2−k ≤ −1+2n+2−k = 2n+1−k ≤ 2n+1−(2l+2) = 2n−2l−1 = 2n−n = n, and

a−b = h+2n+2−k ≥ −(l+1)+2n+2−(3l+2) = 2n−4l−1 = 2(2l+1)−4l−1 = 1 > −n.

Hence |a− b| ≤ n. Therefore u ∈ C(A, n).

Because u − u =

−n

n + 1

=

2n + 1 n + 1

n 2n + 1

−1

1

, we have u ≡ u mod

(MAn )T . It follows that Ψ(u) = u.

Sub-case 2: If 0 ≤ h ≤ l, let a = 2h−n, b = h+k−2n−1 and u = u−

n + 1

2n + 1

.

Because u = Ak,h =

2h + 1

h + k

, we have u =

2h + 1

h + k

n + 1

2n + 1

=

2h− n

h + k − 2n− 1

=

a

b

.

We claim that u ∈ C(A, n). Since 2l + 2 ≤ k ≤ 3l + 2 and 0 ≤ h ≤ l, we have

a = 2h− n ≤ 2l− n < 2l < n and a ≥ 0− n = −n. Hence |a| < n. For the same reason, we

have b = h + k− 2n− 1 ≤ l + (3l + 2)− 2n− 1 = 4l− 2n + 1 = 4l− 2(2l + 1) + 1 = −1 < n,

and b = h+k−2n−1 ≥ 0+k−2n−1 ≥ 2l +2−2n−1 = 2l−2n+1 = 2l−2(2l +1)+1 =

−2l − 1 = −n. Hence |b| ≤ n. Also we have a − b = (2h − n) − (h + k − 2n − 1) =

h + n + 1 − k ≤ l + n + 1 − k ≤ l + n + 1 − (2l + 2) = n − l − 1 < n, and

a− b = h + n + 1− k ≥ 0 + n + 1− k = 2l + 2− k ≥ 2l + 2− (3l + 2) = −l > −n. Hence

|a− b| ≤ n. Therefore u ∈ C(A, n).

Because u − u =

n + 1

2n + 1

=

2n + 1 n + 1

n 2n + 1

0

1

, we have u ≡ u mod

(MAn )T . It follows that Ψ(u) = u.

We have shown that Ψ(u) is either u, or u −

−n

n + 1

, or u −

n + 1

2n + 1

. For

any k ∈ Z satisfying 1 ≤ k ≤ 3l + 2 and h ∈ Z satisfying −l ≤ h ≤ l, by the definition

57

Page 58: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

of Ak,h and Bk,h, we have Ak,h − Bk,h =

1

0

. As shown in Figure 5-1, the method for

finding Ψ(Ak,h) can be modified easily to find Ψ(Bk,h). Finally let χ be the composition of

Φ and Ψ. Then χ is the required correspondence between P2 and C(A, n) in the frequency

domain.

5.3 Fast Algorithms for the DFT and its Inverse on the Type B RHS

In this section, we show an efficient method to convert the DFT and its inverse on the

type B RHS to a 1-dimensional standard DFT and a 1-dimensional standard inverse DFT,

respectively. It turns out that the DFT on <Bn can be similarly computed to the DFT on

<An . For any complex function f defined on <B

n , by Equation 2–5, its DFT f satisfies the

following equation:

f(q) =∑

p∈<Bn

f(p) · e−2πi〈p,q〉, for all q ∈ <Bn . (5–7)

As in the previous section, the set <Bn can be replaced by any set of coset representatives

P of LB/LBn , and <B

n can be replaced by a set of coset representatives Q of the quotient

group (LBn )∗/(LB)∗. Let f be a function defined on Z2 such that f(m) = f((V B)m) for any

m ∈ Z2. By Corollary 4.3.9, C(B, n) is a set of coset representatives associated with both

MBn and (MB

n )T , where the matrix MBn =

3n + 1 3n

1 3n + 1

is defined in Section 4.3.

Hence, by Equation 2–7, the DFT of f satisfies

f(k) =∑

m∈C(B,n)

f(m) · e−2πikT (MBn )−1m, for all k ∈ C(B, n). (5–8)

The following proposition shows that the DFT of f on C(B, n) can be similarly

converted to a standard DFT.

Proposition 5.3.1. For any integer n > 0, let S1 =

0

l

: 0 ≤ l ≤ 9n2 + 3n

and S2 =

l

l

: 0 ≤ l ≤ 9n2 + 3n

. Then the set S1 is a set of coset representatives

58

Page 59: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

associated with MBn and the set S2 is a set of coset representatives associated with (MB

n )T .

Furthermore, f(

l

l

) =

∑9n2+3nm=0 f(

0

m

) · e −2πilm

9n2+3n+1 for all l satisfying 0 ≤ l ≤

9n2 + 3n.

Proof. By the Smith normal form of MBn we have MB

n = E(DBn )F , where E =

1 0

−3n 1

,DB

n =

1 0

0 9n2 + 3n + 1

, and F =

3n + 1 3n

1 1

. Obviously

S1 = E

0

l

: 0 ≤ l ≤ 9n2 + 3n and S2 = F T

0

l

: 0 ≤ l ≤ 9n2 + 3n.

Hence, it now follows from Proposition 5.1.1 that S1 is a set of coset representatives

associated with MBn , S2 is a set of coset representatives associated with (MB

n )T , and

f(

l

l

) =

∑9n2+3nm=0 f(

0

m

) · e −2πilm

9n2+3n+1 for all l satisfying 0 ≤ l ≤ 9n2 + 3n.

The correspondence between C(B, n) and S1 in the spatial domain can be established

in a likewise fashion.

5.4 Computational Complexity and Cooley-Tukey Factorization for the DFTon the Type A and Type B RHS

For the nth level of the type A RHS <An , let N be its size. By Lemma 4.2.1, N =

3n2 + 3n + 1. From the results of Section 5.2, the computational complexity of the DFT on

<An is the complexity of the correspondences (from C(A, n) to P1, and from P2 to C(A, n))

plus the computational complexity of the 1-dimensional standard Fourier transform

whose input size is N . The computational complexity of those two correspondences is

obviously O(N) as shown in the algorithms. It was shown in Frigo and Johnson [15] that

the computational complexity for the 1-dimensional standard Fourier transform of an

arbitrary input size N is O(N log N) although the sizes that are products of small factors

are transformed most efficiently. Thus the computational complexity of the DFT on <An is

still O(N log N). Similarly the computational complexity of the DFT on <Bn is O(N log N)

where N = 9n2 + 3n + 1.

59

Page 60: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Let f be a complex function defined on <An . By Equation 2–5, its DFT f satisfies the

following equation:

f(q) =∑

p∈<An

f(p) · e−2πi〈p,q〉, for all q ∈ <An . (5–9)

We generated a function f defined on <A298 using a random function with values ranging

from 0 to 100. The set <A298 consists of N = 267307 > 5122 = 262144 lattice points.

Although the number 267307 is prime, on a 2.8 GHz PC, the Matlab computational time

of the DFT of f is less than four seconds using the method provided in this chapter.

According to Moler [31], Version 6 of Matlab uses the Fast Fourier Transform in the West

(FFTW) whose webpage is www.fftw.org. As shown in Frigo and Johnson [15], FFTW

computes the DFT of arbitrary input size and utilizes Rader’s algorithm (Rader [35]) for

prime sizes. The Rader’s algorithm computes the DFT of size N by way of two DFTs and

one inverse DFT of size N − 1. For the DFT on <An , its size is N = 3n2 + 3n + 1. Since

N − 1 = 3n(n + 1), when n > 2, the product n(n + 1) has at least three non trivial integer

factors and hence N − 1 has at least four non trivial integer factors. Therefore, when N

is prime, the Rader’s algorithm can be applied efficiently for computing the DFT on <An

using the Cooley-Tukey algorithm for two DFTs and one inverse DFT of size N − 1.

When the determinant of the matrix MAn can be factored, we can also apply Theorem

2.6 (the Cooley-Tukey factorization of matrix form) in Zapata and Ritter [48]. Let us recall

that theorem in the following form:

Theorem 5.4.1. Let N be a d-dimensional periodicity matrix and IN a set of coset

representatives associated with N. Let f : IN → C. Suppose there exist periodicity

matrices P and Q and there exist sets of coset representatives IP and IQ associated with

P and Q respectively such that N = PQ, |det(P)| > 1, |det(Q)| > 1, IP ⊆ IN and

IQ ⊆ IN . Let INT , IPT , IQT be a set of coset representatives associated with NT , PT and

QT respectively such that IPT ⊆ INT and IQT ⊆ INT . Then the DFT f of f is given by

f(QT m + l) =∑p∈IP

C(p, l) · e−2πi lTN−1p · e−2πi mT P−1p, (5–10)

60

Page 61: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

for all l ∈ IQT , m ∈ IPT , where C(p, l) =∑

q∈IQf(Pq + p) · e−2πi lT Q−1q.

For our case, the determinant of the matrix MAn is 3n2 + 3n + 1. Suppose that there

exist integers 1 < a, b ∈ Z such that 3n2+3n+1 = ab. Let TAn =

1 0

−3n− 1 3n2 + 3n + 1

and F =

2n + 1 n

2 1

. Since MA

n = TAn F and F is unimodular, MA

n and TAn have the

same periods.

Since 3n2 + 3n + 1 = ab, we have TAn =

1 0

−3n− 1 ab

= GH where G =

1 0

−3n− 1 a

and H =

1 0

0 b

. It is easy to check that P =

0

j

: 0 ≤ j < a

is a set of coset representatives associated with G and that Q =

0

k

: 0 ≤ k < b

is

a set of coset representatives associated with H. Let E = Gq + p : p ∈ P, q ∈ Q. Then

E is a set of coset representatives associated with TAn . By direct computation, we have

E =

1 0

−3n− 1 a

0

k

+

0

j

: 0 ≤ j < a, 0 ≤ k < b

=

0

j + ak

: 0 ≤ j < a, 0 ≤ k < b

=

0

l

: 0 ≤ l ≤ 3n2 + 3n

.

(5–11)

It is easy to verify that all conditions of Theorem 5.4.1 are satisfied.

61

Page 62: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 6PYXIS STRUCTURE

6.1 Definition and Labeling of the Pyxis Structure

6.1.1 The Definition of the Pyxis Structure

The Pyxis structure P was proposed in Peterson [33] and mentioned in Chapter 1. To

give a recursive definition based on vector additions, we need the following notation. First

recall from Chapter 4 that

vA1 =

1

0

,vA

2 =

−1

2√

32

,vB

1 =

√3

2

12

,vB

2 =

−√

32

12

,

LA =n1(v

A1 ) + n2(v

A2 ) : n1, n2 ∈ Z

and LB =

n1(v

B1 ) + n2(v

B2 ) : n1, n2 ∈ Z

.

Let ρ1 be a fixed positive number. For any n satisfying 1 < n ∈ N, let ρn = ( 1√3)n−1ρ1,

and let v2n−1,k = ρ2n−1vAk and v2n,k = ρ2nv

Bk for k ∈ 1, 2. Now we define a sequence of

lattices by Ln = n1vn,1 + n2vn,2 : n1, n2 ∈ Z for any n ∈ N. From this definition we can

see that, if we rotate the lattice L2n+1 by 30 about the origin and multiply the resulting

lattice by√

3, then we get the lattice L2n. The following lemma shows the inclusion

relation of those lattices.

To give a recursive definition of the Pyxis structure, for any n ∈ N, we let βn,1 =

vn,1 + vn,2, βn,2 = vn,2, βn,3 = −vn,1, βn,j = −βn,j−3 for j = 4, 5, 6, and βn =

βn,j : j = 1, 2, ..., 6. Figure 6-1 shows the generators of the lattices L1 and L2 as

well as the elements of β1 and β2. Let βn = βn ∪ 0 where 0 =

0

0

. Recall

from Chapter 2 that, for any lattice L and ∅ 6= X,Y ⊆ L, X + Y denotes the set

x + y ∈ L : x ∈ X, y ∈ Y .Let P (0) = 0, P (1) = β1, and for any integer n > 1 let

P (n) = P (n− 1)⋃

(P (n− 2) + βn).

62

Page 63: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−15 −10 −5 0 5 10 15

−15

−10

−5

0

5

10

15

β2,1

β2,2

β2,3

β2,4

β2,5

β2,6

β1,2 β

1,1

β1,3

β1,4

β1,5

β1,6

. (0,0)

Figure 6-1. The generators of the lattices L1 and L2, and the lattice points contained in β1

and β2. In this figure, the two red vectors are v1,1 and v1,2, the two dashedgreen vectors are v2,1 and v2,2, β1 consists of the six black * points, and β2

consists of the six blue o points.

For any integer n ≥ 0, the set P (n) is called the Pyxis structure at level n. We will show in

Theorem 6.1.4 that P (n − 1) and P (n − 2) + βn are disjoint. The next lemma shows the

containment relationship among P (n) and Ln for any n ∈ N.

Lemma 6.1.1. For any n ∈ N, we have Ln ⊂ Ln+1 and P (n) ⊂ Ln.

Proof. First we prove Ln ⊂ Ln+1. Because the proof when n is even can be similarly

done, we assume that n is odd, i.e., n = 2k − 1 for some k ∈ N. Since vA1 =

1

0

,

vA2 =

−1

2√

32

, vB

1 =

√3

2

12

and vB

2 =

−√

32

12

, we have vA

1 = 1√3(vB

1 − vB2 )

and vA2 = 1√

3(vB

1 + 2vB2 ). Then for any n1, n2 ∈ Z, we have n1v2k−1,1 + n2v2k−1,2 =

n1ρ2k−1vA1 + n2ρ2k−1v

A2 = ρ2k−1(n1v

A1 + n2v

A2 ) = 1√

3ρ2k−1(n1(v

B1 − vB

2 ) + n2(vB1 + 2vB

2 )) =

ρ2k((n1 + n2)vB1 + (2n2 − n1)v

B2 ) = (n1 + n2)v2k,1 + (2n2 − n1)v2k,2 ∈ L2k = Ln+1. Thus

Ln ⊆ Ln+1. Obviously the length of v2k−1,1 and v2k−1,2 is ρ2k−1 and the angle between

v2k−1,1 and v2k−1,2 is 2π3

. It follows that the length of any vector in the set L2k−1 is at

63

Page 64: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

least ρ2k−1 which is bigger than the length of v2k,1. Hence v2k,1 6∈ L2k−1 and L2k 6= L2k−1.

Therefore L2k−1 ⊂ L2k, i.e., Ln ⊂ Ln+1.

By the definition of βn, we have βn ⊂ Ln for any n ∈ N. Also by the definition

of P (1), we have P (1) = β1. It follows that P (1) ⊆ L1. Obviously P (0) = 0 ⊂ L0.

Using induction, assume that P (k) ⊆ Lk for any k satisfying 0 ≤ k < n. By the

definition of P (n), for any n ≥ 2, we have P (n) = P (n − 1)⋃

(P (n − 2) + βn). By the

assumption of this induction, we have P (n − 2) ⊆ Ln−2 and P (n − 1) ⊆ Ln−1. By the

result of the previous paragraph, we have Ln−2 ⊆ Ln−1 ⊆ Ln. Because βn ⊂ Ln and

P (n) = P (n − 1)⋃

(P (n − 2) + βn), it follows that P (n) ⊆ Ln. Since P (n) contains only

finite number of lattice points, P (n) 6= Ln. Thus P (n) ⊂ Ln.

The first 4 levels of the Pyxis structure are shown in Figure 6-2. Notice that the area

of a cell of P (n) is three times that of a cell of P (n + 1). The factor three is a suitable

scaling factor for re-sampling an image from one resolution into another. This is one of

the advantages of the Pyxis structure over the GBT2 where, as we mentioned in Chapter

3, the scaling factor seven in GBT2 would make an image change rapidly if we re-sample

it into the grid of the previous level. The following two lemmas will be used to prove

Theorem 6.1.4, which provides some properties of the Pyxis structure.

Lemma 6.1.2. If n ≥ 2 and f : Ln−2 × βn → Ln−2 + βn is the map defined by

f(a,b) = a + b for any a ∈ Ln−2 and b ∈ βn, then f is a bijection.

Proof. Obviously f is onto. We will show that f is also one to one. If f(a,b) = f(a, b) for

some (a,b), (a, b) ∈ Ln−2×βn, then a+b = a+ b. Hence b− b = a−a. Since a, a ∈ Ln−2

and Ln−2 is a lattice, we have a− a ∈ Ln−2. It follows that b− b ∈ Ln−2. Hence there are

l1, l2 ∈ Z such that

b− b = l1vn−2,1 + l2vn−2,2. (6–1)

64

Page 65: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

0 6

12

3

4 5

06

01

02

03

04

05

00 60

1020

30

40 50

006

001002

003

004 005

606

601602

603

604 605

106

101102

103

104 105

206

201202

203

204 205

306

301302

303

304 305

406

401402

403

404 405

506

501502

503

504 505

060

010

020

030

040

050

000 600

100200

300

400 500

0606

0601

0602

0603

0604

0605

0106

0101

0102

0103

0104

0105

0206

0201

0202

0203

0204

0205

0306

0301

0302

0303

0304

0305

0406

0401

0402

0403

0404

0405

0506

0501

0502

0503

0504

0505

0006

0001

0002

0003

0004

0005

6006

6001

6002

6003

6004

6005

1006

1001

1002

1003

1004

1005

2006

2001

2002

2003

2004

2005

3006

3001

3002

3003

3004

3005

4006

4001

4002

4003

4004

4005

5006

5001

5002

5003

5004

5005

0060

00100020

0030

0040 0050

6060

60106020

6030

6040 6050

1060

10101020

1030

1040 1050

2060

20102020

2030

2040 2050

3060

30103020

3030

3040 3050

4060

40104020

4030

4040 4050

5060

50105020

5030

5040 5050

0600

0100

0200

0300

0400

0500

0000 6000

10002000

3000

4000 5000

Figure 6-2. The first 4 levels of the Pyxis structure where P (1) consists of 7 bluehexagons, P (2) consists of 13 red hexagons, P (3) consists of 55 greenhexagons, and P (4) consists of 133 black hexagons. In this figure, the blackvector is the sum of the two blue vectors. It follows that the coordinates of thelattice point labeled 0205 is the sum of the coordinates of the two latticepoints labeled 0030 and 0001, respectively.

Let D = (1, 1), (0, 1), (−1, 0), (−1,−1), (0,−1), (1, 0). It follows easily from the definition

of βn that

βn = n1vn,1 + n2vn,2 : (n1, n2) ∈ D .

Since b, b ∈ βn, there exist (n1, n2), (n1, n2) ∈ D such that b = n1vn,1 + n2vn,2 and

b = n1vn,1 + n2vn,2. It follows that

b− b = (n1 − n1)vn,1 + (n2 − n2)vn,2. (6–2)

By combining Equations 6–1 and 6–2, we have

(n1 − n1)vn,1 + (n2 − n2)vn,2 = l1vn−2,1 + l2vn−2,2.

65

Page 66: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Because vn−2,j = 3vn,j for j = 1, 2, it follows that

(n1 − n1)vn,1 + (n2 − n2)vn,2 = 3(l1vn,1 + l2vn,2).

Hence n1 − n1 = 3l1. However (n1, n2), (n1, n2) ∈ D implies that |n1 − n1| ≤ 2. Thus

n1 − n1 = 0. Similarly n2 − n2 = 0. Hence b = b and a = a. Therefore f is one to one.

Lemma 6.1.3. For any n satisfying 0 ≤ n ∈ Z, we have Ln

⋂βn+1 = ∅.

Proof. We will just give a proof when n is even since the proof is similar when n is odd.

Suppose that βn+1

⋂Ln 6= ∅. Since βn+1 = n1vn+1,1 + n2vn+1,2 : (n1, n2) ∈ D where

D = (1, 1), (0, 1), (−1, 0), (−1,−1), (0,−1), (1, 0), there exist (n1, n2) ∈ D and l1, l2 ∈ Zsuch that

n1vn+1,1 + n2vn+1,2 = l1vn,1 + l2vn,2. (6–3)

Since n is assumed to be even, vn+1,k = ρn+1vAk and vn,k = ρnv

Bk for k = 1, 2. Then

Equation 6–3 becomes

n1ρn+1vA1 + n2ρn+1v

A2 = l1ρnv

B1 + l2ρnv

B2 . (6–4)

Since ρn =√

3ρn+1, it follows that n1vA1 + n2v

A2 =

√3(l1v

B1 + l2v

B2 ). Hence

n1vA1 + n2v

A2 =

√3(

l1√3(2vA

1 + vA2 ) +

l2√3(−vA

1 + vA2 )) = (2l1 − l2)v

A1 + (l1 + l2)v

A2 .

Then n1 = 2l1 − l2 and n2 = l1 + l2. Thus n1 + n2 = 3l1. However (n1, n2) ∈ D implies that

n1 + n2 equals ±1 or ±2, which contradicts that n1 + n2 = 3l1 for some l1 ∈ Z. Therefore

βn+1

⋂Ln = ∅.

Theorem 6.1.4. For any n satisfying 0 ≤ n ∈ Z, we have

1. P (n) ⊂ P (n + 1);

2. P (n + 1)⋂

(P (n) + βn+2) = ∅;3. |P (n)| = 1

5[3n+2 − (−2)n+2].

66

Page 67: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proof. 1. It follows easily from the definition of the Pyxis structure that P (n) ⊆ P (n + 1)

and P0 6= P1. Since P (0) = 0, we have 0 ∈ P (n) for any n ≥ 0. Suppose that

P (n) = P (n + 1) for some n ≥ 1. Since P (n + 1) = P (n)⋃

(P (n − 1) + βn+1), we

have P (n) = P (n)⋃

(P (n − 1) + βn+1). It follows that P (n − 1) + βn+1 ⊆ P (n).

Furthermore 0 ∈ P (n − 1) implies that 0 + βn+1 ⊆ P (n − 1) + βn+1. Therefore

βn+1 ⊆ 0 + βn+1 ⊆ P (n− 1) + βn+1 ⊆ P (n) which contradicts Lemma 6.1.3.

2. Since P (n) ⊂ Ln ⊂ Ln+1 and P (n + 1) ⊂ Ln+1, if P (n + 1)⋂

(P (n) + βn+2) 6= ∅, we

have Ln+1

⋂βn+2 6= ∅ which contradicts Lemma 6.1.3.

3. The conclusion is obviously true for n = 0, 1. When n > 1, by the definition the

Pyxis structure, we have P (n) = P (n− 1)⋃

(P (n− 2) + βn). Since P (n− 1)⋂

(P (n− 2) +

βn) = ∅ by Item 2, we have |P (n)| = |P (n− 1)|+ |P (n− 2)+βn|. By Lemma 6.1.2 we have

|P (n− 2) + βn| = |P (n− 2)× βn| = 6|P (n− 2)|. Hence |P (n)| = |P (n− 1)|+ 6|P (n− 2)|.We also have initial conditions |P (0)| = 1 and |P (1)| = 7. Thus we can get |P (n)| =

15[3n+2 − (−2)n+2].

6.1.2 The Labeling of the Pyxis Structure

In this subsection, we assign to each lattice point of P (n) a unique label which

consists of a string of integers λ1λ2...λn such that 0 ≤ λi ≤ 6 for each 1 ≤ i ≤ n and either

λi = 0 or λi+1 = 0 for any i satisfying 1 ≤ i < n. Because labels of lattice points of P (n),

as opposed to their coordinates, consist of integers, such an assignment is useful for quick

data retrieval of the Pyxis structure.

Let βn,0 = 0 for any n ∈ N. Since βn = βn∪0, we have βn = βn,j : j = 0, 1, 2, ..., 6.To define the labeling, we prove that, for any a ∈ P (n), there exists uniquely determined

λi ∈ 0, 1, 2, ..., 6 for each i satisfying 1 ≤ i ≤ n such that a =∑n

i=1 βi,λi, and either

λi = 0 or λi+1 = 0 for each i satisfying 1 ≤ i < n. The next lemma will be used in the

proof of the following theorem.

Lemma 6.1.5. Let λi ∈ 0, 1, 2, ..., 6 for i = 1, 2, ..., n. If either λi = 0 or λi+1 = 0 for

any i satisfying 1 ≤ i < n, then∑n

i=1 βi,λi∈ P (n).

67

Page 68: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proof. If n = 1, then this lemma is obviously true. Suppose that it is true for any n < t

for some integer t. When n = t, let a =∑t

i=1 βi,λi. If λt = 0, then βt,λt = 0. Hence

a =∑t−1

i=1 βi,λi∈ P (t−1) by the assumption of this induction. By Item 1 of Theorem 6.1.4,

we have P (t− 1) ⊂ P (t). Hence a ∈ P (t). If λt 6= 0, then λt−1 = 0 by the condition of this

lemma. Hence

a = βt,λt +t−2∑i=1

βi,λi. (6–5)

The assumption of this induction follows that∑t−2

i=1 βi,λi∈ P (t− 2). Since λt 6= 0, we have

βt,λt ∈ βt. Hence by Equation 6–5, we have a ∈ βt + P (t− 2) ⊂ P (t).

Theorem 6.1.6. For any n ∈ N and a ∈ P (n), there exists uniquely determined

λi ∈ 0, 1, 2, ..., 6 for each i = 1, 2, ..., n such that a =∑n

i=1 βi,λiand either λi = 0 or

λi+1 = 0 for each i satisfying 1 ≤ i < n.

Proof. When n = 1, it is obviously true. Suppose that it is true for any n < t for some

integer t. When n = t, by definition we have P (t) = P (t − 1)⋃

(P (t − 2) + βt). Hence

a ∈ P (t) implies that either a ∈ P (t − 1) or a ∈ P (t − 2) + βt. If a ∈ P (t − 1),

then by the assumption of this induction, a has such an expression in P (t − 1), which is

a =∑t−1

i=1 βi,λi. Let λt = 0. Then βt,λt = 0. It follows that a =

∑ti=1 βi,λi

=∑n

i=1 βi,λi,

which is the required expression of a in P (n). If a ∈ P (t − 2) + βt, then a = b + c for

some b ∈ P (t − 2) and c ∈ βt. By the assumption of this induction, b has the required

expression b =∑t−2

i=1 βi,λiin P (t − 2). Since c ∈ βt, there is λt ∈ 1, 2, ..., 6 such that

c = βt,λt . Let λt−1 = 0. Then a = b + c =∑t

i=1 βi,λi=

∑ni=1 βi,λi

is the required expression

of a in P (n).

To show the uniqueness, suppose that a has another such expression a =∑n

i=1 βi,λi,

where λi ∈ 0, 1, 2, ..., 6 for each i = 1, 2, ..., n and either λi = 0 or λi+1 = 0 for any i

satisfying 1 ≤ i < n. It follows that

n∑i=1

βi,λi=

n∑i=1

βi,λi. (6–6)

68

Page 69: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

If λn = λn, then Equation 6–6 becomes

n−1∑i=1

βi,λi=

n−1∑i=1

βi,λi. (6–7)

By Lemma 6.1.5, we have∑n−1

i=1 βi,λi∈ P (n − 1). By the assumption of this induction,

it follows from Equation 6–7 that λi = λi for any i satisfying 1 ≤ i ≤ n − 1. Thus

the expression of a is unique in this case. If λn 6= 0 but λn = 0, then it follows from

Equation 6–5 that

βn,λn =n−1∑i=1

βi,λi−

n−1∑i=1

βi,λi. (6–8)

By Lemma 6.1.1, we have βi ⊂ Ln−1 for each i = 1, 2, ..., n− 1. By Equation 6–8, it follows

that βn,λn ∈ Ln−1. Since λn 6= 0, we have βn,λn ∈ βn. Hence βn,λn ∈ βn

⋂Ln−1 = ∅

by Lemma 6.1.3, which is a contradiction. If λn = 0 but λn 6= 0, then a contradiction

can be similarly shown. If λn 6= 0 and λn 6= 0, then λn−1 = 0 and λn−1 = 0 by the

requirement of such expressions. By Lemma 6.1.5, we have∑n−2

i=1 βi,λi∈ P (n − 2)

and∑n−2

i=1 βi,λi∈ P (n − 2). Since βn,λn ∈ βn and βn,λn

∈ βn, by Lemma 6.1.2, it

follows from Equation 6–6 that∑n−2

i=1 βi,λi=

∑n−2i=1 βi,λi

and βn,λn = βn,λn. Since

∑n−2i=1 βi,λi

=∑n−2

i=1 βi,λi, by the assumption of this induction, we have λi = λi for each i

satisfying 1 ≤ i ≤ n− 2. Furthermore, since βn,λn = βn,λn, we have λn = λn. Therefore the

uniqueness is proved for all cases.

For any n ∈ N and a ∈ P (n), the unique expression a =∑n

i=1 βi,λiin Theorem 6.1.6

is called the standard expression of a in P (n). The string λ1λ2...λn of integers in that

standard expression is called the label of a in P (n). If Va denotes the Voronoi cell of

a ∈ Ln, then the string λ1λ2...λn is also called the label of Va. The label of each lattice

point of P (n) also serves as the label of the Voronoi cell of that lattice point. It is easy to

verify that, in Figure 6-2 of the previous subsection, the center hexagon of P (1) is labeled

0, and other six hexagons of P (1) are labeled 1,2,3,4,5,6 going counter-clockwise. For any

69

Page 70: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

n satisfying 0 ≤ n ∈ Z, let Λn denote the set of the labels of lattice points of P (n). The

following corollary shows the structure of Λn.

Corollary 6.1.7. For any n satisfying 2 < n ∈ Z, we have

1. Λn = λ1λ2...λn : λi ∈ 0, 1, 2, ..., 6 for each i, and λi · λi+1 = 0 for each i < n .

2. Λn = λ0j : λ ∈ Λn−2, j = 1, 2, 3, 4, 5, 6⋃ λ0 : λ ∈ Λn−1 .

Proof. 1. Since Λn is the set of the labels of lattice points of P (n), by Lemma 6.1.5 and

Theorem 6.1.6, we have

Λn = λ1λ2...λn : λi ∈ 0, 1, 2, ..., 6 for each i, and λi · λi+1 = 0 for each i < n .

2. It follows easily from Item 1 that

λ0j : λ ∈ Λn−2, j = 1, 2, 3, 4, 5, 6⋃λ0 : λ ∈ Λn−1 ⊆ Λn.

Conversely, for any λ ∈ Λn, let λ = λ1λ2...λn. If λn = 0, then λ = λ0 where

λ = λ1λ2...λn−1 ∈ Λn−1. If λn 6= 0, by Theorem 6.1.6, we have λn−1 = 0. Hence

λ = λ0j where λ = λ1λ2...λn−2 ∈ Λn−2 and j = λn ∈ 1, 2, ..., 6. Therefore Λn ⊆λ0j : λ ∈ Λn−2, j = 1, 2, 3, 4, 5, 6⋃ λ0 : λ ∈ Λn−1.

6.1.3 Addition of the Labels of the Pyxis Structure

In this subsection, we first define the sum of labels of two lattice points in P (n) to

be the label of the sum of these two lattice points which are taken as the vectors of R2.

The addition of Pyxis labels will be used in Section 6.2. Our algorithm for adding any

two labels in Λn uses the fact that 13a + 1

3b ∈ P (n + 2) for any n ∈ N and a,b ∈ P (n)

which is proved in this subsection. Tables 6-1 and 6-2 are also used in the algorithm. The

computational complexity of our algorithm is shown to be of order n.

Let a,b ∈ P (n) be labeled a1a2...an and b1b2...bn, respectively. If a + b ∈ P (n) and

the label of a + b in P (n) is c1c2...cn, then the label c1c2...cn is called the sum of the labels

a1a2...an and b1b2...bn, and we write a1a2...an ⊕ b1b2...bn = c1c2...cn in Λn. For example, the

three dashed vectors in Figure 1-2 show that 0506⊕ 2005 = 1040 in Λ4.

70

Page 71: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Partial addition table for P (3).⊕ 001 002 003 004 005 006 010 020 030 040 050 060

001 104 010 002 000 006 060 103 205 003 005 603 105002 010 205 020 003 000 001 206 204 306 004 006 104003 002 020 306 030 004 000 205 301 305 401 005 001004 000 003 030 401 040 005 002 306 402 406 502 006005 006 000 004 040 502 050 001 003 401 503 501 603006 060 001 000 005 050 603 104 002 004 502 604 602

Partial addition table for P (4).⊕ 0001 0002 0003 0004 0005 0006 0010 0020 0030 0040 0050 0060

0001 0104 0020 0002 0000 0006 0010 0105 0103 0205 0003 0005 06030002 0020 0205 0030 0003 0000 0001 0104 0206 0204 0306 0004 00060003 0002 0030 0306 0040 0004 0000 0001 0205 0301 0305 0401 00050004 0000 0003 0040 0401 0050 0005 0006 0002 0306 0402 0406 05020005 0006 0000 0004 0050 0502 0060 0603 0001 0003 0401 0503 05010006 0010 0001 0000 0005 0060 0603 0602 0104 0002 0004 0502 06040010 0105 0104 0001 0006 0603 0602 1040 0100 0020 0000 0060 06000020 0103 0206 0205 0002 0001 0104 0100 2050 0200 0030 0000 00100030 0205 0204 0301 0306 0003 0002 0020 0200 3060 0300 0040 00000040 0003 0306 0305 0402 0401 0004 0000 0030 0300 4010 0400 00500050 0005 0004 0401 0406 0503 0502 0060 0000 0040 0400 5020 05000060 0603 0006 0005 0502 0501 0604 0600 0010 0000 0050 0500 6030

By the plot of the lattice points of P (3) (P (4) respectively) in Figure 6-2, it is

easy to verify Tables 6-1 (6-2 respectively) which gives partial addition tables for P (3)

(P (4) respectively) and will be used in our algorithm. The following lemma gives some

properties of labels of the Pyxis structure which will be used very often for the addition of

labels.

Lemma 6.1.8. For any n ∈ N we have the following:

1. If λ1λ2...λn ∈ Λn and k < n, then λ1λ2...λn = λ1λ2...λk00...0⊕ 00...0λk+1λk+2...λn in

Λn.

2. If 1 ≤ k ≤ n, A = λ1λ2...λk00...0 ∈ Λn, B = 00...0λk+1λk+2...λn ∈ Λn, and either

λk = 0 or λk+1 = 0, then A⊕B = λ1λ2...λn in Λn.

3. If a ∈ P (n) with label λ1λ2...λn ∈ Λn, then 13a ∈ P (n + 2) with label 00λ1λ2...λn ∈

Λn+2, and the label of a in P (n + 1) is λ1λ2...λn0 ∈ Λn+1.

71

Page 72: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

4. For any a1a2...an ∈ Λn, b1b2...bn ∈ Λn and c1c2...cn ∈ Λn, we have a1a2...an ⊕b1b2...bn = c1c2...cn in Λn if and only if 0a1a2...an ⊕ 0b1b2...bn = 0c1c2...cn in Λn+1 if

and only if a1a2...an0⊕ b1b2...bn0 = c1c2...cn0 in Λn+1.

Proof. 1. Let a =∑n

i=1 βi,λi, b =

∑ki=1 βi,λi

, and c =∑n

i=k+1 βi,λi. Since λ1λ2...λn ∈ Λn, by

Item 1 of Corollary 6.1.7, we have either λi = 0 or λi+1 = 0 for any i satisfying 1 ≤ i < n.

By Lemma 6.1.5, it follows that a,b, c ∈ P (n). By the definition of labels of the elements

in P (n), the labels of a, b and c are λ1λ2...λn, λ1λ2...λk00...0 and 00...0λk+1λk+2...λn,

respectively. Since a = b + c, we have λ1λ2...λn = λ1λ2...λk00...0 ⊕ 00...0λk+1λk+2...λn in

Λn.

2. Since A,B ∈ Λn, there exist a,b ∈ P (n) such that A and B are the labels of a

and b, respectively. Because A = λ1λ2...λk00...0 ∈ Λn, we have a =∑k

i=1 βi,λi. Similarly

B = 00...0λk+1λk+2...λn ∈ Λn implies that b =∑n

i=k+1 βi,λi. Since λ1λ2...λk00...0 ∈ Λn,

we have either λi or λi+1 for any i satisfying 1 ≤ i < k. Similarly it follows from

00...0λk+1λk+2...λn ∈ Λn that either λi or λi+1 for any i satisfying k + 1 ≤ i < n.

Furthermore, by the given condition of this Item, we have either λk = 0 or λk+1 = 0.

Hence either λi = 0 or λi+1 = 0 for any i satisfying 1 ≤ i < n. By Lemma 6.1.5, it

follows that∑n

i=1 βi,λi∈ P (n) and the label of

∑ni=1 βi,λi

in P (n) is λ1λ2...λn. Since

a + b =∑n

i=1 βi,λi, we have A⊕B = λ1λ2...λn in Λn.

3. Since a ∈ P (n) and the label of a is λ1λ2...λn, the standard expression of a is

a =∑n

i=1 βi,λi. It follows that 1

3a =

∑ni=1

13βi,λi

. Because 13βi,λi

= βi+2,λi, we have 1

3a =

∑ni=1 βi+2,λi

∈ P (n + 2). It follows that the label of 13a in P (n + 2) is 00λ1λ2...λn ∈ Λn+2.

If we let λn+1 = 0, then a =∑n+1

i=1 βi,λi. It follows that the label of a in P (n + 1) is

λ1λ2...λnλn+1, i.e., λ1λ2...λn0.

4. Since a1a2...an, b1b2...bn, c1c2...cn ∈ Λn, there exist a,b, c ∈ P (n) such that

a1a2...an, b1b2...bn and c1c2...cn are the labels of a,b and c, respectively. Then the

standard expressions of a,b and c are a =∑n

i=1 βi,ai, b =

∑ni=1 βi,bi

and c =∑n

i=1 βi,ci,

respectively.

72

Page 73: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

If a1a2...an ⊕ b1b2...bn = c1c2...cn in Λn, then a + b = c, i.e.,∑n

i=1 βi,ai+

∑ni=1 βi,bi

=∑n

i=1 βi,ci. It follows that

∑ni=1

1√3βi,ai

+∑n

i=11√3βi,bi

= 1√3

∑ni=1 βi,ci

. By rotating those

vectors by an angle of π6

as shown in Figure 6-1, it follows that∑n

i=1 βi+1,ai+

∑ni=1 βi+1,bi

=∑n

i=1 βi+1,ci. Hence 0a1a2...an ⊕ 0b1b2...bn = 0c1c2...cn in Λn+1. If 0a1a2...an ⊕ 0b1b2...bn =

0c1c2...cn in Λn+1, similarly we can show that a1a2...an ⊕ b1b2...bn = c1c2...cn in Λn.

Let an+1 = bn+1 = cn+1 = 0. Then∑n

i=1 βi,ai+

∑ni=1 βi,bi

=∑n

i=1 βi,ciif and only

if∑n+1

i=1 βi,ai+

∑n+1i=1 βi,bi

=∑n+1

i=1 βi,ci. It follows that a1a2...an ⊕ b1b2...bn = c1c2...cn if

and only if a1a2...an+1 ⊕ b1b2...bn+1 = c1c2...cn+1 if and only if a1a2...an0 ⊕ b1b2...bn0 =

c1c2...cn0.

Let L be a hexagonal lattice. For any a,b ∈ L, if their Voronoi cells share exactly one

side, then we say that a and b are next to each other in the lattice L, and each of them

is called a neighbor of the another in the lattice L. The following three lemmas will be

applied in subsequent lemmas.

Lemma 6.1.9. Let 1 < n ∈ N. If a,b ∈ βn which are next to each other in the lattice Ln,

then a + b ∈ βn−1.

Proof. It follows directly from Figure 6-1.

Lemma 6.1.10. For any n ∈ N and a,b ∈ Ln, a is next to b in the lattice Ln if and only

if b− a ∈ βn.

Proof. If a is next to b in the lattice Ln, then their Voronoi cells shares exactly one side.

After a translation of −a, it follows that the Voronoi cell of a − a shares exactly one side

with the Voronoi cell of b − a. Hence a − a, i.e., 0, is next to b − a in the lattice Ln.

Obviously βn = x ∈ Ln : x is next to 0 in the lattice Ln. Thus b − a ∈ βn. Conversely

if b − a ∈ βn, then b − a is next to 0 in the lattice Ln. After a translation of a, it follows

that a is next to b in the lattice Ln.

Lemma 6.1.11. For any a,b ∈ βn, we have:

1. If a 6= b, then either a + b = 0 or a + b ∈ βn−1

⋃βn.

73

Page 74: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

2. If a 6= ±b, then a is next to either b or −b in the lattice Ln.

Proof. 1. Obviously βn contains exactly six lattice points which are all neighbors of 0

in the lattice Ln. Since a,b ∈ βn and a 6= b, it follows that b = −a, or b is next to

either a or −a in the lattice Ln. If b = −a, then a + b = 0. If b is next to a, then by

Lemma 6.1.9, a + b ∈ βn−1. If b is next to −a in the lattice Ln, then by Lemma 6.1.10, we

have b− (−a) ∈ βn. Hence a + b ∈ βn.

2. Since a,b ∈ βn and βn contains exactly six lattice points which are all neighbors of

0 in the lattice Ln, if a 6= ±b, then a must be next to either b or −b in the lattice Ln.

The following two lemmas will be used in Theorem 6.1.14, which is one of the main

results in this subsection.

Lemma 6.1.12. For any a,b, c ∈ P (1), we have 13a + 1

3b + 1

3c ∈ P (3).

Proof. Let u = 13a + 1

3b + 1

3c and let the labels of a,b and c be a1, b1, and c1, respectively.

By applying Item 3 of Lemma 6.1.8, it follows that the labels of 13a, 1

3b and 1

3c are 00a1,

00b1, and 00c1, respectively.

If either a = 0, or b = 0, or c = 0, without loss of generality, we assume that c = 0.

It follows that u = 13a + 1

3b and the label of u is 00a1 ⊕ 00b1. By applying Table 6-1, we

have 00a1⊕ 00b1 = d10d3 for some label d10d3 ∈ Λ3. Hence the label of u is d10d3 ∈ Λ3 and

thus u ∈ P (3).

Otherwise, if a = b = c, then u = a ∈ P (1) ⊂ P (3).

Otherwise, if either a = −b, or a = −c, or b = −c, without loss of generality, we

assume a = −b. It follows that u = 13c ∈ P (3).

Otherwise, if either a = b, or a = c, or b = c, without loss of generality, we assume

that a = b. Since c 6= ±a and a, c ∈ β1, it follows that a is next to either c or −c in

L1. If a is next to c in L1, then 13a is next to 1

3c in L3. By lemma 6.1.9, it follows that

13a − 1

3c ∈ β3. Hence u = a + 1

3(c − a) ∈ P (1) + β3 ⊂ P (3). If a is next to −c in L1, then

74

Page 75: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

13a is next to −1

3c in L3. It follows that 1

3a + 1

3c ∈ β3, and 1

3a is next to 1

3a + 1

3c in L3.

Hence, by Lemma 6.1.9, u = 13a + 1

3(c + a) ∈ β2 ⊂ P (2) ⊂ P (4).

Otherwise, a,b and c are distinct and each of those three elements is next to at least

one of the other two elements in L1. Without loss of generality, we assume that a is next

to b and b is next to c in L1. It follows that a + c = b. Hence u = 13(a + b + c) = 2

3b =

b− 13b ∈ P (1) + β3 ⊂ P (3). Therefore this lemma is valid for all cases.

Lemma 6.1.13. For any a,b, c ∈ P (2), we have 13a + 1

3b + 1

3c ∈ P (4).

Proof. Let u = 13a + 1

3b + 1

3c and let the labels of a,b and c be a1a2, b1b2, and c1c2,

respectively. By applying Item 3 of Lemma 6.1.8, it follows that the labels of 13a, 1

3b

and 13c are 00a1a2, 00b1b2, and 00c1c2, respectively. Since a,b, c ∈ P (2) and P (2) =

β1

⋃β2

⋃ 0, we verify this lemma by considering the following cases.

Case 1: If a,b, c ∈ β1, then a2 = b2 = c2 = 0. By Lemma 6.1.12, we have

00a1⊕ 00b1⊕ 00c1 ∈ Λ3. By Item 4 of Lemma 6.1.8, it follows that 00a10⊕ 00b10⊕ 00c10 ∈Λ4, i.e., 00a1a2 ⊕ 00b1b2 ⊕ 00c1c2 ∈ Λ4. Hence u ∈ P (4).

Case 2: If a,b, c ∈ β2, then a1 = b1 = c1 = 0. Similar to the proof of Case 1, we

have u ∈ P (4).

Case 3: If either a = 0, or b = 0, or c = 0, without loss of generality, we assume

that c = 0. It follows that u = 13a + 1

3b and the label of u is 00a1a2 ⊕ 00b1b2. If a1 6= 0

and b1 6= 0, then by Item 1 of Corollary 6.1.7 we have a2 = b2 = 0. By applying Table 6-1,

there exists d10d3 ∈ Λ3 such that 00a1 ⊕ 00b1 = d10d3 in Λ3. By Item 4 of Lemma 6.1.8, it

follows that 00a10⊕ 00b10 = d10d30 in Λ4. If either a1 = 0 or b1 = 0, then by Table 6-2, we

have 00a1a2 ⊕ 00b1b2 in Λ4. It follows that u ∈ P (4).

Case 4: If a,b, c ∈ β1

⋃β2 and the set a,b, c⋂

β1 contains one element, without

loss of generality, we assume a ∈ β1. It follows that b, c ∈ β2. Let the labels of b and c be

0b2 and 0c2, respectively.

If b2 6= c2, then b 6= c. By Item 1 of Lemma 6.1.11, it follows that b+c ∈ P (2). Hence

either b + c ∈ β2 or b + c ∈ β1 or b + c = 0. By Item 3 of Lemma 6.1.8, it follows that

75

Page 76: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

either 13(b + c) ∈ β4 or 1

3(b + c) ∈ β3 or 1

3(b + c) = 0. Because a ∈ β1, we have 1

3a ∈ β3.

Since u = 13a + 1

3(b + c), it follows that either u ∈ β3 + β4 or u ∈ β3 + β3 or u ∈ β3 ⊂ P (4).

By Table 6-2, we have β3 + β4 ⊆ P (4). By Table 6-1, we have β3 + β3 ⊆ P (3) ⊆ P (4).

Hence u ∈ P (4).

If b2 = c2, without loss of generality, we assume that b2 = c2 = 1. Then, by Table 6-2,

the label of 13(b + c) is 0001 ⊕ 0001 = 0104 in Λ4. Since a ∈ β1, the label of a in Λ2 is

a20. Hence the label of u is 00a20 ⊕ 0104 in Λ4. By Table 6-2, there exists 0d10d3 ∈ Λ4

such that 00a20 ⊕ 0004 = 0d10d3 in Λ4 where d1 ∈ 0, 3, 4, 5. Since d1 ∈ 0, 3, 4, 5,by Table 6-1, we have 00d1 ⊕ 001 = 00t1 in Λ3 for some t1 ∈ 0, 1, 2, 6. By Item 4

of Lemma 6.1.8, it follows that 0d100 ⊕ 0100 = 0t100 in Λ4. Hence the label of u is

00a20⊕ 0104 = 0d10d3 ⊕ 0100 = 0t100⊕ 000d3 = 0t10d3 in Λ4. Thus u ∈ P (4).

Case 5: If a,b, c ∈ β1

⋃β2 and the set a,b, c⋂

β1 contains two elements, without

loss of generality, we assume that a,b ∈ β1. It follows that c ∈ β2. Hence, by Item 3 of

Lemma 6.1.8, we have 13a, 1

3b ∈ β3 and 1

3c ∈ β4.

If a 6= b, then, by Item 1 of Lemma 6.1.11, we have either 13a + 1

3b ∈ β2, or

13a + 1

3b ∈ β3, or 1

3a + 1

3b = 0. Hence either u ∈ β2 + β4 ⊂ P (2) + β4 ⊂ P (4), or

u ∈ β3 + β4 ⊂ P (4) by Table 6-2, or u ∈ β4 ⊂ P (4). Thus u ∈ P (4).

If a = b, without loss of generality, we assume that a1 = b1 = 1. Then the label

of 13a + 1

3b in P (4) is 0010 ⊕ 0010 = 1040 in Λ4. Let the label of c be 0c2. It follows

that the label of u is 1040 ⊕ 000c2 = 1000 ⊕ 0040 ⊕ 000c2 in Λ4. By Table 6-2, we

have 0040 ⊕ 000c2 = 0d10d2 in Λ4 where d1 ∈ 0, 3, 4. Hence the label of u becomes

1000 ⊕ 0d10d2 = 1000 ⊕ 0d100 ⊕ 000d2 in Λ4. Since d1 ∈ 0, 3, 4, by Table 6-2, we

have 10 ⊕ 0d1 ∈ 10, 01, 06 ⊂ Λ2. By applying Item 4 of Lemma 6.1.8 twice, it follows

that 1000 ⊕ 0d100 ∈ 1000, 0100, 0600 ⊂ Λ4. Hence the label of u belongs to the

set 1000⊕ 000d2, 0100⊕ 000d2, 0600⊕ 000d2 = 100d2, 010d2, 060d2 ⊂ Λ4. Thus

u ∈ P (4).

76

Page 77: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

The following theorem will play an important part in the algorithm for adding any

two labels.

Theorem 6.1.14. For any a,b ∈ P (n), we have 13a + 1

3b ∈ P (n + 2).

Proof. We will just give a proof when n is even since the proof for odd n is similar. Let

the labels of a and b be a1a2...an and b1b2...bn, respectively. It follows from Item 3 of

Lemma 6.1.8 that 13a, 1

3b ∈ P (n + 2), and the labels of 1

3a and 1

3b are 00a1a2...an ∈ Λn+2

and 00b1b2...bn ∈ Λn+2, respectively. Let A = 00a1a2...an and B = 00b1b2...bn. In the

following, we use induction to show that A⊕B ∈ Λn+2.

If n = 2, then this statement follows from Lemma 6.1.13. Assume this statement

is true for all integers less than n. We then have 00a3a4...an ⊕ 00b3b4...bn ∈ Λn. Let

c1c2...cn = 00a3a4...an ⊕ 00b3b4...bn in Λn. It follows that, in Λn+2, we have

00c1c2...cn = 0000a3a4...an ⊕ 0000b3b4...bn. (6–9)

By Item 1 of Lemma 6.1.8, in Λn+2, we have

A⊕B = 00a1a200...0⊕ 0000a3a4...an ⊕ 00b1b200...0⊕ 0000b3b4...bn

= 00a1a200...0⊕ 00b1b200...0⊕ 0000a3a4...an ⊕ 0000b3b4...bn.

(6–10)

By applying Equation 6–9, Equation 6–10 becomes

A⊕B = 00a1a2000...0⊕ 00b1b2000...0⊕ 00c1c2c3c4c5...cn

= 00a1a2000...0⊕ 00b1b2000...0⊕ 00c1c2000...0⊕ 0000c3c4c5...cn

= 00a1a2000...0⊕ 00b1b2000...0⊕ 00c1c2000...0⊕ 0000c3c40...0⊕ 000000c5...cn.

(6–11)

To finish the proof, we consider the following cases.

Case 1: c3 = 0. By Lemma 6.1.13, we have 00a1a2 ⊕ 00b1b2 ⊕ 00c1c2 in Λ4. Let

d1d2d3d4 = 00a1a2⊕ 00b1b2⊕ 00c1c2. By applying Item 4 of Lemma 6.1.8 for n− 2 times, it

follows that d1d2d3d4000...0 = 00a1a2000...0 ⊕ 00b1b2000...0 ⊕ 00c1c2000...0 in Λn+2. Hence

77

Page 78: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Equation 6–11 becomes A⊕B = d1d2d3d4000...0⊕ 0000c3c4c5...cn in Λn+2. Since c3 = 0, by

Item 2 of Lemma 6.1.8, it follows that A⊕B = d1d2d3d4c3c4c5...cn in Λn+2.

Case 2: c3 6= 0. By Item 1 of Corollary 6.1.7, we have c2 = c4 = 0 in this case. In

Equation 6–11, we claim that we can assume a2 = b2 = 0 as well.

Suppose a2 6= 0. By Item 1 of Corollary 6.1.7, it follows that a1 = 0. Hence

00a1a200⊕ 0000c3c4 = 000a200⊕0000c30 in Λ6. By Table 6-1, in Λ3, we have 0a20⊕ 00c3 =

x0y in Λ3 for some x, y ∈ 0, 1, 2, ..., 6 with y 6= 0. By applying Item 4 of Lemma 6.1.8

for n − 1 times, it follows that 000a2000...0 ⊕ 0000c300...0 = 00x0y00...0 in Λn+2, i.e.,

00a1a2000...0⊕ 0000c3c40...0 = 00x0y00...0 in Λn+2. Hence Equation 6–11 becomes

A⊕B = 00x0000...0⊕ 00b1b2000...0⊕ 00c1c2000...0⊕ 0000y0c5...cn

= 00x0000...0⊕ 00b1b2000...0⊕ 00c1c2000...0⊕ 0000yc4c5...cn in Λn+2,

(6–12)

which is what we want. Similarly we can assume b2 = 0. Hence Equation 6–11 becomes

A⊕B = 00a10000...0⊕ 00b10000...0⊕ 00c10000...0⊕ 0000c3c4c5...cn in Λn+2. (6–13)

By Lemma 6.1.12 we have 00a1⊕00b1⊕00c1 in Λ3. Let xyz = 00a1⊕00b1⊕00c1 ∈ Λ3.

By applying Item 4 of Lemma 6.1.8 for n − 1 times, it follows that xyz0000...0 =

00a10000...0 ⊕ 00b10000...0 ⊕ 00c10000...0 in Λn+2. Hence Equation 6–13 becomes

A⊕ B = xyz0000...0⊕ 0000c3c4c5...cn = xyz0c3c4c5...cn in Λn+2 by Item 2 of Lemma 6.1.8.

Thus A⊕B ∈ Λn+2.

The following proposition tells whether or not a + b ∈ P (n) based on the label of

13a + 1

3b ∈ P (n + 2).

Proposition 6.1.15. For any a,b ∈ P (n), let s = 13a + 1

3b. If s1s2...snsn+1sn+2 ∈ Λn+2 is

the label of s, then a + b ∈ P (n) if and only if s1 = s2 = 0.

Proof. If a + b ∈ P (n), then by Theorem 6.1.6 there exists uniquely determined ci ∈0, 1, 2, ..., 6 for each i = 1, 2, ..., n such that a + b =

∑ni=1 βi,ci

and either ci = 0 or

78

Page 79: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

ci+1 = 0 for any i satisfying 1 ≤ i < n. It follows that 13a + 1

3b =

∑ni=1

13βi,ci

=∑n

i=1 βi+2,ci.

Since s = 13a+ 1

3b and s1s2...snsn+1sn+2 ∈ Λn+2 is the label of s, it follows that s1 = s2 = 0.

Conversely if s1 = s2 = 0, since s1s2...snsn+1sn+2 ∈ Λn+2 is the label of s, we have

s =∑n+2

i=1 βi,si=

∑n+2i=3 βi,si

=∑n+2

i=313βi−2,si

= 13

∑n+2i=3 βi−2,si

. Since s = 13a + 1

3b, it

follows that a + b =∑n+2

i=3 βi−2,si=

∑nj=1 βj,sj+2

. Because s1s2...snsn+1sn+2 ∈ Λn+2, either

si = 0 or si+1 = 0 for any i satisfying 1 ≤ i < n + 2. By Lemma 6.1.5, it follows that∑n+2

i=3 βi−2,si=

∑nj=1 βj,sj+2

∈ P (n). Thus a + b ∈ P (n).

Let n ∈ N and a,b ∈ P (n), and let a1a2...an ∈ Λn and b1b2...bn ∈ Λn be the labels

of a and b, respectively. By applying Item 3 of Lemma 6.1.8, it follows that the labels of

13a and 1

3b are 00a1a2...an ∈ Λn+2 and 00b1b2...bn ∈ Λn+2, respectively. By Theorem 6.1.14,

we have 13a + 1

3b ∈ P (n + 2). Hence there exists c1c2...cncn+1cn+2 ∈ Λn+2 such that

00a1a2...an ⊕ 00b1b2...bn = c1c2...cncn+1cn+2 in Λn+2. We call c1c2 and c3c4...cncn+1cn+2

the carry and the remainder of adding the two labels a1a2...an and b1b2...bn, respectively.

For example, by Table 6-2, we have 0001 ⊕ 0030 = 0205 in Λ4. It follows that the carry

and the remainder of adding the two labels 01 and 30 are 02 and 05, respectively. By

Proposition 6.1.15, c1c2 = 00 if and only if a + b ∈ P (n).

For any integer n > 0, we use the following algorithm to add any two labels

a1a2...an ∈ Λn and b1b2...bn ∈ Λn. From the discussion of the previous paragraph, we

need to compute 00a1a2...an ⊕ 00b1b2...bn to get the sum c1c2...cncn+1cn+2 ∈ Λn+2. Recall

that any label of the Pyxis structure has the property that, for any two consecutive digits,

at least one of them is zero. If the addition proceeds from the right digits an and bn to

the left digits a1 and b1, the idea of remainder, carry and sum of adding two digits is

similar to that of the usual addition except that, for the addition of ai and bi, we use

Table 6-1 when i is odd and use Table 6-2 when i is even. Furthermore the carry of

adding ai and bi consists of two digits and the sum of two labels obtained in the usual

way may no longer have the property that, for any two consecutive digits, at least one of

them is zero. For example, if we add two labels 10 and 05 in Λ2 using the usual digit by

79

Page 80: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

digit addition, the obtained sum 15 is no longer a legitimate Pyxis label because there

are two nonzero consecutive digits. Hence the addition of two elements in Λn is quite

complicated. However, we have successfully developed the following algorithm which

output the required sum and has the computational complexity of order n when two labels

in Λn are added.

Algorithm addLabels

Input: An integer n > 0, and two labels a1a2...an ∈ Λn and b1b2...bn ∈ Λn.

Output: The Sum = 00a1a2...an ⊕ 00b1b2...bn in Λn+2.

Step 1. If n = 1 or n = 2, then apply Table 6-1 or Table 6-2, respectively, to return

Sum = 00a1⊕ 00b1 in Λ3 or Sum = 00a1a2⊕ 00b1b2 in Λ4. Otherwise do the following Step

2 through Step 7.

Step 2. If n is odd, then let N = n + 1 and adjoin a 0 to the right end of the two

labels a1a2...an and b1b2...bn, i.e., let aN = bN = 0. Otherwise let N = n.

Step 3. Let M = N2. Also, for i = 1 to M , let aPairi = auav and bPairi = bubv

where u = 2(M − i) + 1 and v = 2(M − i) + 2.

Step 4. Let Sum be the empty set, and add aPair1 and bPair1 to get a

temporary carry denoted tempCarry and a temporary remainder denoted tempRem.

Step 5. For i = 2 to M , do the following.

• Let carrySet consist of elements of the set aPairi, bPairi, tempCarry that

are different from 00, and let carrySet1 consist of elements of carrySet whose last

digit is nonzero and let carrySet2 consist of elements of carrySet whose first digit is

nonzero. Also let kj denote the size of the set carrySetj for j = 1, 2.

1. If the first digit of tempRem is 0, let remd (means remainder) be tempRem.

(a) If k1 = 0, apply Subroutine 1 to add the elements in the set carrySet2

to obtain a carry c1c2 and a remainder r10. Let tempCarry = c1c2 and

tempRem = r10.

(b) If k1 = 1, let 0c2 denote the element in the set carrySet1.

80

Page 81: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

i. If k2 = 0, let tempCarry = 00 and tempRem = 0c2.

ii. Else if k2 = 1, let d10 denote the element in the set carrySet2. Apply

Table 6-2 to compute 000c2 ⊕ 00d10 = 0e10e2. Let tempCarry = 0e1

and tempRem = 0e2.

iii. Else, let d10 and e10 denote the two elements in the set carrySet2. By

Table 6-2, 000c2 ⊕ 00d10 = 0f10f2 for some 0f10f2 ∈ Λ4 with f2 6= 0.

Similarly, we have 000f2 ⊕ 00e10 = 0g10g2 for some 0g10g2 ∈ Λ4. By

Theorem 6.1.14, we have 0f1 ⊕ 0g1 = h1h2 ∈ Λ2. Let tempCarry = h1h2

and tempRem = 0g2.

(c) If k1 = 2, let 0c1 and 0d1 denote the two elements in the set carrySet1.

i. If k2 = 0, by Table 6-2, 000c1 ⊕ 000d1 = 0f1f2f3 for some 0f1f2f3 ∈ Λ4.

Let tempCarry = 0f1 and tempRem = f2f3.

ii. Else, let e10 denote the element in the set carrySet2.

A. If c1 = d1, by Table 6-2, we have 000c1 ⊕ 000d1 = 0f10f3 for some

0f10f3 ∈ Λ4. By Table 6-2 again, we have 000f3 ⊕ 00e10 = 0g10g3 for

some 0g10g3 ∈ Λ4. By Theorem 6.1.14, we have 0f1 ⊕ 0g1 = h1h2 for

some h1h2 ∈ Λ2. Let tempCarry = h1h2 and tempRem = 0g3.

B. Else, since c1 6= d1, by Lemma 6.1.11 we have 0c1 ⊕ 0d1 = f1f2 ∈ Λ2.

By Table 6-2, we have 00f1f2 ⊕ 00e10 = g1g2g3g4 for some g1g2g3g4 ∈Λ4. Let tempCarry = g1g2 and tempRem = g3g4.

(d) If k1 = 3, add the three elements in the set carrySet1 using the following

Subroutine 2 to obtain 0h2h3h4 ∈ Λ4. Let tempCarry = 0h2 and

tempRem = h3h4.

2. Else (now the first digit of remd is nonzero),

(a) if k1 = 0, let remd = tempRem and add the elements of the set

carrySet2 using Subroutine 1 to get a carry c1c2 and a remainder r1r2.

Let tempCarry = c1c2 and tempRem = r1r2.

81

Page 82: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

(b) Else let e10 denote tempRem and let 0f2 denote the first element of the set

carrySet1. Compute 00e1 ⊕ 0f20 using table 6-1 to get g10g3 ∈ Λ3. Let

carrySet2 = carrySet2⋃ g10.

i. If k1 = 1, let remd = g30 and add the elements of the set carrySet2

using Subroutine 1 to get a carry c1c2 and a remainder r10. Let

tempCarry = c1c2 and tempRem = r10.

ii. Else, let 0y2 denote the second element of the set carrySet1 and

compute 00g3⊕0y20 using Table 6-1 to get h10h3 ∈ Λ3. Let carrySet2 =

carrySet2⋃ h10.

A. If k1 = 2, let remd = h30 and add the elements of the set carrySet2

using Subroutine 1 to get a carry c1c2 and a remainder r10. Let

tempCarry = c1c2 and tempRem = r10.

B. Else, let 0z2 denote the third element of the set carrySet1 and

compute 00h3 ⊕ 0z20 using Table 6-1 to get l10l3 ∈ Λ3. Let

carrySet2 = carrySet2⋃ l10, remd = l30, and add the elements

of the set carrySet2 using Subroutine 1 to get a carry c1c2 and a

remainder r10. Let tempCarry = c1c2 and tempRem = r10.

• Let Sum be the concatenation of remd and Sum, and increase i.

Step 6. Let Sum be the concatenation of the tempCarry, tempRem, and Sum. If n is

odd, delete the 0 in the right side of Sum. Return Sum.

Subroutine 1: Input: A set Ω (containing at most three elements) of labels in Λ2

whose second digit is 0.

Output: The carry C = x1x2 ∈ Λ2 and remainder R = y10 ∈ Λ2 of adding labels in the

set Ω.

Let k be the size of the set Ω. Since Ω contains at most three elements, we consider

the following four cases.

• If k = 0, return C = 00 and R = 00.

82

Page 83: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

• If k = 1, let C = 00 and let R be the element in the set Ω. Return C and R.

• If k = 2, add the two elements in the set Ω using Table 6-2 to get a carry C =

x1x2 ∈ Λ2 and a remainder R = y10 ∈ Λ2, and return them.

• If k = 3, let a10, b10, and c10 denote the three elements of the set Ω.

1. If a1 = b1 = c1, then return C = a10 and R = 00.

2. Else if a1 = b1, then compute 00b1 ⊕ 00c1 using Table 6-1 to get 0r1r2 and

compute 0r1r2 ⊕ 00a1 using Table 6-1 to get d1d2d3 ∈ Λ3, and let C = d1d2 and

R = d30, and return C and R.

3. Else compute 00a1 ⊕ 00b1 using Table 6-1 to get 0r1r2 and compute 0r1r2 ⊕ 00c1

using Table 6-1 to get d1d2d3 ∈ Λ3, and let C = d1d2 and R = d30, and return C

and R.

Subroutine 2: Input: A set Ω (containing at most three elements) of labels in Λ2

whose first digit is 0.

Output: The carry C = 0x2 ∈ Λ2 and remainder R = y1y2 ∈ Λ2 of adding labels in the

set Ω.

Let k denote the size of the set Ω. Since Ω contains at most three elements, we

consider the following four cases.

• If k = 0, return C = 00 and R = 00.

• If k = 1, let C = 00 and let R denote the element in the set Ω. Return C and R.

• If k = 2, add the two elements in the set Ω using Table 6-2 to get a carry C = 0x2 ∈Λ2 and a remainder R = y1y2 ∈ Λ2, and return them.

• If k = 3, let 0a2, 0b2, and 0c2 denote the three elements of the set Ω.

1. If a2 = b2 = c2, then return C = 0a2 and R = 00.

2. Else if a2 = b2, then compute 0b2 ⊕ 0c2 using Table 6-2 to get a carry 00

and a remainder r1r2, and compute r1r2 ⊕ 0a2 using Table 6-2 to get a carry

C = 0x2 ∈ Λ2 and a remainder R = y1y2 ∈ Λ2, and return C and R.

83

Page 84: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

3. Else compute 0a2 ⊕ 0b2 to get a carry 00 and a remainder r1r2, and compute

r1r2 ⊕ 0c2 using Table 6-2 to get a carry C = 0x2 ∈ Λ2 and a remainder

R = y1y2 ∈ Λ2, and return C and R.

At each iteration in Step 5 of Algorithm addLabels, the set carrySet contains at most

three elements. It follows that the computational complexity of adding any two labels

in Λn using Algorithm addLabels is of order n. In the following, we give two examples

showing the application of Algorithm addLabels. In Example 1, for each iteration in Step

5 of the algorithm, the first digit of tempRem is 0. In Example 2, for each iteration in

Step 5 of the algorithm, the first digit of tempRem is nonzero. Hence the addition in

Example 2 is actually more complicated than that in Example 1.

Example 1: Let n = 6, A = 500104, and B = 403020.

• In Step 1, since n > 2 and n is even, go to Step 2.

• In Step 2, let N = n = 6.

• In Step 3, let M = N2

= 3. Also let aPair1 = 04, bPair1 = 20, aPair2 = 01,

bPair2 = 30, aPair3 = 50, and bPair3 = 40.

• In Step 4, let Sum be the empty set. By Table 6-2, we have aPair1 ⊕ bPair1 =

04 ⊕ 20 = 02 in Λ2. It follows that the carry and the remainder of this addition are

00 and 02, respectively. Hence tempCarry = 00 and tempRem = 02.

• In Step 5, for i = 2 to M do the following.

1. When i = 2, let carrySet consist of elements of the set

aPair2, bPair2, tempCarry

that are different from 00, i.e., let carrySet = 01, 30. Then let carrySet1 =

01 and carrySet2 = 30. It follows that k1 = k2 = 1. Since the first digit

of tempRem is 0, let remd = tempRem = 02. Since k1 = 1, let 0c2 denote

the element in the set carrySet1, i.e., let 0c2 = 01. Since k2 = 1, let d10

denote the element in the set carrySet2, i.e., let d10 = 30. Apply Table 6-2

84

Page 85: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

to compute 000c2 ⊕ 00d10 = 0001 ⊕ 0030 = 0205, which is denoted 0e10e2.

Let tempCarry = 0e1 = 02 and tempRem = 0e2 = 05. Let Sum be the

concatenation of remd = 02 and Sum = ∅, i.e., let Sum = 02, and increase i.

2. When i = 3, let carrySet consist of elements of the set

aPair3, bPair3, tempCarry

that are different from 00, i.e., let carrySet = 50, 40, 02. Then let

carrySet1 = 02, and carrySet2 = 50, 40. It follows that k1 = 1 and k2 = 2.

Since the first digit of tempRem is 0, let remd = tempRem = 05. Since k1 = 1,

let 0c2 denote the element in the set carrySet1, i.e., let 0c2 = 02. Since k2 = 2,

let d10 and e10 denote the two elements in the set carrySet2, i.e., let d10 = 50

and e10 = 40. By Table 6-2, we have 000c2⊕ 00d10 = 0002⊕ 0050 = 0004, which

is denoted 0f10f2. Similarly, we have 000f2⊕00e10 = 0004⊕0040 = 0402, which

is denoted 0g10g2. By Table 6-2, we have 0f1 ⊕ 0g1 = 00 ⊕ 04 = 04, which is

denoted h1h2. Let tempCarry = h1h2 = 04 and tempRem = 0g2 = 02. Let Sum

be the concatenation of remd = 05 and Sum = 02, i.e., let Sum = 0502, and

increase i.

• In Step 6, let Sum be the concatenation of the tempCarry = 04, tempRem = 02,

and Sum = 0502, i.e., let Sum = 04020502.

Notice that, in Example 1, the first digit of tempRem is 0 for each iteration in Step 5

of the algorithm. In the next, we show another example where the first digit of tempRem

is nonzero for each iteration in Step 5 of the algorithm.

Example 2: Let n = 6, A = 050101, and B = 401006.

• In Step 1, since n > 2 and n is even, go to Step 2.

• In Step 2, let N = n = 6.

• In Step 3, let M = N2

= 3. Also let aPair1 = 01, bPair1 = 06, aPair2 = 01,

bPair2 = 10, aPair3 = 05, and bPair3 = 40.

85

Page 86: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

• In Step 4, let Sum be the empty set. By Table 6-2, we have aPair1 ⊕ bPair1 =

01 ⊕ 06 = 10 in Λ2. It follows that the carry and the remainder of this addition are

00 and 10, respectively. Hence tempCarry = 00 and tempRem = 10.

• In Step 5, for i = 2 to M do the following.

1. When i = 2, let carrySet consist of elements of the set

aPair2, bPair2, tempCarry

that are different from 00, i.e., let carrySet = 01, 10. Then let carrySet1 =

01, and carrySet2 = 10. It follows that k1 = k2 = 1. Since the first

digit of tempRem is nonzero and k1 6= 0, let e10 denote tempRem and let 0f2

denote the element of the set carrySet1. It follows that e1 = 1 and f2 = 1. By

Table 6-1, we have 00e1 ⊕ 0f20 = 001 ⊕ 010 = 103, which is denoted g10g3,

i.e., g1 = 1 and g3 = 3. Let carrySet2 = carrySet2⋃ 10 = 10⋃ 10 =

10, 10. Since k1 = 1, let remd = g30 = 30 and add the elements in the set

carrySet2 = 10, 10 using Table 6-2 to get a carry c1c2 = 10 and a remainder

r10 = 40. Let tempCarry = c1c2 = 10 and tempRem = r10 = 40. Let Sum be

the concatenation of remd = 30 and Sum = ∅, i.e., let Sum = 30, and increase

i.

2. When i = 3, let carrySet consist of elements of the set

aPair3, bPair3, tempCarry

that are different from 00, i.e., let carrySet = 05, 40, 10. Then let

carrySet1 = 05, and carrySet2 = 40, 10. It follows that k1 = 1 and

k2 = 2. Since the first digit of tempRem is nonzero and k1 6= 0, let e10 denote

tempRem and let 0f2 denote the element of the set carrySet1. It follows that

e1 = 4 and f2 = 5. By Table 6-1, we have 00e1 ⊕ 0f20 = 004 ⊕ 050 = 502,

which implies that g1 = 5 and g3 = 2. Let carrySet2 = carrySet2⋃ 50 =

86

Page 87: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

40, 10⋃ 50 = 40, 10, 50. Since k1 = 1, let remd = g30 = 20 and

add the elements in the set carrySet2 = 40, 10, 50 using Table 6-2 to get

a carry c1c2 = 00 and a remainder r10 = 50. Let tempCarry = c1c2 = 00

and tempRem = r10 = 50. Let Sum be the concatenation of remd = 20 and

Sum = 30, i.e., let Sum = 2030, and increase i.

• In Step 6, let Sum be the concatenation of the tempCarry = 00, tempRem = 50,

and Sum = 2030, i.e., let Sum = 00502030.

Theorem 6.1.16. For any integer n > 0 and two labels a1a2...an, b1b2...bn ∈ Λn, the Sum

output from Algorithm addLabels equals 00a1a2...an ⊕ 00b1b2...bn ∈ Λn+2.

Proof. By Item 4 of Lemma 6.1.8, we just need to consider the case when n is even. Also

when n ≤ 2, this theorem is obviously true. Hence we assume that n is an even integer

which is bigger than 2. Let n = 2M for some integer M > 1, A = 00a1a2...a2M ∈ Λn+2,

and B = 00b1b2...b2M ∈ Λn+2. For i = 1 to M , let Ai = 00a2(M−i)+1a2(M−i)+2...a2M−1a2M ∈Λ2i+2, and Bi = 00b2(M−i)+1b2(M−i)+2...b2M−1b2M ∈ Λ2i+2. By Theorem 6.1.14, we have

Ai ⊕ Bi ∈ Λ2i+2. Let Sum1, tempCarry1 and tempRem1 be the Sum, tempCarry and

tempRem output from Step 4 of Algorithm addLabels. For i = 1 to M , let Ti = Ai ⊕ Bi,

and let remdi, Sumi, tempCarryi, and tempRemi be the remd, Sum, tempCarry, and

tempRem output from the ith iteration of Step 5 in Algorithm addLabels.

In the following, we use induction to prove that Ti is the concatenation of tempCarryi,

tempRemi, and Sumi for any i satisfying 1 ≤ i ≤ M . When i = 1, A1 = 00a2M−1a2M

and B1 = 00b2M−1b2M . In Algorithm addLabels, obviously aPair1 = a2M−1a2M and

bPair1 = b2M−1b2M . From Step 4 of Algorithm addLabels, Sum1 = ∅ and hence

A1 ⊕ B1 is the concatenation of tempCarry1, tempRem1, and Sum1. It follows that

T1 is the concatenation of tempCarry1, tempRem1, and Sum1. Now assume that Ti−1

is the concatenation of tempCarryi−1, tempRemi−1, and Sumi−1 for some i satisfying

87

Page 88: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

2 ≤ i ≤ M . Since

Ai = 00a2(M−i)+1a2(M−i)+2a2(M−i+1)+1a2(M−i+1)+2...a2M−1a2M

= 00a2(M−i)+1a2(M−i)+200...00⊕ 00Ai−1

(6–14)

and

Bi = 00b2(M−i)+1b2(M−i)+2b2(M−i+1)+1b2(M−i+1)+2...b2M−1b2M

= 00b2(M−i)+1b2(M−i)+200...00⊕ 00Bi−1,

(6–15)

we have

Ti = Ai ⊕Bi = 00a2(M−i)+1a2(M−i)+200...00⊕ 00b2(M−i)+1b2(M−i)+200...00⊕ 00Ai−1 ⊕ 00Bi−1

= 00a2(M−i)+1a2(M−i)+200...00⊕ 00b2(M−i)+1b2(M−i)+200...00⊕ 00Ti−1.

(6–16)

By our induction assumption, Ti−1 is the concatenation of tempCarryi−1, tempRemi−1,

and Sumi−1. Hence Equation 6–16 becomes

Ti = 00a2(M−i)+1a2(M−i)+200...00⊕ 00b2(M−i)+1b2(M−i)+200...00

⊕ 00tempCarryi−1tempRemi−1Sumi−1.

(6–17)

In Step 5 of Algorithm addLabels, let

carrySet =a2(M−i)+1a2(M−i)+2, b2(M−i)+1b2(M−i)+2, tempCarryi−1

=aPairi, bPairi, tempCarryi−1

.

(6–18)

Now we consider the following two cases.

Case 1: If the first digit of tempRemi−1 is 0, then, in the ith iteration of Step 5

of Algorithm addLabels, we let remdi = tempRemi−1. The ith iteration of Step 5 in

Algorithm addLabels computes the carry and remainder of the addition of the three

elements in the set carrySet. By Lemma 6.1.13, we have

00a2(M−i)+1a2(M−i)+2 ⊕ 00b2(M−i)+1b2(M−i)+2 ⊕ 00tempCarryi−1 = x1x2x3x4 (6–19)

88

Page 89: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

for some x1x2x3x4 ∈ Λ4. In Algorithm addLabels, obviously aPairi = a2(M−i)+1a2(M−i)+2

and bPairi = b2(M−i)+1b2(M−i)+2. Then Equation 6–19 becomes

00aPairi ⊕ 00bPairi ⊕ 00tempCarryi−1 = x1x2x3x4. (6–20)

It follows that the carry and remainder of the addition of the three elements in the set

carrySet are x1x2 and x3x4, respectively. Hence tempCarryi = x1x2 and tempRemi =

x3x4. By Equations 6–17 and 6–19, we have

Ti = 00aPairi00...00⊕ 00bPairi00...00⊕ 00tempCarryi−1tempRemi−1Sumi−1

= 00aPairi00...00⊕ 00bPairi00...00

⊕ 00tempCarryi−100...00⊕ 0000tempRemi−1Sumi−1

= x1x2x3x400...00⊕ 0000remdiSumi−1

= x1x2x3x400...00⊕ 0000Sumi

= tempCarryitempRemi00...00⊕ 0000Sumi

= tempCarryitempRemiSumi.

(6–21)

It follows that Ti is the concatenation of tempCarryi, tempRemi, and Sumi.

Case 2: The first digit of tempRemi−1 is nonzero, i.e., the second case in Step 5 of

Algorithm addLabels. Recall that, in Algorithm addLabels, carrySet1 consist of elements

of carrySet whose last digit is nonzero and carrySet2 consist of elements of carrySet

whose first digit is nonzero. Also kj denotes the size of the set carrySetj for j = 1, 2.

If k1 = 0, similar to Case 1, we can show that Ti is the concatenation of tempCarryi,

tempRemi, and Sumi.

If k1 6= 0, we compute the sum

S = 00a2(M−i)+1a2(M−i)+200⊕ 00b2(M−i)+1b2(M−i)+200⊕ 00tempCarryi−1tempRemi−1

89

Page 90: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

in certain procedures. By Equation 6–17, S consists of the first six digits of Ti. By

the assumption of this induction, Ti−1 ∈ Λ2i is the concatenation of tempCarryi−1,

tempRemi−1, and Sumi−1. Hence the concatenation of tempRemi−1 and Sumi−1 is a

legitimate Pyxis label. Since Ti = Ai ⊕ Bi ∈ Λ2i+2 and Sumi−1 ∈ Λ2i−4, by Item 2

of Lemma 6.1.8, it follows that S ∈ Λ6. In the ith iteration of Step 5 of Algorithm

addLabels, we apply Table 6-1 to convert the expression 00a2(M−i)+1a2(M−i)+200 ⊕00b2(M−i)+1b2(M−i)+200⊕ 00tempCarryi−1tempRemi−1 to the expression 00x000⊕ 00y000⊕00z000 ⊕ 0000r0 for some x, y, z, r ∈ 0, 1, 2, 3, 4, 5, 6. Let carrySet2 consist of nonzero

elements of the set x0, y0, z0 and add the elements in carrySet2. By Subroutine 2, the

sum of the elements in carrySet2 equals c1c2c30 for some c1c2c30 ∈ Λ4. It follows that

S = c1c2c30r0. Hence tempCarryi = c1c2, tempRemi = c30, remdi = r0, and Sumi is the

concatenation of remdi = r0 and Sumi−1. Now Equation 6–17 becomes

Ti = 00a2(M−i)+1a2(M−i)+200...00⊕ 00b2(M−i)+1b2(M−i)+200...00

⊕ 00tempCarryi−1tempRemi−1Sumi−1

= 00a2(M−i)+1a2(M−i)+200...00⊕ 00b2(M−i)+1b2(M−i)+200...00

⊕ 00tempCarryi−100...00⊕ 0000tempRemi−10...0⊕ 000000Sumi−1

= c1c2c30r00...0⊕ 000000Sumi−1

= c1c2c30000...0⊕ 0000r00...0⊕ 000000Sumi−1

= tempCarryitempRemi000...0⊕ 0000remdi0...0⊕ 000000Sumi−1

= tempCarryitempRemi000...0⊕ 0000remdiSumi−1

= tempCarryitempRemi000...0⊕ 0000Sumi

= tempCarryitempRemiSumi.

(6–22)

Hence Ti is the concatenation of tempCarryi, tempRemi, and Sumi.

By induction, Ti is the concatenation of tempCarryi, tempRemi, and Sumi for

any i satisfying 1 ≤ i ≤ M . It follows that TM is the concatenation of tempCarryM ,

90

Page 91: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

tempRemM , and SumM . The output Sum in Algorithm addLabels is also the concatenation

of tempCarryM , tempRemM , and SumM . Hence Sum = TM . Since TM = AM ⊕BM = 00a1a2...a2M−1a2M ⊕ 00b1b2...b2M−1b2M , we have Sum = 00a1a2...a2M−1a2M ⊕00b1b2...b2M−1b2M .

6.2 Pyxis P (n) Does Not Tile the Underlying Lattice by Translations by aSublattice for any n > 2

Recall from Chapter 2 that, if an array tiles its underlying lattice by translations by

a sublattice, then we can compute the DFT on it. For the nth level of the Pyxis structure

P (n), to consider its DFT, we need to know whether or not it tiles the underlying lattice

Ln by translations by a sublattice. In this section, we show some properties of the Pyxis

structure and apply them to prove that P (n) does not tile the underlying lattice by

translations by a sublattice for any n > 2. Hence the DFT on the Pyxis structure cannot

be defined using the method in Chapter 2. For any 2 < n ∈ N, the proof that P (n) does

not tile Ln when n is odd is quite different from that when n is even. Hence we deal with

them in two separate subsections.

6.2.1 Pyxis P (2n−1) Does Not Tile the Underlying Lattice by Translations bya Sublattice for any n > 1

In this subsection, we first define the concept of boundary index for P (n) and use

several properties of the boundary index of P (2n− 1) to prove that P (2n− 1) does not tile

the underlying lattice L2n−1 by translations by a sublattice for any n ≥ 2. Hence the DFT

on the Pyxis structure cannot be defined using the method in Chapter 2.

For any ∅ 6= T ⊆ L and q ∈ T , if there exists at least one neighbor b of q such

that b 6∈ T , then q is called a boundary lattice point of T , the Voronoi cell of q is called a

boundary hexagon of T . If q is a boundary lattice point of T and if there exist exactly d

neighbors that belong to L \ T , then d is called the boundary index of q in T . The number

d is also called the boundary index of the Voronoi cell of q in T . The following lemmas will

be used to prove the main result of this subsection, which is Theorem 6.2.11.

91

Page 92: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Lemma 6.2.1. Let L be a hexagonal lattice, u ∈ L, ∅ 6= T ⊆ L, and d a positive integer.

Then q is a boundary lattice point of T having boundary index d if and only if u + q is a

boundary lattice point of u + T having the same boundary index d.

Lemma 6.2.2. For any a ∈ P (2) and b ∈ β3, we have a + b ∈ P (3). Moreover there exist

c ∈ β1 and d ∈ β3 such that a + b = c + d.

Proof. Since a ∈ P (2) ⊂ P (3) and b ∈ β3 ⊂ P (3), the label of a in P (3) is either of the

form 0i0 or i00, and the label of b in P (3) is of the form 00j where i, j ∈ 0, 1, 2, ..., 6.By Table 6-1, 0i0 ⊕ 00j = d10d3 for some d10d3 ∈ Λ3. It follows that a + b ∈ P (3). Let

c ∈ β1 and d ∈ β3 such that the labels of c and d in P (3) are d100 and 00d3, respectively.

Since 0i0⊕ 00j = d10d3 = d100⊕ 00d3, we have a + b = c + d.

Lemma 6.2.3. For any n ∈ N, a ∈ P (2n), and b ∈ β2n+1, we have a + b ∈ P (2n + 1).

Proof. When n = 1, it is followed directly from Lemma 6.2.2. Suppose it is true for all

n < t for some integer t. When n = t, P (2n) = P (2t) = P (2t − 1)⋃

(P (2t − 2) + β2t).

Hence a ∈ P (2n) implies that either a ∈ P (2t− 1) or a ∈ P (2t− 2) + β2t. If a ∈ P (2t− 1),

then a + b ∈ P (2t − 1) + β2t+1 = P (2t + 1). If a ∈ P (2t − 2) + β2t, then a = u + v

for some u ∈ P (2t − 2) and v ∈ β2t. Since v ∈ β2t and b ∈ β2t+1, it follows easily

from Lemma 6.2.2 that v + b = c + d for some c ∈ β2t−1 and d ∈ β2t+1. Hence

a + b = u + v + b = u + c + d. Since u ∈ P (2t − 2) = P (2(t − 1)) and either c ∈ β2t−1

or c = (0, 0), we have u + c ∈ P (2t − 1) by the assumption of this induction. Thus

a + b = (u + c) + d ∈ P (2t − 1) + β2t+1 ⊂ P (2t + 1). Hence this proposition is true for

n = t. Therefore it is true for all n ∈ N by induction.

Corollary 6.2.4. For any n ∈ N and q ∈ P (2n), the lattice point q is not a boundary

lattice point of P (2n + 1).

Proof. By Lemma 6.2.3, all six neighbors of q in L2n+1 are still in P (2n + 1). Hence q is

not on the boundary of P (2n + 1).

92

Page 93: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

The following lemma will be used in the proofs of Lemma 6.2.6 and some other

results.

Lemma 6.2.5. For any n ∈ N and a ∈ P (n), if the label of a is a1a2...an with an 6= 0,

then a 6∈ Ln−1.

Proof. Let a ∈ P (n) and an ∈ βn be lattice points of Ln such that their labels are

a1a2...an−200 and 00...0an, respectively. Since the label of a is a1a2...an−200, we have

a ∈ P (n − 2) ⊂ Ln−2 ⊂ Ln−1. By Item 1 of Lemma 6.1.8, we have a1a2...an =

a1a2...an−200⊕ 00...0an. It follows that a = a + an. Suppose a ∈ Ln−1. Then an = a− a ∈Ln−1 ∩ βn = ∅, which is a contradiction. Thus a 6∈ Ln−1.

Lemma 6.2.6. For any n ∈ N, if three lattice points of P (n) are mutually next to each

other in the lattice Ln, then at least one of them is in P (n− 1).

Proof. Let a,b, c be three lattice points of P (n) that are mutually next to each other in

the lattice Ln, and let A = a1a2...an ∈ Λn, B = b1b2...bn ∈ Λn and C = c1c2...cn ∈ Λn

be their labels, respectively. It is enough to show that either an = 0 or bn = 0 or cn = 0.

Suppose that an 6= 0, bn 6= 0 and cn 6= 0. Let u = b − a and v = c − a. Since a,

b and c are mutually next to each other in the lattice Ln, by Lemma 6.1.10, we have

b−a, c−a,b−c ∈ βn. It follows that u,v,u−v ∈ βn, and u and v are next to each other

in the lattice Ln. Thus βn = ±u,±v,±(u− v). Let a ∈ P (n) and an ∈ βn be lattice

points of Ln such that their labels are a1a2...an−200 and 00...0an, respectively. By Item 1

of Lemma 6.1.8, we have a1a2...an = a1a2...an−200 ⊕ 00...0an. It follows that a = a + an.

Now it follows from an ∈ βn that either an = ±u or an = ±v or an = ±(u− v).

If an = u, then an and v are next to each other in the lattice Ln. By Lemma 6.1.9,

it follows that an + v ∈ βn−1 ⊂ Ln−1. Hence an + c − a ∈ Ln−1. Since the label of a is

a1a2...an−200, we have a ∈ Pn−2 ⊂ Ln−1. It follows that an − a = −a ∈ Ln−1. Hence

c ∈ Ln−1 which contradicts Lemma 6.2.5.

If an = v, similar to the previous case, there is a contradiction.

93

Page 94: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

If an = −u, then an +u = 0, i.e. an +b−a = 0. It follows that b = a−an = a ∈ Ln−1

which also contradicts Lemma 6.2.5.

If an = u − v, then an is next to u in the lattice Ln. By Lemma 6.1.9, it follows that

an + u ∈ βn−1 ⊂ Ln−1. Hence an + b− a ∈ Ln−1. Since an− a = −a ∈ Ln−1, it follows that

b ∈ Ln−1 which also contradicts Lemma 6.2.5. For the remaining two cases, contradictions

can be similarly shown. Therefore either an = 0 or bn = 0 or cn = 0.

Lemma 6.2.7. Let n ∈ N, and a,b, c be three lattice points of P (n) that are mutually

next to each other in the lattice Ln, and let t be the centroid of the triangle with vertices

a,b, c. Then t ∈ P (n + 1).

Proof. Because a,b, c are mutually next to each other in the lattice Ln, there exist

u,v ∈ βn that are next to each other in the lattice Ln such that b = a + u and c = a + v.

By Lemma 6.2.6, we can assume that a ∈ P (n − 1). Since t is the centroid of the triangle

with vertices a,b, c, we have t = 13(a + b + c) = a + 1

3u + 1

3v. Let u = 1

3u and v = 1

3v.

Since u,v ∈ βn and they are next to each other in the lattice Ln, we have u, v ∈ βn+2 and

are next to each other in the lattice Ln+2. By Lemma 6.1.9, it follows that u + v ∈ βn+1.

Thus t = a + (u + v) ∈ P (n− 1) + βn+1 ⊂ P (n + 1).

Lemma 6.2.8. Let n ∈ N and let a,b, c be three lattice points of L2n−1 that are mutually

next to each other in the lattice L2n−1. If t = 13(a + b + c) and a 6∈ P (2n − 1), then

t 6∈ P (2n + 1).

Proof. Since a,b, c ∈ L2n−1, we have 13a, 1

3b, 1

3c ∈ L2n+1. It follows that t ∈ L2n+1.

Because a,b, c ∈ L2n−1 and they are mutually next to each other in the lattice L2n−1, by

Lemma 6.1.10, there exist u,v ∈ β2n−1 such that b = a + u, c = a + v, and u and v

are next to each other in the lattice L2n−1. Since t = 13(a + b + c), similar to the proof of

Lemma 6.2.7, we have t = a + w with w = 13(u + v) ∈ β2n. Suppose that t ∈ P (2n + 1).

Let the label of t be T = t1t2...t2n+1 ∈ Λ2n+1. Then we consider the following two cases

about t2n+1.

94

Page 95: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Case 1: If t2n+1 6= 0, then t2n = 0. Let t and t2n+1 be two elements of P (2n + 1)

such that their labels are t1t2...t2n−100 ∈ λ2n+1 and 00...0t2n+1 ∈ Λ2n+1, respectively.

Then t = t + t2n+1. Also from the previous paragraph, we have t = a + w. Hence

t2n+1 = a + w − t. Since a ∈ L2n−1 ⊂ L2n, w ∈ β2n ⊂ L2n, and t ∈ L2n−1 ⊂ L2n, it follows

that t2n+1 ∈ L2n which contradicts Lemma 6.2.5.

Case 2: If t2n+1 = 0, then t ∈ P (2n). We claim that t2n 6= 0. Suppose t2n = 0. It

follows that t ∈ P (2n − 1) ⊂ L2n−1. Since a ∈ L2n−1 and w = t − a, we have w ∈ L2n−1.

Hence w ∈ L2n−1

⋂β2n = ∅ by Lemma 6.1.3, which is a contradiction. Thus t2n 6= 0.

It follows that t2n−1 = 0. Let t1,2n−2 ∈ P (2n − 2) be the lattice point whose label is

t1t2...t2n−2 ∈ Λ2n−2 and t2n ∈ P (2n) be the lattice point whose label is 00...0t2n ∈ Λ2n. It

follows that t = t1,2n−2 + t2n. Since t = a + w, we have a = t −w = t1,2n−2 + t2n −w. If

t2n = w, then a = t−w = t1,2n−2 ∈ P (2n−2) ⊂ P (2n−1) which contradicts the condition

of this lemma that a 6∈ P (2n− 1). Hence t2n 6= w. Since both t2n ∈ β2n and −w ∈ β2n, it

follows from Table 6-2 that t2n −w ∈ β2n

⋃β2n−1

⋃(β2n−2 + β2n).

If t2n−w ∈ β2n, then t2n−w = a−t1,2n−2 ∈ β2n

⋂L2n−1 = ∅, which is a contradiction.

If t2n − w ∈ β2n−1, then a = t1,2n−2 + t2n − w ∈ P (2n − 2) + β2n−1. By Lemma 6.2.3,

P (2n − 2) + β2n−1 ⊆ P (2n − 1). Hence a ∈ P (2n − 1) which again contradicts the

condition a 6∈ P (2n − 1). If t2n −w ∈ β2n−2 + β2n, then there are x ∈ β2n−2 and y ∈ β2n

such that t2n − w = x + y. Hence a = t1,2n−2 + t2n − w = t1,2n−2 + x + y. It follows

that y = a − t1,2n−2 − x ∈ β2n

⋂L2n−1 = ∅, which is a contradiction as well. Therefore

t 6∈ P (2n + 1).

Let ∅ 6= T ⊆ L, and let q ∈ T be a boundary lattice point of T , and Q the Voronoi

cell of q. If S is a side of Q but S is not a side of any other Voronoi cell of T , then S is

called a B-side of Q in T . The boundary lattice point q is called a C-boundary lattice

point of T if the union of all B-sides of the Voronoi cell Q is a connected set of R2.

Lemma 6.2.9. For any integer n ≥ 2 and any boundary lattice point q of P (2n− 1), q is

a C-boundary lattice point of P (2n− 1), and the boundary index of q in P (2n− 1) is either

95

Page 96: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

1 or 3. Furthermore there exists at least one boundary lattice point of P (2n − 1) whose

boundary index is 1.

Proof. When n = 2, this lemma follows directly from the plot of the lattice points of

P (3) in Figure 6-2. Now assume this lemma is true for any n ≤ t for some integer t.

When n = t + 1, let q be any boundary lattice point of P (2t + 1). Since P (2t + 1) =

P (2t)⋃

(P (2t− 1)+β2t+1), we have either q ∈ P (2t) or q ∈ P (2t− 1)+β2t+1. If q ∈ P (2t),

then by Corollary 6.2.4, q is not a boundary lattice point of P (2t + 1) which leads to a

contradiction. Hence q ∈ P (2t − 1) + β2t+1. Let q = q0 + r for some q0 ∈ P (2t − 1) and

r ∈ β2t+1.

Suppose q0 is not a boundary lattice point of P (2t− 1). Then the six neighbors of q0

in the lattice L2t−1 are also lattice points of P (2t− 1). Let qi ∈ P (2t− 1) : i = 1, 2, ..., 6be the set consisting of the six neighbors of q0 in the lattice L2t−1 such that qi is next

to qi+1 for each i = 1, 2, 3, 4, 5. Also the Voronoi cell of qi is denoted Qi for each i =

1, 2, ..., 6. Since q0, q1, and q2 are lattice points of P (2t − 1) and mutually next to each

other, by Lemma 6.2.7, the centroid of the triangle whose vertices are q0, q1, and q2 is

in P (2t + 1). It follows that the hexagon A in Figure 6-3 is a Voronoi cell of P (2t + 1).

Similarly the hexagons B, C, D, E, and F are Voronoi cells of P (2t + 1). Each green

hexagon except A, B, C, D, E, and F is the Voronoi cell of a lattice point in the set⋃ qi + β2t+1 : i = 1, 2, ..., 6. Since qi + β2t+1 ⊂ P (2t− 1) + β2t+1 ⊂ P (2t + 1), each green

hexagon in Figure 6-3 is a Voronoi cell of P (2t + 1) which contradicts that q is a boundary

lattice point of P (2t + 1). Thus q0 is a boundary lattice point of P (2t− 1).

By the assumption of this induction, q0 is a C-boundary lattice point of P (2t − 1)

and the boundary index of q0 (in P (2t − 1)) is either 1 or 3. In the following, we assume

that the boundary index of q0 is 1 because the proof can be similarly done if the boundary

index of q0 is 3. It follows that the Voronoi cell Q0 of q0 is surrounded by five hexagons of

P (2t − 1) as shown in Figure 6-4 (a). Since q0 and its five neighbors in the lattice L2t−1

are lattice points of P (2t− 1) and since P (2t− 1) + β2t+1 ⊂ P (2t + 1), by Lemma 6.2.7, all

96

Page 97: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−25 −20 −15 −10 −5 0 5 10 15 20 25

−25

−20

−15

−10

−5

0

5

10

15

20

25

Q0

Q1 Q

2

Q3

Q4 Q

5

Q6

A

B

C D

E

F

Q

Figure 6-3. Voronoi cells of the lattice points of P(2t+1) which are generated from thelattice points of P(2t −1).

−25 −20 −15 −10 −5 0 5 10 15 20 25

−25

−20

−15

−10

−5

0

5

10

15

20

25

Q0

−25 −20 −15 −10 −5 0 5 10 15 20 25

−25

−20

−15

−10

−5

0

5

10

15

20

25

Q0

A

B C

D E

W

(a) (b)

Figure 6-4. The boundary hexagons of Q0 and Q. (a) The black hexagon Q0 has boundaryindex 1. (b) The boundary hexagon Q should be one of the three redhexagons.

green and red hexagons in Figure 6-4 (b) are Voronoi cells of P (2t+1). Because q = q0 +r

for some r ∈ β2t+1 and because q is a boundary lattice point of P (2t + 1), the Voronoi cell

Q of q should be one of the three red hexagons in Figure 6-4 (b). By Lemma 6.2.8, the

hexagon W in Figure 6-4 (b) is not a Voronoi cell of P (2t + 1). Hence, in Figure 6-4 (b),

the hexagon C has boundary index 1. For a similar reason, we can show that the hexagon

A has boundary index 1, and the hexagon B has boundary index 3 and the union of its

97

Page 98: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

three B-sides is a connected set of R2. Hence this lemma is true for n = t + 1. Thus this

lemma is true for any n ≥ 2.

Let L be a lattice, ∅ 6= T ⊂ L, and let p and q be two C-boundary lattice points of T .

If the union of the B-sides of the Voronoi cells of p and q is a connected set of R2, then we

say that p and q are B-connected in T .

Lemma 6.2.10. For any integer n ≥ 2, there exists w ∈ L2n−1 \ P (2n − 1) such that w

has at least four neighbors belonging to the set P (2n− 1).

Proof. By Lemma 6.2.9, there exists one boundary lattice point q0 of P (2n − 3) whose

boundary index is 1. Let Q0 be the Voronoi cell of q0. Let W be the hexagon shown

in Figure 6-4 (b). As shown in the proof of Lemma 6.2.9, W is not a Voronoi cell of

P (2n− 1), and all green and red hexagons in Figure 6-4 (b) are Voronoi cells of P (2n− 1).

Let w be a lattice point of L2n−1 such that the hexagon W is a Voronoi cell of w. Then

w 6∈ P (2n− 1) and w has at least four neighbors belonging to the set P (2n− 1).

The main result in this subsection is the following theorem.

Theorem 6.2.11. For any integer n ≥ 2, the (2n − 1)th level of the Pyxis structure does

not tile its underlying lattice L2n−1 by translations by a sublattice.

Proof. By Lemma 6.2.10, for any integer n ≥ 2, there exists w ∈ L2n−1 \ P (2n − 1)

such that w has at least four neighbors belonging to the set P (2n − 1). Suppose that

P (2n − 1) tiles L2n−1 by translations by a sublattice Ls. Then there is r ∈ Ls such

that w ∈ r + P (2n − 1). Since w 6∈ P (2n − 1), by the definition of tiling, we have

P (2n − 1)⋂

(r + P (2n − 1)) = ∅. Hence the boundary index of w in r + P (2n − 1) is at

least 4 because w has at least four neighbors belonging to P (2n − 1). By Lemma 6.2.1,

r + P (2n− 1) has the same geometry as P (2n− 1). Hence by Lemma 6.2.9, the boundary

index of w in r + P (2n − 1) is either 1 or 3. However we have shown that the boundary

index of w in r + P (2n − 1) is at least 4, which is a contradiction. Therefore P (2n − 1)

98

Page 99: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

does not tile its underlying lattice L2n−1 by translations by a sublattice for any integer

n ≥ 2.

6.2.2 Pyxis P (2n) Does Not Tile the Underlying Lattice by Translations by aSublattice for any n > 1

In this subsection, we first show some properties of P (2n) and apply them to prove

that P (2n) does not tile the underlying lattice L2n by translations by a sublattice for any

n ≥ 2.

Lemma 6.2.12. P (2n + 2) = P (2n)⋃

(P (2n) + β2n+1)⋃

(P (2n) + β2n+2) for any n ∈ N.

Proof. By the definition of the Pyxis structure, we have P (2n + 2) = P (2n + 1)⋃

(P (2n) +

β2n+2) and P (2n+1) = P (2n)⋃

(P (2n−1)+β2n+1). By Theorem 6.1.4, P (2n−1) ⊂ P (2n).

It follows that P (2n − 1) + β2n+1 ⊆ P (2n) + β2n+1. Hence P (2n)⋃

(P (2n − 1) + β2n+1) ⊆P (2n)

⋃(P (2n) + β2n+1), i.e., P (2n + 1) ⊆ P (2n)

⋃(P (2n) + β2n+1). Hence P (2n + 1) ⊆

P (2n)⋃

(P (2n) + β2n+1)⋃

(P (2n) + β2n+2). Obviously (P (2n) + β2n+2) ⊆ P (2n)⋃

(P (2n) +

β2n+1)⋃

(P (2n) + β2n+2). Thus P (2n + 1)⋃

(P (2n) + β2n+2) ⊆ P (2n)⋃

(P (2n) +

β2n+1)⋃

(P (2n) + β2n+2), i.e., P (2n + 2) ⊆ P (2n)⋃

(P (2n) + β2n+1)⋃

(P (2n) + β2n+2). On

the other hand, it follows from Lemma 6.2.3 that (P (2n)+β2n+1) ⊆ P (2n+1) ⊆ P (2n+2).

Furthermore P (2n + 2) = P (2n + 1)⋃

(P (2n) + β2n+2) implies that P (2n) + β2n+2 ⊆P (2n + 2). Hence P (2n)

⋃(P (2n) + β2n+1)

⋃(P (2n) + β2n+2) ⊆ P (2n + 2). Therefore

P (2n + 2) = P (2n)⋃

(P (2n) + β2n+1)⋃

(P (2n) + β2n+2).

For any q ∈ P (2n), by Lemma 6.2.12, we have (q + β2n+1)⋃

(q + β2n+2) ⊂ P (2n + 2).

The 13 lattice points in the set (q + β2n+1)⋃

(q + β2n+2) and their Voronoi cells are shown

in Figure 6-5, where the six lattice points in the set q + β2n+2 surround q and the six

lattice points in the set q + β2n+1 are the vertices of the (red) Voronoi cell of q ∈ P (2n).

Lemma 6.2.13. For any n ≥ 1, λ1λ2...λ2n ∈ Λ2n, and x ∈ 1, 2, 3, 4, 5, 6, we have

λ1λ2...λ2n0⊕ 00...0x ∈ Λ2n+1.

99

Page 100: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−8 −6 −4 −2 0 2 4 6 8−8

−6

−4

−2

0

2

4

6

8

q

q+β2n+2,6

q+β2n+2,1

q+β2n+2,2

q+β2n+2,3

q+β2n+2,4

q+β2n+2,5

q+β2n+1,6

q+β2n+1,1

q+β2n+1,2

q+β2n+1,3

q+β2n+1,4

q+β2n+1,5

Figure 6-5. The 13 lattice points in the set (q + β2n)⋃

(q + β2n−1) and their Voronoi cells.

Proof. Let p ∈ P (2n) such that the label of p is λ1λ2...λ2n ∈ Λ2n, and let b ∈ β2n+1 such

that the label of b is 00...0x ∈ Λ2n+1. By Lemma 6.2.3, we have p + b ∈ P (2n + 1). It

follows that λ1λ2...λ2n0⊕ 00...0x ∈ Λ2n+1.

Lemma 6.2.14. Let 1 < n ∈ N. If q is a boundary lattice point of P (2n) with label

q1q2...q2n−2q2n−1q2n ∈ Λ2n, then either q2n−1 6= 0 or q2n 6= 0, and the lattice point labeled

q1q2...q2n−2 is a boundary lattice point of P (2n− 2).

Proof. If q2n−1 = q2n = 0, then q ∈ P (2n − 2). Obviously the six neighbors of q in P (2n)

are exactly the elements of the set q+β2n. By Lemma 6.2.12, P (2n) = P (2n−2)⋃

(P (2n−2)+β2n−1)

⋃(P (2n−2)+β2n). It follows that q+β2n ⊆ P (2n−2)+β2n ⊆ P (2n). Hence all

neighbors of q in P (2n) are still in P (2n), which contradicts that q is a boundary lattice

point of P (2n). Thus either q2n−1 6= 0 or q2n 6= 0.

Let q be the lattice point of P (2n − 2) labeled q1q2...q2n−2. To show q is a boundary

lattice point of P (2n − 2), it suffices to show that there exists b ∈ β2n−2 such that

q+b 6∈ P (2n−2), i.e., q1q2...q2n−3q2n−2⊕00...0j 6∈ Λ2n−2 for some j ∈ 1, 2, 3, 4, 5, 6, where

00...0j ∈ Λ2n−2 is the label of b. Since q is a boundary lattice point of P (2n) with label

q1q2...q2n−2q2n−1q2n ∈ Λ2n, there exists k ∈ 1, 2, 3, 4, 5, 6 such that q1q2...q2n−2q2n−1q2n ⊕

100

Page 101: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

00...00k 6∈ Λ2n. By Table 6-2, we have 00q2n−1q2n ⊕ 000k = 0d2d3d4 ∈ Λ4. Hence we have

q1q2...q2n−3q2n−2q2n−1q2n ⊕ 00...000k

= q1q2...q2n−3q2n−200⊕ 00...00q2n−1q2n ⊕ 00...000k

= q1q2...q2n−3q2n−200⊕ 00...0d2d3d4.

(6–23)

Since we have shown in the previous paragraph that either q2n−1 6= 0 or q2n 6= 0, we split

the proof into two cases.

Case 1: If q2n−1 6= 0, then, by Item 1 of Corollary 6.1.7, we have q2n = 0.

Since q2n−1 6= 0 and q2n = 0, by Table 6-2, we have d3 = 0. Suppose d2 = 0.

Then, by Equation 6–23, we have q1q2...q2n−2q2n−1q2n ⊕ 00...00k = q1q2...q2n−200 ⊕00...00d4 = q1q2...q2n−20d4 ∈ Λ2n, which is a contradiction. Thus d2 6= 0. Now suppose

q1q2...q2n−3q2n−2 ⊕ 00...0d2 ∈ Λ2n−2. Let

y1y2...y2n−3y2n−2 = q1q2...q2n−3q2n−2 ⊕ 00...0d2.

Then Equation 6–23 becomes

q1q2...q2n−3q2n−2q2n−1q2n ⊕ 00...000k

= q1q2...q2n−3q2n−200⊕ 00...0d20d4

= q1q2...q2n−3q2n−200⊕ 00...0d200⊕ 00...000d4

= y1y2...y2n−3y2n−200⊕ 00...000d4

= y1y2...y2n−3y2n−20d4 ∈ Λ2n,

(6–24)

which contradicts that q is a boundary lattice point of P (2n) with label q1q2...q2n−2q2n−1q2n.

Thus q1q2...q2n−3q2n−2 ⊕ 00...0d2 6∈ Λ2n−2. Therefore the lattice point labeled q1q2...q2n−2 is

a boundary lattice point of P (2n− 2).

101

Page 102: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Case 2: If q2n 6= 0, then, by Item 1 of Corollary 6.1.7, we have q2n−1 = 0. Suppose

d2 = 0. Then Equation 6–23 becomes

q1q2...q2n−3q2n−2q2n−1q2n ⊕ 00...000k

= q1q2...q2n−3q2n−200⊕ 00...00d3d4

(6–25)

If d3 6= 0, then, by Item 1 of Corollary 6.1.7, we have d4 = 0. Since d3 6= 0 and d4 = 0,

by Lemma 6.2.13, we have q1q2...q2n−3q2n−200 ⊕ 00...00d3d4 ∈ Λ2n. By Equation 6–25,

it follows that q1q2...q2n−3q2n−2q2n−1q2n ⊕ 00...000k ∈ Λ2n, which contradicts that q

is a boundary lattice point of P (2n) with label q1q2...q2n−2q2n−1q2n. If d3 = 0, then

q1q2...q2n−3q2n−200 ⊕ 00...00d3d4 = q1q2...q2n−3q2n−20d4 ∈ Λ2n, which also contradicts that

q is a boundary lattice point of P (2n) with label q1q2...q2n−2q2n−1q2n. Thus d2 6= 0, which

implies that d3 = 0. Since q1q2...q2n−2q2n−1q2n ⊕ 00...00k 6∈ Λ2n, by Equation 6–23, we have

q1q2...q2n−3q2n−200 ⊕ 00...0d2d3d4 6∈ Λ2n, i.e., q1q2...q2n−3q2n−200 ⊕ 00...0d20d4 6∈ Λ2n. By

Item 2 of Lemma 6.1.8, it follows that q1q2...q2n−3q2n−2 ⊕ 00...0d2 6∈ Λ2n−2. Therefore the

lattice point labeled q1q2...q2n−2 is a boundary lattice point of P (2n− 2).

The following lemma shows some invariant properties of P (n) with respect to the

rotation of R2 by an angle of kπ3

for some k ∈ Z about the origin.

Lemma 6.2.15. Let n ∈ N, x ∈ P (2n), and α = kπ3

for some k ∈ Z. If y is the point in

R2 obtained by rotating x by an angle of α about the origin, then y ∈ P (2n). Furthermore,

x is a boundary lattice point of P (2n) with boundary index b for some b ∈ 1, 2, 3, 4, 5, 6 if

and only if y is a boundary lattice point of P (2n) with boundary index b.

Proof. Let the label of x be x1x2...x2n−1x2n ∈ Λ2n. Then x =∑2n

i=1 βi,xi. Let M =

cos(α) − sin(α)

sin(α) cos(α)

. Since M is the matrix of rotation by α = kπ

3, by the definition

of β1 and β2, it is easy to show that, for any j = 1, 2, ..., 6, we have Mβ1,j ∈ β1 and

Mβ2,j ∈ β2. For any k ∈ N, since β2k+1,j = 13k β1,j and β2k+2,j = 1

3k β2,j, we have Mβ2k+1,j =

13k Mβ1,j ∈ β2k+1 and Mβ2k+2,j = 1

3k Mβ2,j ∈ β2k+2. Obviously Mβi,0 = M0 = 0 = βi,0 for

102

Page 103: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

any i ∈ N. Thus Mβi ⊆ βi for any i ∈ N. It follows that Mβi,xi∈ βi where βi = βi ∪ 0,

and there exists yi ∈ 0, 1, .., 6 such that βi,yi= Mβi,xi

for each i satisfying 1 ≤ i ≤ 2n.

Since ‖Mβi,xi‖ = ‖βi,xi

‖, xi 6= 0 if and only if yi 6= 0. Since x1x2...x2n−1x2n ∈ Λ2n, it

follows that y1y2...y2n−1y2n ∈ Λ2n. Because y is the point in R2 obtained by rotating x by

an angle of α about the origin, we have

y = Mx =2n∑i=1

Mβi,xi=

2n∑i=1

βi,yi. (6–26)

Since either yi = 0 or yi+1 = 0 for each i satisfying 1 ≤ i ≤ 2n − 1, by Lemma 6.1.5, it

follows that y ∈ P (2n).

Furthermore, if x is a boundary lattice point of P (2n) with boundary index b for

some b ∈ 1, 2, 3, 4, 5, 6, then there exists B ⊂ 1, 2, 3, 4, 5, 6 such that |B| = b and,

for each j ∈ 1, 2, 3, 4, 5, 6, x + β2n,j 6∈ P (2n) if and only if j ∈ B. By the result of the

previous paragraph, we have x + β2n,j ∈ P (2n) if and only if Mx + Mβ2n,j ∈ P (2n).

Hence y is a boundary lattice point of P (2n) with boundary index b. Conversely, if y is

a boundary lattice point of P (2n) with boundary index b for some b ∈ 1, 2, 3, 4, 5, 6,similarly we can show that x is also a boundary lattice point of P (2n) with boundary

index b since x = M−1y =

cos(−α) − sin(−α)

sin(−α) cos(−α)

y.

The following lemma shows that each boundary lattice point of P (2n) is a C-boundary

lattice point, and its boundary index is 1, 2, or 4.

Lemma 6.2.16. Let q be a boundary lattice point of P (2n). If the label of q is λ0j for

some λ ∈ Λ2n−2 and j ∈ 1, 2, 3, 4, 5, 6, then the boundary index of q is 1. If the label of q

is λj0 for some λ ∈ Λ2n−2 and j ∈ 1, 2, 3, 4, 5, 6, then the boundary index of q is either 2

or 4, and q is a C-boundary lattice point of P (2n).

103

Page 104: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proof. If the label of q is λ0j for some λ = λ1λ2...λ2n−2 ∈ Λ2n−2 and j ∈ 1, 2, 3, 4, 5, 6,then the labels of the six neighbors of q in the lattice L2n constitute the set

λ1λ2...λ2n−20j ⊕ 00...00k : k = 1, 2, ..., 6 .

For any k ∈ 1, 2, 3, 4, 5, 6 with k 6= j, by Table 6-2, we have 000j ⊕ 000k = 00x1x2 ∈ Λ4

where x1x2 ∈ Λ2. By applying Item 4 of Lemma 6.1.8 twice, it follows that 0j ⊕ 0k =

x1x2 ∈ Λ2. Hence we have

λ1λ2...λ2n−20j ⊕ 00...00k = λ1λ2...λ2n−200⊕ 00...0x1x2. (6–27)

When x1 = 0, Equation 6–27 becomes

λ1λ2...λ2n−20j ⊕ 00...00k = λ1λ2...λ2n−200⊕ 00...00x2

= λ1λ2...λ2n−20x2 ∈ Λ2n.

(6–28)

When x2 = 0, Equation 6–27 becomes

λ1λ2...λ2n−20j ⊕ 00...00k = λ1λ2...λ2n−200⊕ 00...0x10. (6–29)

By Lemma 6.2.13, λ1λ2...λ2n−20 ⊕ 00...0x1 ∈ Λ2n−1. It follows that λ1λ2...λ2n−200 ⊕00...0x10 ∈ Λ2n. Hence by Equation 6–29, we have λ1λ2...λ2n−20j⊕ 00...00k ∈ Λ2n. Thus at

least five neighbors of q in the lattice L2n are still in P (2n). Therefore the boundary index

of q is 1.

If the label of q is λj0 for some λ = λ1λ2...λ2n−2 ∈ Λ2n−2 and j ∈ 1, 2, 3, 4, 5, 6, then

the labels of the six neighbors of q in the lattice L2n constitute the set

λ1λ2...λ2n−2j0⊕ 00...00k : k = 1, 2, ..., 6 .

For k = 1, 2, ..., 6, denote nk the neighbor of q whose label is λ1λ2...λ2n−2j0 ⊕ 00...00k.

Without loss of generality we assume that j = 1 because, by Lemma 6.2.15, the boundary

index would be the same if j ∈ 2, 3, 4, 5, 6. If k = 3, by Table 6-2, we have 00j0⊕ 000k =

104

Page 105: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

0010⊕ 0003 = 0001. Then we have

λ1λ2...λ2n−2j0⊕ 00...00k = λ1λ2...λ2n−200⊕ 00...001

= λ1λ2...λ2n−201 ∈ Λ2n.

(6–30)

It follows that n3 ∈ P (2n). Similarly 00j0 ⊕ 0004 = 0006 implies that λ1λ2...λ2n−2j0 ⊕00...004 ∈ Λ2n. Thus n4 ∈ P (2n). Now consider n1 and n2. By Table 6-2, 00j0 ⊕ 0001 =

0010⊕0001 = 0105 and 00j0⊕0002 = 0010⊕0002 = 0104. It follows that n1 6∈ P (2n) if and

only if λ1λ2...λ2n−2j0 ⊕ 00...001 6∈ Λ2n if and only if λ1λ2...λ2n−3λ2n−200 ⊕ 00...0105 6∈ Λ2n

if and only if λ1λ2...λ2n−3λ2n−2 ⊕ 00...01 6∈ Λ2n−2 if and only if λ1λ2...λ2n−3λ2n−200 ⊕00...0104 6∈ Λ2n if and only if n2 6∈ P (2n). Similarly we can show that n5 6∈ P (2n) if and

only if n6 6∈ P (2n). Thus the boundary index of q is either 2 or 4. Obviously n5 is next to

n6, n6 is next to n1, and n1 is next to n2. It follows that q is a C-boundary lattice point of

P (2n).

Lemma 6.2.17. Let 1 ≤ n ∈ N and let q be a boundary lattice point of P (2n). If the

boundary index of q is 1, then there exist two boundary lattice points c1 and c2 of P (2n)

such that, for each j = 1, 2, cj is B-connected to q in P (2n) and the boundary index of cj

is either 2 or 4. If the boundary index of q is 2 or 4, then there exist two boundary lattice

points c1 and c2 of P (2n) such that, for each j = 1, 2, cj is B-connected to q in P (2n) and

the boundary index of cj is 1.

Proof. We prove it by induction. If n = 1, by the plot of the Voronoi cells of P (2) in

Figure 6-2, this lemma is obviously true. Assume this lemma is true for all integers less

than n. Now let q be a boundary lattice point of P (2n) and let q1q2...q2n−2q2n−1q2n ∈ Λ2n

be the label of q. By Lemma 6.2.14, we have q2n−1q2n = 0i or q2n−1q2n = i0 for some

i ∈ 1, 2, 3, 4, 5, 6.Let λ = q1q2...q2n−2 ∈ Λ2n−2 and let q be a lattice point of P (2n − 2) such that the

label of q is λ. Then the label of q is λq2n−1q2n. Since q is a boundary lattice point of

P (2n), by Lemma 6.2.14, q is a boundary lattice point of P (2n − 2). Furthermore, by

105

Page 106: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Lemma 6.2.12, we have P (2n) = P (2n − 2)⋃

(P (2n − 2) + β2n−1)⋃

(P (2n − 2) + β2n).

It follows that q + β2n ⊂ P (2n), and q + β2n−1 ⊂ P (2n). For any i ∈ 1, 2, 3, 4, 5, 6, by

Lemma 6.2.13, we have

q1q2...q2n−20⊕ 00...0i ∈ Λ2n−1. (6–31)

Let µi = q1q2...q2n−20 ⊕ 00...0i. When q is taken as an element of P (2n − 1), the label of

q is q1q2...q2n−20. By Equation 6–31, it follows that q + β2n−1,i ∈ P (2n − 1) and the label

of q + β2n−1,i is µi ∈ Λ2n−1. Hence, if q + β2n−1,i is taken as an element of P (2n), its label

is µi0 ∈ Λ2n. When q is taken as an element of P (2n), the label of q is q1q2...q2n−200. It

follows that the label of q + β2n,i is q1q2...q2n−200 ⊕ 00...00i. By Item 2 of Lemma 6.1.8,

we have q1q2...q2n−200 ⊕ 00...00i = q1q2...q2n−20i ∈ Λ2n. Let λ = q1q2...q2n−2. Then the

label of q + β2n,i is λ0i. By Lemma 6.2.16, the boundary index of q is 1, 2, or 4, and q is

a C-boundary lattice point of P (2n − 2). Without loss of generality, we assume that the

boundary index of q is 4 since the proofs for the other two cases can be similarly done.

Then the Voronoi cell of q in the lattice L2n−2 and the Voronoi cells of lattice points of

L2n in the set (q + β2n)⋃

(q + β2n−1) are shown in Figure 6-6, where the Voronoi cells of

lattice points in the set q + β2n are labeled µi for i = 0, 1, 2, ..., 6, and the Voronoi cells of

lattice points in the set q + β2n−1 are labeled λ0i for i = 1, 2, ..., 6. By Lemma 6.2.16, the

boundary index of q is 1, 2, or 4. Hence we consider the following cases.

If the boundary index of q is 1, then, by Lemma 6.2.16, we have q2n−1q2n = 0i for

some i ∈ 1, 2, ..., 6. Hence the label of q is λ0i. As shown in Figure 6-6, there exist two

boundary lattice points c1 and c2 of P (2n) such that, for each j = 1, 2, cj is B-connected

to q in P (2n) and the boundary index of cj is either 2 or 4.

Similarly if the boundary index of q is 2 or 4, then by Lemma 6.2.16, we have

q2n−1q2n = i0 for some i ∈ 1, 2, ..., 6. Since q2n−1 = i 6= 0, by Item 1 of Corollary 6.1.7,

we have q2n−2 = 0. By Item 2 of Lemma 6.1.8, it follows that q1q2...q2n−2q2n−1q2n =

q1q2...q2n−200 ⊕ 00...0i0 = µi0 where µi is defined in the second paragraph of this proof.

Hence the label of q is µi0 where i ∈ 1, 2, 3, 4, 5, 6. As shown in Figure 6-6, there

106

Page 107: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−4 −2 0 2 4 6 8

−4

−2

0

2

4

6

8

λ00

λ01 λ02

λ03 λ04

λ05

λ06

µ10 µ

20

µ30

µ40 µ

50

µ60

B1

B2

B3

B4

B02

B

01

Figure 6-6. Generation of the boundary hexagons of P (2n).

exist two boundary lattice points c1 and c2 of P (2n) such that, for each j = 1, 2, cj is

B-connected to q in P (2n) and the boundary index of cj is 1. By induction, this lemma is

true for any n ∈ N.

Lemma 6.2.18. For any n satisfying 2 ≤ n ∈ N, there exists at least one C-boundary

lattice point of P (2n) with boundary index 2.

Proof. For any i ∈ N, let Γi = 1010...10 ∈ Λ2i and, for any j ∈ 1, 2, 3, 4, 5, 6, let

Θi,j = 00...0j ∈ Λi which is the label of βi,j in P (i). We claim that Γi ⊕ Θ2i,1 6∈ Λ2i for

any i ∈ N. If i = 1, by Table 6-2, we have 0010 ⊕ 0001 = 0105. By applying Item 4 of

Lemma 6.1.8 twice, it follows that 10 ⊕ 01 6∈ Λ2. Hence Γ1 ⊕ Θ2,1 6∈ Λ2 and the claim is

true for i = 1. Assume the claim is true for any i ≤ N0 for some N0 ∈ N. In the following,

we show that the claim is also true if i = N0 + 1. Obviously

ΓN0+1 ⊕Θ2N0+2,1 = 1010...1010⊕ 0000...00001

= 1010...1000⊕ 0000...0010⊕ 0000...0001

= ΓN000⊕ 0000...0010⊕ 0000...0001.

(6–32)

107

Page 108: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Since 0010 ⊕ 0001 = 0105, by applying Item 4 of Lemma 6.1.8 for 2N0 − 2 times, we have

0000...0010⊕ 0000...0001 = 0000...0105 ∈ Λ2N0+2. Hence Equation 6–32 becomes

ΓN0+1 ⊕Θ2N0+2,1 = ΓN000⊕ 0000...0105. (6–33)

By the assumption, we have ΓN0 ⊕ Θ2N0,1 6∈ Λ2N0 , i.e., ΓN0 ⊕ 0000...01 6∈ Λ2N0 . By

Equation 6–33 and Item 2 of Lemma 6.1.8, it follows that ΓN0+1⊕Θ2N0+2,1 6∈ Λ2N0+2. Thus

the claim is true for any i ∈ N.

Now we prove Lemma 6.2.18. If n = 2, by the plot of Voronoi cells of P (4) as shown

in Figure 6-2, this lemma is obviously true. If n > 2, let Q = 1010...1030 ∈ Λ2n and let

q be a lattice point of P (2n) whose label is Q. By the definition of the lattice L2n and

the definition of β2n, the six neighbors of q in the lattice L2n are exactly the elements

of the set q + β2n. By the definition of labels, we have q + β2n,k ∈ P (2n) if and only if

Q⊕Θ2n,k ∈ Λ2n. By Item 1 of Lemma 6.1.8, we have Q = 1010...100000⊕ 0000...001030 =

Γn−20000⊕ 0000...001030. Hence

Q⊕Θ2n,k = Γn−20000⊕ 0000...001030⊕ 0000...00000k (6–34)

In the following, we show that Q ⊕ Θ2n,k 6∈ Λ2n for k = 1, 2, and Q ⊕ Θ2n,k ∈ Λ2n for

k = 3, 4, 5, 6.

By Table 6-2, we have 0030 ⊕ 0001 = 0205. Hence 000030 ⊕ 000001 = 000205. Since

001030 = 001000⊕ 000030, it follows that

001030⊕ 000001 = 001000⊕ 000030⊕ 000001

= 001000⊕ 000205

= 001000⊕ 000200⊕ 000005.

(6–35)

By Table 6-2, we have 0010⊕0002 = 0104. It follows that 001000⊕000200 = 010400. Then

Equation 6–35 becomes 001030⊕ 000001 = 010400⊕ 000005 = 010405. By Equation 6–34,

108

Page 109: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

we have

Q⊕Θ2n,1 = Γn−20000⊕ 0000...010405

= Γn−20000⊕ 0000...010000⊕ 0000...000405

= Γn−20000⊕Θ2n−4,10000⊕ 0000...000405.

(6–36)

By the claim in the first paragraph, we have Γn−2 ⊕ Θ2n−4,1 6∈ Λ2(n−2). By Item 2 of

Lemma 6.1.8 and Equation 6–36, it follows that Q ⊕ Θ2n,1 6∈ Λ2n. Similarly we can show

that Q⊕Θ2n,2 6∈ Λ2n.

By Table 6-2, we have 0030 ⊕ 0003 = 0301. Since 1030 ⊕ 0003 = 1000 ⊕ 0030 ⊕ 0003,

it follows that 1030 ⊕ 0003 = 1000 ⊕ 0301. Because 10 ⊕ 03 = 01 ∈ Λ2, it follows that

1030 ⊕ 0003 = 0101 ∈ Λ4. By Equation 6–34, it follows that Q ⊕ Θ2n,3 = Γn−20000 ⊕0000...001030 ⊕ 0000...000003 = Γn−20301 ∈ Λ2n. Similarly we can show that Q ⊕ Θ2n,k ∈Λ2n for k = 4, 5, 6.

We have shown that Q⊕Θ2n,k 6∈ Λ2n for k = 1, 2, and Q⊕Θ2n,k ∈ Λ2n for k = 3, 4, 5, 6.

By the definition of the sum of two labels, it follows that q + β2n,k 6∈ P (2n) for k = 1, 2,

and q + β2n,k ∈ P (2n) for k = 3, 4, 5, 6. Thus q is a boundary lattice point of P (2n) and

the boundary index of P (2n) is 2. Furthermore, since q + β2n,1 is next to q + β2n,2 in the

lattice L2n, q is a C-boundary lattice point of P (2n).

In the following, we use the previous results to prove the main result of this

subsection.

Theorem 6.2.19. For any integer n ≥ 2, the (2n)th level of the Pyxis structure P (2n)

does not tile its underlying lattice L2n by translations by a sublattice.

Proof. By Lemma 6.2.18, there exists a C-boundary lattice point, denoted a, of P (2n)

with boundary index 2. By Lemma 6.2.17, there exist two boundary lattice points bj of

P (2n) for j = 1, 2 such that a is B-connected to bj in P (2n) and bj has boundary index 1

for each j = 1, 2. Let b3 = a and let Bj be the Voronoi cell of bj for j = 1, 2, 3. Because

b3 has boundary index 2 and is B-connected to b1 and b2 in P (2n), we can assume that

109

Page 110: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

the Voronoi cells Bj, Bj, and Bj are shown in Figure 6-7 (a). Also, for k = 1, 2, let

uk ∈ L2n \ P (2n) be a lattice point such that uk is next to bk in the lattice L2n, and let

Uk be the Voronoi cell of uk. Since uk ∈ L2n \ P (2n) and is next to bk for k = 1, 2, the

location of Uk is as shown in Figure 6-7 (a) for k = 1, 2.

−4 −2 0 2 4 6 8

−4

−2

0

2

4

6

8

B01

B02

B1

B3

B2 U

1

U2

−4 −2 0 2 4 6 8

−4

−2

0

2

4

6

8

B01

B02

B1

B3

B2 U

1

U2 W

1

W3

W2

(a) (b)

Figure 6-7. Tiling of P (2). (a) Uj is a hexagon and next to Bj but not in P (2n) forj = 1, 2. (b) Showing where is W3 located.

Suppose that P (2n) tiles L2n by translations by a sublattice Ls. Then

⋃u + P (2n) : u ∈ Ls = L2n

and u + P (2n) = v + P (2n) whenever (u + P (2n))⋂

(v + P (2n)) 6= ∅ for u,v ∈ Ls.

Since uk ∈ L2n, it follows that there exists rk ∈ Ls such that uk ∈ rk + P (2n) for each

k = 1, 2, and either r1 + P (2n) = r2 + P (2n) or (r1 + P (2n))⋂

(r2 + P (2n)) = ∅. Since

uk ∈ rk + P (2n) and uk 6∈ P (2n), we have rk + P (2n) 6= 0 + P (2n) = P (2n). Hence

P (2n)⋂

(rk + P (2n)) = ∅ for k = 1, 2. Because either r1 + P (2n) = r2 + P (2n) or

(r1 + P (2n))⋂

(r2 + P (2n)) = ∅, we consider the following two cases.

Case 1: r1 + P (2n) = r2 + P (2n). In this case, we have uk ∈ r1 + P (2n) for each

k = 1, 2. It follows that u1 and u2 are two boundary lattice points of r1 + P (2n) and next

to each other in the lattice L2n. Since there are two lattice points b1 and b3 which are

next to u1 in the lattice L2n but not in r1 + P (2n), the boundary index of u1 in r1 + P (2n)

is at least 2 as shown in Figure 6-7 (a). For a similar reason, the boundary index of u2

110

Page 111: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

in r1 + P (2n) is at least 2 as shown in Figure 6-7 (a). However, by Lemma 6.2.17, u1 is

B-connected to two boundary boundary lattice points in r1 + P (2n) each having boundary

index 1. It follows that the boundary index of u2 in r1 + P (2n) should be 1, which

contradicts that the boundary index of u2 in r1 + P (2n) is at least 2.

Case 2: (r1 + P (2n))⋂

(r2 + P (2n)) = ∅. Let w3 be a lattice point of L2n which

is different from b3 such that its Voronoi cell W3 is next to both U1 and U2 as shown in

Figure 6-7 (b). Since (r1 + P (2n))⋂

(r2 + P (2n)) = ∅ in this case, either w3 6∈ r1 + P (2n)

or w3 6∈ r2 + P (2n). Because U1 and U2 in Figure 6-7 (b) are symmetric about W , without

loss of generality, we assume that w3 6∈ r2 + P (2n). We claim that the boundary index of

u2 (in r2 + P (2n)) is 5. Since the boundary index of b2 (in P (2n)) is 1, the only neighbor

of b2 which does not belong to P (2n) is u2. It follows that the black hexagon sitting on

the top of B2 must be a Voronoi cell of P (2n). Hence u2 has three neighbors in P (2n)

which are b3, b2, and the one sitting on the tope of b2. Since (r2 + P (2n))⋂

P (2n) = ∅,these three neighbors are not in P (2n). Furthermore, because w3 6∈ r2 + P (2n) and

u1 ∈ (r1 +P (2n))\ (r2 +P (2n)), w3 and u1 are also neighbors of u2 which are not elements

of r2 + P (2n). Thus the boundary index of u2 (in r2 + P (2n)) is at least 5. However

by Lemma 6.2.16, the boundary index of u2 is less than or equal to 4, which leads to a

contradiction. Thus P (2n) does not tile its underlying lattice L2n by translations by a

sublattice.

111

Page 112: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 7FRACTAL DIMENSION OF THE BOUNDARY OF THE PYXIS STRUCTURE

7.1 The Limit of the Pyxis Structure

Let (R2, d) be the 2-dimensional Euclidean space, where d(x, y) denotes the distance

between x and y for any x, y ∈ R2, and let H(R2) be the set consisting of all nonempty

compact subsets of (R2, d). The next three definitions are from Barnsley [4]. For any

x ∈ R2 and B ∈ H(R2), let d(x, B) = mind(x,y) : y ∈ B. The number d(x, B)

is called the distance from the point x to the set B. For any A,B ∈ H(R2), define

d(A,B) = maxd(x, B) : x ∈ A. The number d(A,B) is called the distance from the set

A ∈ H(R2) to the set B ∈ H(R2). Also let h(A,B) = maxd(A,B), d(B, A). The number

h(A,B) is called the Hausdorff distance between A and B.

By Theorem 1 on page 37 of Barnsley [4], (H(R2), h) is a complete metric space.

Recall from Chapter 6 that

vA1 =

1

0

,vA

2 =

−1

2√

32

,vB

1 =

√3

2

12

,vB

2 =

−√

32

12

,

LA =n1(v

A1 ) + n2(v

A2 ) : n1, n2 ∈ Z

, LB =

n1(v

B1 ) + n2(v

B2 ) : n1, n2 ∈ Z

, ρ1 is

a fixed positive number, and ρn = ( 1√3)n−1ρ1 for any n satisfying 1 < n ∈ N. Also

v2n−1,k = ρ2n−1vAk and v2n,k = ρ2nv

Bk for any n satisfying 1 < n ∈ N and k ∈ 1, 2. We

have defined a sequence of lattices by Ln = n1vn,1 + n2vn,2 : n1, n2 ∈ Z, n ∈ N. It is

shown in Chapter 6 that P (n) ⊂ Ln and P (n) ⊂ P (n + 1). Now let sn denote the length

of one side of a Voronoi cell of the lattice Ln and let Pn be the union of all Voronoi cells

of the lattice points of P (n). Since Ln is a hexagonal lattice with generators vn,1 and vn,2

each having length ρn, we have sn = ρn√3. The following lemma will be used to show that

each of the two sequences, P (n) : n ∈ N and

Pn : n ∈ N

, is a Cauchy sequence in

the space (H(R2), h).

Lemma 7.1.1. For any n ∈ N, we have

1. h(P (n), P (n + 1)) ≤ ρn+1 and h(P (n), P (n + 2)) ≤ ρn+1;

112

Page 113: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

2. h(Pn, Pn+1) ≤ (2√

3 + 1)ρn+2;

3. h(Pn, P (n)) ≤ sn = 1√3ρn.

Proof. 1. Because P (n) ⊂ P (n + 1), the distance from P (n) to P (n + 1) is 0, i.e.,

d(P (n), P (n + 1)) = 0. For any x ∈ P (n + 1), since P (n + 1) = P (n)⋃

(P (n − 1) + βn+1)

and P (n − 1) ⊂ P (n), there exist y ∈ P (n) and z ∈ βn+1 such that x = y + z. It follows

that d(x, P (n)) ≤ d(x,y) = ‖z‖ = ρn+1, where ‖z‖ denotes the norm of z. Hence

d(P (n + 1), P (n)) = maxd(x, P (n)) : x ∈ P (n + 1) ≤ ρn+1.

Thus

h(P (n), P (n + 1)) = maxd(P (n), P (n + 1)), d(P (n + 1), P (n)) ≤ ρn+1.

Similarly d(P (n), P (n + 2)) = 0. For any x ∈ P (n + 2), since P (n + 2) =

P (n + 1)⋃

(P (n) + βn+2), we have either x ∈ P (n + 1) or x ∈ P (n) + βn+2. If

x ∈ P (n + 1), then d(x, P (n)) ≤ d(P (n + 1), P (n)) ≤ h(P (n + 1), P (n)) ≤ ρn+1. If

x ∈ P (n) + βn+2, then there exist y ∈ P (n) and z ∈ βn+2 such that x = y + z. It follows

that d(x, P (n)) ≤ ‖z‖ = ρn+2 ≤ ρn+1. Thus h(P (n), P (n + 2)) ≤ ρn+1.

2. For any x ∈ Pn, there exists y ∈ P (n) such that x lies in the Voronoi cell of y.

Since Ln is a hexagonal lattice and sn is the length of one side of a Voronoi cell of the

lattice Ln, we have d(x,y) ≤ sn. It follows that d(x, P (n)) ≤ sn. Hence d(Pn, P (n)) ≤ sn.

Because P (n) ⊂ Pn, we have d(P (n), Pn) = 0. Thus h(Pn, P (n)) ≤ sn.

3. By Item 2, we have h(Pn, P (n)) ≤ sn for any n ∈ N. By the triangle inequality, we

have

h(Pn, Pn+1) ≤ h(Pn, P (n)) + h(P (n), P (n + 1)) + h(P (n + 1), Pn+1)

≤ sn + ρn+1 + sn+1.

(7–1)

Since sn = 1√3ρn for any n ∈ N, we have sn + ρn+1 + sn+1 = 1√

3ρn + ρn+1 + 1√

3ρn+1 =

2ρn+1 + 1√3ρn+1 = (2

√3 + 1)ρn+2.

113

Page 114: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proposition 7.1.2. Each of the two sequences, P (n) : n ∈ N and

Pn : n ∈ N,

converges in (H(R2), h), and these two sequences have the same limit.

Proof. By Item 1 of Lemma 7.1.1, we have h(P (n), P (n + 1)) ≤ ρn+1 for any n ∈ N. Since

ρn = ( 1√3)n−1ρ1 where ρ1 is a fixed positive number, the sequence P (n) : n ∈ N is a

Cauchy sequence in the space (H(R2), h). Because (H(R2), h) is a complete metric space,

it follows that the sequence P (n) : n ∈ N converges in H(R2).

Similarly, by Item 2 of Lemma 7.1.1, the sequence Pn : n ∈ N is a Cauchy sequence

in the space (H(R2), h). Therefore the sequence Pn : n ∈ N also converges in H(R2).

Let P be the limit of the sequence P (n) : n ∈ N. For any ε > 0, there exists

n1 ∈ N such that h(P (n),P) < 12ε for any n > n1. By Item 3 of Lemma 7.1.1, we have

h(Pn, P (n)) ≤ 1√3ρn = ( 1√

3)nρ1 for any n ∈ N. It follows that there exists n2 ∈ N such

that h(Pn, P (n)) < 12ε for any n > n2. Let n3 = max n1, n2. Then, for any n > n3, we

have h(Pn,P) < h(Pn, P (n)) + h(P (n),P) < 12ε + 1

2ε = ε. Thus P is also the limit of the

sequence

Pn : n ∈ N

.

Let P be the limit of the sequence P (n) : n ∈ N in H(R2). We call P the limit

of the Pyxis structure. The boundary of P is denoted PB and is called the boundary of the

Pyxis structure.

7.2 Fractal Dimension of the Boundary of the Pyxis Structure

To make this research more self-contained, we review one definition and one theorem

from Page 174 and Page 176 of Barnsley [4], respectively. Let A ∈ H(R2). For each ε > 0,

let N (A, ε) denote the smallest number of closed balls of radius ε > 0 needed to cover A.

If D = limε→0 ln(N (A,ε))ln(1/ε)

exists, then D is called the fractal dimension of A.

Theorem 7.2.1. Let A ∈ H(R2) and C > 0. If there exists some r with 0 < r < 1 such

that εn = Crn for any n ∈ N, and D = limn→∞ ln(N (A,εn))ln(1/εn)

exists, then A has fractal

dimension D.

To determine the fractal dimension of PB, in the following, we will show that 4n + 2 ≤N (PB, εn) ≤ 4n+1 − 4 for any n ∈ N, where εn = 3

2ρ2n+1 = 3ρ1

2(1

3)n. For any n ∈ N

114

Page 115: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

and j = 1, 2, 4, let Bn,j be the set consisting of all boundary lattice points of P (2n) whose

boundary index is j and let bn,j be the size of the set Bn,j. The following lemma shows one

relation among these sizes.

Lemma 7.2.2. For any n ∈ N, we have bn,1 = bn,2 + bn,4.

Proof. Define a bipartite graph G with parts V1 = Bn,1 and V2 = Bn,2

⋃Bn,4 such that

e is an edge of this graph if and only if the two vertices which are end points of e are

B-connected in P (2n). Let E(G) denote the edge set of the graph G. By Lemma 6.2.17,

each vertex in the set V1 is B-connected to exactly two vertices in the set V2. It follows

that |E(G)| = 2|V1|. Also, by Lemma 6.2.17, each vertex in the set V2 is B-connected to

exactly two vertices in the set V1. It follows that |E(G)| = 2|V2|. Thus |V1| = |V2| and

hence bn,1 = bn,2 + bn,4.

−2 −1 0 1 2 3 4 5 6 7 8−1

0

1

2

3

4

5

6

7

8

9

Q R

T

−2 −1 0 1 2 3 4 5 6 7 8−1

0

1

2

3

4

5

6

7

8

9

Q R

T

A4 B

4

C4 D

2

E2

(a) (b)

Figure 7-1. The boundary hexagons of P (2n) and P(2n+2). (a) The black hexagons Q, R,and T of P (2n) such that Q is B-connected to R and T , the boundary index ofQ is 4, and the boundary index of R and T is 1. (b) The boundary hexagonsof P(2n+2) which have boundary index 2 or 4. Their Voronoi cells overlap theinterior of the boundary hexagon Q of P (2n), where A4, B4, and C4 haveboundary index 4, and D2 and E2 have boundary index 2.

Lemma 7.2.3. For any n ∈ N, the (2n)th level of the Pyxis structure has 4n+1 − 4

boundary hexagons. Furthermore, 4n + 2 of them have boundary index 4, 4n − 4 of them

have boundary index 2, and 2(4n)− 2 of them have boundary index 1.

115

Page 116: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Proof. By Lemma 7.2.2, we have the following Equation.

bn,1 = bn,2 + bn,4. (7–2)

Hence it suffices to compute bn,2 and bn,4. Let Q be a boundary hexagon of P (2n). By

Lemma 6.2.16, the boundary index of Q is 1, 2, or 4. If the boundary index of Q is 4,

then it follows from Lemma 6.2.17 that, as shown in Figure 7-1 (a), there are exactly two

boundary hexagons R and T of P (2n) such that each of R and T is B-connected to Q and

has boundary index 1. By Lemma 6.2.12, it follows that, as shown in Figure 7-1 (b), there

exist three boundary hexagons A4, B4, and C4 of P (2n + 2) with boundary index 4 and

there exist two boundary hexagons D2 and E2 of P (2n + 2) with boundary index 2 such

that each of them has interior overlapping the interior of Q. Similarly if the boundary

−15 −10 −5 0 5 10 15

−10

−5

0

5

10

15

20

Q

R

T

−15 −10 −5 0 5 10 15

−10

−5

0

5

10

15

20

Q

R

T A4

B2

C2

(a) (b)

Figure 7-2. The boundary hexagons of P (2n) and P(2n+2). (a) The black hexagons Q, R,and T of P (2n) such that Q is B-connected to R and T , the boundary index ofQ is 2, and the boundary index of R and T is 1. (b) The boundary hexagonsof P(2n+2) which have boundary index 2 or 4, and whose Voronoi cells overlapthe interior of the boundary hexagon Q of P (2n), where A4 has boundaryindex 4, and B2 and C2 have boundary index 2.

index of Q is 2, then as shown in Figure 7-2 (a), there are exactly two boundary hexagons

R and T of P (2n) such that each of R and T is B-connected to Q and has boundary index

1. By Lemma 6.2.12, it follows that there exists one boundary hexagon A4 with boundary

index 4 and there exist two boundary hexagons B2 and C2 of P (2n + 2) with boundary

116

Page 117: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

index 2 such that each of them has interior overlapping the interior of Q as shown in

Figure 7-2 (b). If the boundary index of Q is 1, then it follows from Lemma 6.2.17 that,

as shown in Figure 7-3 (a), there are exactly two boundary hexagons R and T of P (2n)

−15 −10 −5 0 5 10 15

−5

0

5

10

15

20

Q

R

T

−15 −10 −5 0 5 10 15

−5

0

5

10

15

20

Q

R

T

A

B

(a) (b)

Figure 7-3. The boundary hexagons of P (2n) and P(2n+2). (a) The black hexagons Q, R,and T of P (2n) such that Q is B-connected to R and T , the boundary index ofQ is 1, and the boundary index of R and T is 2 or 4. (b) The boundaryhexagons of P(2n+2) which have boundary index 2 or 4, and whose Voronoicells overlap the interior of the boundary hexagon Q of P (2n), where A and Bhave boundary index 2.

such that each of R and T is B-connected to Q and has boundary index 2 or 4. By

Lemma 6.2.12, it follows that there exist two boundary hexagons A and B of P (2n + 2)

with boundary index 2 such that each of them has interior overlapping the interior of Q

as shown in Figure 7-3 (b). But boundary hexagons A and B are already counted from

hexagons R and T which have boundary index 2 or 4. Therefore we have the following

system of equations.

bn+1,4 = 3bn,4 + bn,2

bn+1,2 = 2bn,4 + 2bn,2.(7–3)

Let Xj =

bj,4

bj,2

for any j ∈ N, and let M =

3 1

2 2

. By System 7–3, Xn+1 = MXn

for any n ∈ N. Therefore we have

Xn+1 = Mn X1. (7–4)

117

Page 118: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Since there exist exactly six boundary hexagons of P (2) and each of them has

boundary index 4, we have b1,4 = 6 and b1,2 = 0. Hence X1 =

b1,4

b1,2

=

6

0

. The

eigenvalues of the matrix M are 1 and 4, and V1 =

−1

2

and V2 =

1

1

are their

associated eigenvectors. Let V =

(V1 V2

)and Λ =

1 0

0 4

. Since MV = V Λ, we

have M = V ΛV −1. Thus Mn = V ΛnV −1 =

−1 1

2 1

1 0

0 4n

(1

3)

−1 1

2 1

=

(13)

1 + 2(4n) 4n − 1

2(4n)− 2 4n + 2

. Then by Equation 7–4 we have

Xn+1 = (1

3)

1 + 2(4n) 4n − 1

2(4n)− 2 4n + 2

6

0

=

4n+1 + 2

4n+1 − 4

.

(7–5)

It follows that b2n+2,4 = 4n+1 + 2 and b2n+2,2 = 4n+1 − 4. Hence b2n+2,1 = b2n+2,2 + b2n+2,4 =

2(4n+1)− 2. Therefore b2n,4 = 4n + 2, b2n,2 = 4n − 4, and b2n,1 = 2(4n)− 2.

The following lemma will be used in the proof of Lemma 7.2.7.

Lemma 7.2.4. P2n ⊆ P2n+2 for any n ∈ N. Hence P2n : n ∈ N is an increasing

sequence of H(R2) with respect to set inclusion.

Proof. By Lemma 6.2.12, we have

P (2n + 2) = P (2n)⋃

(P (2n) + β2n+1)⋃

(P (2n) + β2n+2)

for any n ∈ N. It follows that, for any q ∈ P (2n), we have q + β2n+1

⋃q + β2n+2 ⊂ P (2n +

2). As shown in Figure 6-5 of Chapter 6, the Voronoi cell of q ∈ P (2n) is contained in the

118

Page 119: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

union of the Voronoi cells of the lattice points of L2n+2 in the set q + β2n+1

⋃q + β2n+2.

Thus P2n ⊆ P2n+2.

To prove Lemma 7.2.7, we need the following lemma.

Lemma 7.2.5. For any k ∈ N, we have P2k ⊆ P.

Proof. By Proposition 7.1.2, P is the limit of the sequence

P2n : n ∈ N

in the space

(H(R2), h). By Theorem 1 on Page 37 through page 38 from Barnsley [4], we have

P =x ∈ R2 : there is a Cauchy sequence

xn ∈ P2n

that converges to x

. For any

x ∈ P2k, let xn = x for any n ≥ k, and let xn = 0 ∈ P2n for any n < k. By Lemma 7.2.4,

P2n : n ∈ N is an increasing sequence of H(R2) with respect to set inclusion. Since

x ∈ P2k, it follows that xn ∈ P2n for any n ≥ k. Obviously the sequence xn : n ∈ N is a

Cauchy sequence which converges to x. Hence x ∈ P . Therefore P2k ⊆ P .

Lemma 7.2.6. Let L be a hexagonal lattice, x ∈ R2, y ∈ L, and let Ny be the set

consisting of the six neighbors of y in the lattice L. If x is not contained in the Voronoi

cell of y, then d(x,y) > d(x,Ny).

Proof. We consider the following two cases.

Case 1: If there exists z ∈ Ny such that x is contained in the Voronoi cell of z, then

d(x, z) < d(x,y) since x is not contained in the Voronoi cell of y. Because z ∈ Ny, we

have d(x, z) ≥ d(x,Ny). Hence d(x,y) > d(x, z) ≥ d(x,Ny).

Case 2: If there does not exist z ∈ Ny such that x is contained in the Voronoi cell of

z, then let Ny = a,b, c,d, e, f and let HN be the hexagon with vertices in the set Ny.

Since x is not contained in the Voronoi cell of any element in the set Ny

⋃ y, the lattice

point x lies outside the hexagon HN . It follows that there is exactly one intersection point

between the line segment connecting x and y and the sides of HN . Let p denote that

intersection point.

If p ∈ Ny, then d(x,y) > d(x,p) and d(x,p) ≥ d(x,Ny). Hence d(x,y) > d(x,Ny).

119

Page 120: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−30 −20 −10 0 10 20 30−30

−20

−10

0

10

20

30 .

y

a b

c

d e

f

x

Figure 7-4. The distance from a point x to a given lattice point y and the distance from xto the six neighbors of y in the lattice.

If p 6∈ Ny, then p lies on exactly one side, say the side connecting the two vertices

a and b, of the hexagon HN . By symmetry, without loss of generality, we assume that

d(x, a) ≤ d(x,b) as shown in Figure 7-4. Consider the triangle with vertices a, x,

and y. The three angles of that triangle with vertices a, x, and y are denoted A, X,

and Y , respectively. Since d(x, a) ≤ d(x,b), we have Y ≤ π6. However the angle A is

bigger than the angle formed by the ray from a to y and the ray from a to b, which is

π3. Hence the angle A is bigger than the angle Y . It follows that d(x,y) > d(x, a). Since

d(x, a) ≥ d(x,Ny), we have d(x,y) > d(x,Ny).

Lemma 7.2.7. For any x ∈ PB, there exists a boundary lattice point y of P (2n) such that

d(x,y) ≤ 32ρ2n+1.

Proof. By Item 1 of Lemma 7.1.1, we have h(P (i), P (i + 2)) ≤ ρi+1 for any i ∈ N. Since Pis the limit of the sequence P (2i) : i ∈ N), we have h(P (2n),P) ≤ ∑∞

i=n h(P (2i), P (2i +

2)). Thus h(P (2n),P) ≤ ∑∞i=n ρ2i+1. If we let j = i−n, then it follows that h(P (2n),P) ≤

∑∞j=0 ρ2j+2n+1 =

∑∞j=0

13j ρ2n+1 = 3

2ρ2n+1. Hence d(P , P (2n)) ≤ 3

2ρ2n+1. Since PB ⊂

P , it follows that d(PB, P (2n)) ≤ 32ρ2n+1. For any x ∈ PB, we have d(x, P (2n)) ≤

d(PB, P (2n)) ≤ 32ρ2n+1. Because P (2n) is a finite set, there exists y ∈ P (2n) such that

d(x, P (2n)) = d(x,y). We claim that y is a boundary lattice point of P (2n). Let Ny

120

Page 121: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

be the set consisting of the six neighbors of y in the lattice L2n. Suppose that y is not a

boundary lattice point of P (2n). Then Ny ⊂ P (2n). Since x ∈ PB and since P2n ⊆ P by

Lemma 7.2.5, it follows that x lies outside the Voronoi cell of y. Hence by Lemma 7.2.6,

d(x,y) > d(x,Ny) ≥ d(x, P (2n)), which contradicts that d(x, P (2n)) = d(x,y). Thus y is

a boundary point of P2n and d(x,y) = d(x, P (2n)) ≤ 32ρ2n+1.

To get the fractal dimension of PB, we still need the following lemmas. For any n ∈ Nand x ∈ Ln, let Vn(x) denote the Voronoi cell of x.

Lemma 7.2.8. For any n ∈ N, we have P2n ⊂ P2n−1.

Proof. For any x ∈ P2n, by the definition of P2n, there exists y ∈ P (2n) such that

x ∈ V2n(y). Since P (2n) = P (2n − 1)⋃

(P (2n − 2) + β2n), either y ∈ P (2n − 1) or

y ∈ P (2n− 2) + β2n. In the following, we consider these two cases separately.

Case 1: If y ∈ P (2n − 1), then V2n(y) ⊂ V2n−1(y) as shown in Figure 7-5 (a) where

the Voronoi cell V2n(y) has a horizontal side and the Voronoi cell V2n−1(y) has a vertical

side. Since x ∈ V2n(y), it follows that x ∈ V2n−1(y) ⊆ P2n−1.

−10 −5 0 5 10

−10

−5

0

5

10

y V

2n(y)

V2n−1

(y)

−15 −10 −5 0 5 10 15 20 25−20

−15

−10

−5

0

5

10

15

20

25

y

q

r

t

(a) (b)

Figure 7-5. The containment relation among Voronoi cells of P (2n) and P(2n+1). (a)shows that the (blue) Voronoi cell V2n(y) is contained in the (black) Voronoicell V2n−1(y), where V2n(y) has a horizontal side and V2n−1(y) has a verticalside. (b) shows that y∈ P (2n) is the centroid of the triangle with vertices q∈P(2n −1), r∈ P(2n −1), and t∈ P(2n −1). It also shows that the (blue)Voronoi cell of y∈ L2n is contained in the union of the (black) Voronoi cells ofq∈ L2n−1, r∈ L2n−1, and t∈ L2n−1.

121

Page 122: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Case 2: If y ∈ P (2n−2)+β2n, then there exists y0 ∈ P (2n−2) and i ∈ 1, 2, 3, 4, 5, 6such that y = y0 + β2n,i.

If i ∈ 1, 3, 5, then let q = β2n,i + β2n,2, r = β2n,i + β2n,4, and t = β2n,i + β2n,6.

Assume i = 1 because the proof for i = 3 or i = 5 is completely similar to that for i = 1.

By Table 6-2, 0001 ⊕ 0002 = 0020 ∈ Λ4. By applying Item 4 of Lemma 6.1.8 for 2n − 4

times, it follows that

00...0001⊕ 00...0002 = 00...0020 ∈ Λ2n. (7–6)

By the definition of β2n−1,2, the label of β2n−1,2 is 00...002 ∈ Λ2n−1. By Item 3 of

Lemma 6.1.8, the label of β2n−1,2 in P (2n) is 00...0020 ∈ Λ2n. By Equation 7–6, it

follows that β2n,1 + β2n,2 = β2n−1,2, i.e., q = β2n−1,2. Similarly, by Table 6-2, we have

0001 ⊕ 0004 = 0000 ∈ Λ4 and 0001 ⊕ 0006 = 0010 ∈ Λ4. Then we can show that

β2n,1 + β2n,4 = 0 and β2n,1 + β2n,6 = β2n−1,1, i.e., r = 0 and t = β2n−1,1. Hence

q, r, t ∈ β2n−1,1 and they are mutually next to each other in the lattice L2n−1. Since

q + r + t = 3β2n,i + β2n,2 + β2n,4 + β2n,6 and since β2n,2 + β2n,4 + β2n,6 = 0, we

have β2n,i = 13(q + r + t). Let q = y0 + q, r = y0 + r, and t = y0 + t. Then

13(q + r + t) = y0 + 1

3(q + r + t) = y0 + β2n,i = y. It follows that y is the centroid

of the triangle with vertices q, r, and t. Since y0 ∈ P (2n − 2) and q, r, t ∈ β2n−1,1,

by Lemma 6.2.3, we have q, r, t ∈ P (2n − 1). Because q, r, and t are mutually next

to each other in the lattice L2n−1, the three lattice points q, r, and t are also mutually

next to each other in the lattice L2n−1. Hence y is the centroid of the triangle with

vertices q ∈ L2n−1, r ∈ L2n−1, and t ∈ L2n−1 which are mutually next to each other in

the lattice L2n−1. As shown in Figure 7-5 (b), it follows that V2n(y) is contained in the

union of V2n−1(q), V2n−1(r), and V2n−1(t), where the Voronoi cells of the lattice L2n−1

have a vertical side and the Voronoi cells of the lattice L2n have a horizontal side. Hence

V2n(y) ⊆ P2n−1. Since x ∈ V2n(y), it follows that x ∈ P2n−1.

122

Page 123: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

If i ∈ 2, 4, 6, then let q = β2n,i + β2n,1, r = β2n,i + β2n,3, and t = β2n,i + β2n,5.

Similar to the proof in the previous paragraph, we can show that x ∈ P2n−1. Thus

P2n ⊂ P2n−1.

Lemma 7.2.9. For any n ∈ N, we have P2n+1 ⊂ P2n−1.

Proof. For any x ∈ P2n+1, there exists y ∈ P (2n + 1) such that x ∈ V2n+1(y). Since

P (2n + 1) = P (2n)⋃

(P (2n − 1) + β2n+1) and P (2n) = P (2n − 1)⋃

(P (2n − 2) + β2n),

we have P (2n + 1) = P (2n − 1)⋃

(P (2n − 2) + β2n)⋃

(P (2n − 1) + β2n+1). Hence either

y ∈ P (2n− 1) or y ∈ P (2n− 2) + β2n or y ∈ P (2n− 1) + β2n+1.

Case 1: If y ∈ P (2n − 1), then V2n+1(y) ⊂ V2n−1(y) ⊆ P2n−1. It follows that

x ∈ P2n−1.

Case 2: If y ∈ P (2n − 2) + β2n, then by the proof in Case 2 of Lemma 7.2.9, there

exist three lattice points q ∈ L2n−1, r ∈ L2n−1, and t ∈ L2n−1 which are mutually next

to each other in the lattice L2n−1 such that y is the centroid of the triangle with vertices

q, r, and t. It follows that V2n(y) ⊆ P2n−1 as shown in Figure 7-5 (b). Since V2n(y)

and V2n+1(y) have the same centroid and since the length of one side of the Voronoi cell

V2n(y) is√

3 times that of the Voronoi cell V2n+1(y), we have V2n+1(y) ⊂ V2n(y). Hence

V2n+1(y) ⊂ P2n−1 and x ∈ P2n−1.

Case 3: If y ∈ P (2n − 1) + β2n+1, then there exists y0 ∈ P (2n − 1) and i ∈1, 2, 3, 4, 5, 6 such that y = y0 + β2n+1,i. Since the length of the vector β2n+1,i is

ρ2n+1 = 13ρ2n−1, as shown in Figure 7-6, we have V2n+1(y) ⊆ V2n−1(y0). Hence x ∈

V2n−1(y0) ⊆ P2n−1. Therefore P2n+1 ⊂ P2n−1.

Corollary 7.2.10. For any k ∈ N, we have P ⊆ P2k−1.

Proof. Since P is the limit of the sequence

P2n : k ≤ n ∈ N

in the space (H(R2), h).

By Theorem 1 on Page 37 through page 38 from [4], we have

P =x ∈ R2 : there is a Cauchy sequence

xn ∈ P2n : n ≥ k

that converges to x

.

123

Page 124: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

−10 −8 −6 −4 −2 0 2 4 6 8 10

−10

−5

0

5

10

y0

y V

2n+1(y)

V2n−1

(y0)

Figure 7-6. The green Voronoi cell V2n+1(y) is contained in the black Voronoi cellV2n−1(y0).

By Lemma 7.2.8, we have P2n ⊂ P2n−1 for any n ≥ k. By Lemma 7.2.9, for any n ≥ k, we

have P2n−1 ⊆ P2k−1. Hence P2n ⊂ P2k−1 for any n ≥ k. For any n ≥ k, since xn ∈ P2n, it

follows that xn ∈ P2k−1. Because P2k−1 is a closed set of R2 and x = limn→∞ xn, it follows

that x ∈ P2k−1. Therefore P ⊆ P2k−1.

For any n ∈ N and i ∈ 1, 2, 3, 4, 5, 6, recall from Chapter 6 that Θn,i = 0000...0i ∈Λn is the label of βn,i where βn,i ∈ βn ⊆ P (n).

Lemma 7.2.11. Let n ∈ N, q be a boundary lattice point of P (2n) which is labeled

q1q2...q2n−2i0 ∈ Λ2n with i ∈ 1, 2, 3, 4, 5, 6, and q be a lattice point of P (2n + 2) which

is labeled q1q2...q2n−2i0i0 ∈ Λ2n+2. If the boundary index of q is 4, then q is a boundary

lattice point of P (2n + 2) with boundary index 4.

Proof. By Lemma 6.2.15, we only need to consider the case i = 1 because any of the other

cases can be proven by rotating the vectors q and q by an angle of kπ3

for some k ∈ N. By

Table 6-2, we have 0010⊕ 0003 = 0001 ∈ Λ4. By applying Item 4 of Lemma 6.1.8 twice, it

follows that 10⊕ 03 = 01 ∈ Λ2, i.e., i0⊕ 03 = 01 ∈ Λ2. By applying Item 4 of Lemma 6.1.8

for 2n− 2 times, i.e., by attaching 2n− 2 zeros to the left side on each term of the previous

equation, we have

00...0i0⊕ 00...003 = 00...001 ∈ Λ2n.

124

Page 125: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

By Item 1 of Lemma 6.1.8, we have

q1q2...q2n−2i0 = q1q2...q2n−200⊕ 00...0i0.

Hence

q1q2...q2n−2i0⊕Θ2n,3 = q1q2...q2n−200⊕ 00...0i0⊕ 00...003

= q1q2...q2n−200⊕ 00...001

= q1q2...q2n−201 ∈ Λ2n.

(7–7)

Similarly it follows from 0010 ⊕ 0004 = 0006 ∈ Λ4 that q1q2...q2n−210 ⊕ Θ2n,4 =

q1q2...q2n−206 ∈ Λ2n. Since the boundary index of q is 4 and since q1q2...q2n−210 ⊕00...000i ∈ Λ2n for i = 3, 4, we have q1q2...q2n−210⊕ 00...000i 6∈ Λ2n for each i ∈ 1, 2, 5, 6.

Similar to the previous computation, we can show that

q1q2...q2n−21010⊕Θ2n+2,3 = q1q2...q2n−21001 ∈ Λ2n+2

and

q1q2...q2n−21010⊕Θ2n+2,4 = q1q2...q2n−21006 ∈ Λ2n+2.

In the following, we show that q1q2...q2n−21010⊕Θ2n+2,j 6∈ Λ2n+2 for each j ∈ 1, 2, 5, 6.By Table 6-2, we have 0010⊕ 0001 = 0105 ∈ Λ4. By Item 4 of Lemma 6.1.8 for 2n− 2

times, it follows that 00...00i0⊕ 00...0001 = 00...0105 ∈ Λ2n+2. Hence

q1q2...q2n−2i0i0⊕Θ2n+2,1 = q1q2...q2n−21010⊕ 00...00001

= q1q2...q2n−21000⊕ 00...00010⊕ 00...00001

= q1q2...q2n−21000⊕ 00...00105.

(7–8)

Since q1q2...q2n−210 ⊕ 00...001 = q1q2...q2n−210 ⊕ Θ2n,1 6∈ Λ2n, by Item 4 and Item 2 of

Lemma 6.1.8, we have q1q2...q2n−21000 ⊕ 00...00105 6∈ Λ2n+2. By Equation 7–8, it follows

that q1q2...q2n−2i0i0⊕Θ2n+2,1 6∈ Λ2n+2.

125

Page 126: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

By Table 6-2, we have 0010 ⊕ 0002 = 0104 ∈ Λ4. Hence we can show that

q1q2...q2n−2i0i0⊕Θ2n+2,2 6∈ Λ2n+2 using a similar proof as in the previous paragraph.

Now consider q1q2...q2n−2i0i0 ⊕ Θ2n+2,5. By Table 6-2, we have 0010 ⊕ 0005 = 0603 ∈Λ4. By applying Item 4 of Lemma 6.1.8 for 2n − 2 times, it follows that 00...0010 ⊕00...0005 = 00...0603 ∈ Λ2n+2. Hence

q1q2...q2n−2i0i0⊕Θ2n+2,5 = q1q2...q2n−21010⊕ 00...00005

= q1q2...q2n−21000⊕ 00...00010⊕ 00...00005

= q1q2...q2n−21000⊕ 00...00603.

(7–9)

Since q1q2...q2n−210 ⊕ 00...006 = q1q2...q2n−210 ⊕ Θ2n,6 6∈ Λ2n, by Item 4 and Item 2 of

Lemma 6.1.8, we have q1q2...q2n−21000 ⊕ 00...00603 6∈ Λ2n+2. By Equation 7–9, it follows

that q1q2...q2n−2i0i0 ⊕ Θ2n+2,5 6∈ Λ2n+2. Similarly we can show that q1q2...q2n−2i0i0 ⊕Θ2n+2,6 6∈ Λ2n+2.

We have shown that q1q2...q2n−2i0i0⊕Θ2n+2,j ∈ Λ2n+2 for j = 3, 4, and q1q2...q2n−2i0i0⊕Θ2n+2,j 6∈ Λ2n+2 for any j ∈ 1, 2, 5, 6. Since q1q2...q2n−2i0i0 is the label of q, it follows

that the boundary index of q is 4.

Lemma 7.2.12. If q is a boundary lattice point of P (2n) and q ∈ L2n−1, then q is also a

boundary lattice point of P (2n− 1).

Proof. Let q1q2...q2n ∈ Λ2n be the label of q. We claim that q2n = 0. Suppose q2n 6= 0.

Then q2n = i for some i ∈ 1, 2, 3, 4, 5, 6. Recall that the lattice point labeled 00...0i ∈ Λ2n

is β2n,i which is an element of β2n. Let r be a lattice point of P (2n − 1) which is labeled

q1q2...q2n−1. By Item 1 of Lemma 6.1.8, we have q1q2...q2n−1q2n = q1q2...q2n−10 ⊕ 00...0q2n.

It follows that q = r + β2n,i. Hence β2n,i = q− r. Because q ∈ L2n−1 and r ∈ P (2n− 1) ⊂L2n−1, it follows that q − r ∈ L2n−1, i.e., β2n,i ∈ L2n−1. Since β2n,i ∈ β2n, it follows that

β2n,i ∈ L2n−1

⋂β2n = ∅ by Lemma 6.1.3, which is a contradiction. Thus q2n = 0. It follows

that q ∈ P (2n− 1).

126

Page 127: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Now we show that q is also a boundary lattice point of P (2n− 1). Suppose q is not a

boundary lattice point of P (2n − 1). Then q + β2n−1 ⊆ P (2n − 1). Let β2n−1,7 = β2n−1,1,

and let uj = q + β2n−1,j for j = 1, 2, ..., 7. Also let tj = 13(q + uj + uj+1) for each

j ∈ 1, 2, 3, 4, 5, 6. Obviously

tj = q +1

3(β2n−1,j + β2n−1,j+1) = q +

1

3β2n−2,j = q + β2n,j.

For each j ∈ 1, 2, 3, 4, 5, 6, since q, uj, and uj+1 are three lattice points of P (2n − 1)

which are next to each other in the lattice L2n−1, by Lemma 6.2.7, we have tj ∈ P (2n),

i.e., q + β2n,j ∈ P (2n). Thus q + β2n ⊆ P (2n). It follows that q is not a boundary lattice

point of P (2n), which contradicts the given condition of this Lemma. Thus q is also a

boundary lattice point of P (2n− 1).

Lemma 7.2.13. Let 1 < n ∈ N and let q be a lattice point of P (2n) whose label is

q1q2...q2n ∈ Λ2n and q be a boundary lattice point of P (2n− 2) whose label is q1q2...q2n−2 ∈Λ2n−2. If the boundary index of q is 1 and if q is a boundary lattice point of P (2n), then

the boundary index of q is 1.

Proof. Since q is a boundary lattice point of P (2n) and the label of q is q1q2...q2n−2, by

Lemma 6.2.14, either q2n−3 6= 0 or q2n−2 6= 0. Because the boundary index of q is 1, by

Lemma 6.2.16, q2n−3 = 0 and q2n−2 6= 0. Because q1q2...q2n ∈ Λ2n and q2n−2 6= 0, by Item 1

of Corollary 6.1.7, we have q2n−1 = 0. Since q is a boundary lattice point of P (2n), by

Lemma 6.2.14, it follows that q2n 6= 0. Hence, by Lemma 6.2.16, the boundary index of q

is 1.

Lemma 7.2.14. Let n ∈ N, q ∈ P (2n) and let q1q2...q2n be the label of q. If q is a

boundary lattice point of P (2n) with boundary index 2 or 4, then q2i = 0 and q2i−1 6= 0 for

any i satisfying 1 ≤ i ≤ n.

Proof. If n = 1, then, by the plot of the lattice points of P (2), this lemma is obviously

true. Now assume this lemma is true for any n < k for some k ∈ N. When n = k, let

127

Page 128: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

q be the lattice points of P (2k − 2) whose label is q1q2...q2k−2. Since q is a boundary

lattice point of P (2k), by Lemma 6.2.14, either q2k−1 6= 0 or q2k 6= 0, and q is a boundary

lattice point of P (2k − 2). If q2k 6= 0, then by Lemma 6.2.16, the boundary index of q

is 1 which contradicts the given condition that the boundary index of q is either 2 or 4.

Thus q2k−1 6= 0 and q2k = 0. By Lemma 7.2.13, if the boundary index of q is 1, then

the boundary index of q is also 1, which again contradicts the given condition that the

boundary index of q is either 2 or 4. Thus the boundary index of q is either 2 or 4. By

the assumption of this induction, we have q2i = 0 and q2i−1 6= 0 for any i satisfying

1 ≤ i ≤ k − 1. Thus this lemma is true when n = k. By induction, it is true for any

n ∈ N.

Recall that, for any n ∈ N, B2n,4 denotes the set consisting of all boundary lattice

points of P (2n) each having boundary index 4. For any q ∈ B2n,4, let q1q2...q2n ∈ Λ2n

be the label of q. Since q has boundary index 4, by Lemma 7.2.14, we have q2n = 0 and

q2n−1 = a for some a ∈ 1, 2, 3, 4, 5, 6. Let

Ψn(q) = q +1

2β2n−1,a.

The following lemma shows that Ψn is a map from B2n,4 to PB, where PB is the boundary

of P and defined at the beginning of this chapter.

Lemma 7.2.15. For any n ∈ N and q ∈ B2n,4, we have Ψn(q) ∈ PB.

Proof. Since q ∈ B2n,4 ⊂ P (2n), let the label of q be q1q2...q2n ∈ Λ2n. Then Ψn(q) =

q + 12β2n−1,a where a = q2n−1. Since q ∈ B2n,4, the boundary index of q is 4. By

Lemma 7.2.14, we have q2i = 0 and q2i−1 6= 0 for each i satisfying 1 ≤ i ≤ n. Because

q2n = 0, we have q ∈ P (2n − 1). Since P (2n − 1) + β2n+1 ⊂ P (2n + 1), it follows

that q + β2n+1,a ∈ P (2n − 1) + β2n+1 ⊂ P (2n + 1). By induction, it is easy to show that

q+∑k

i=0 β2n+2i+1,a ∈ P (2n+2k+1) for each k ≥ 0. Since P (2n+2k+1) ⊂ P (2n+2k+2) ⊂P2n+2k+2, we have q +

∑ki=0 β2n+2i+1,a ∈ P2n+2k+2 for each k ∈ N. By Lemma 7.2.5, we

have P2n+2k+2 ⊆ P . It follows that q +∑k

i=0 β2n+2i+1,a ∈ P for each k ∈ N.

128

Page 129: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Since β2n+2i+1,a = 13i β2n+1,a for each i ≥ 0, the sequence

∑ki=0 β2n+2i+1,a : k ∈ N

is

a Cauchy sequence in the space (R2, d). Hence the limit of this sequence exists. As usual,

the limit of the sequence∑k

i=0 β2n+2i+1,a : k ∈ N

is denoted∑∞

i=0 β2n+2i+1,a. Obviously

we have

∞∑i=0

β2n+2i+1,a =∞∑i=0

1

3iβ2n+1,a =

3

2β2n+1,a =

1

2β2n−1,a. (7–10)

It follows that q +∑∞

i=0 β2n+2i+1,a = q + 12β2n−1,a. Hence q + 1

2β2n−1,a is a limit point of

the sequenceq +

∑ki=0 β2n+2i+1,a : k ∈ N

. Since q +

∑ki=0 β2n+2i+1,a ∈ P for each k ∈ N

as shown in the previous paragraph and since P is a closed subset of R2, it follows that

q + 12β2n−1,a ∈ P , i.e., Ψn(q) ∈ P .

We claim that Ψn(q) ∈ PB. Suppose Ψn(q) 6∈ PB. Then there exists an open

δ-neighborhood Nδ(Ψn(q)) = y ∈ R2 : d(Ψn(q),y) < δ for some δ > 0 such that

Nδ(Ψn(q)) ⊂ P . Because δ > 0 and limn→∞ ρn = 0, there exists c ∈ N such that ρ2c+1 < δ2.

Since q ∈ B2n,4 and a = q2n−1, it follows from Lemma 7.2.11 that q +∑k

i=0 β2n+2i+1,a is a

boundary lattice point of P (2n + 2k + 2). To make the following expressions simpler, let

sk = q +∑k

i=0 β2n+2i+1,a. Because sk = q +∑k

i=0 β2n+2i+1,a ∈ P (2n + 2k + 1) as shown

in the previous paragraph and because sk is a boundary lattice point of P (2n + 2k + 2),

it follows from Lemma 7.2.12 that sk is also a boundary lattice point of P (2n + 2k + 1).

Hence there exists l ∈ 1, 2, 3, 4, 5, 6 such that sk + β2n+2k+1,l 6∈ P (2n + 2k + 1). Since

sk + β2n+2k+1,l ∈ L2n+2k+1, it follows that sk + β2n+2k+1,l 6∈ P2n+2k+1. By Corollary 7.2.10,

we have P ⊆ P2n+2k+1. It follows that sk + β2n+2k+1,l 6∈ P . Since Ψn(q) = q + 12β2n−1,a, we

have

Ψn(q)− sc = (q +1

2β2n−1,a)− (q +

c∑i=0

β2n+2i+1,a) =1

2β2n−1,a −

c∑i=0

1

3iβ2n+1,a.

It follows that d(sc, Ψn(q)) = ‖Ψn(q)−sc‖ = ‖12β2n−1,a−

∑ci=0

13i β2n+1,a‖ = ‖1

2β2n−1,a− 3

2(1−

13c+1 )β2n+1,a‖ = ‖1

2β2n−1,a− 1

2(1− 1

3c+1 )β2n−1,a‖ = ‖ 12(3c+1)

β2n−1,a‖ = 12(3c+1)

ρ2n−1 = 12ρ2n+2c+1.

129

Page 130: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

By the triangle inequality, we have

d(sc + β2n+2c+1,l, Ψn(q)) ≤ d(sc + β2n+2c+1,l, sc) + d(sc, Ψn(q)).

Since d(sc + β2n+2c+1,l, sc) = ‖β2n+2c+1,l‖ = ρ2n+2c+1 and since d(sc, Ψn(q)) = 12ρ2n+2c+1,

it follows that d(sc + β2n+2c+1,l, Ψn(q)) ≤ ρ2n+2c+1 + 12ρ2n+2c+1 < 2ρ2n+2c+1 = 2

3n ρ2c+1 ≤2ρ2c+1 < δ. Hence sc+β2n+2c+1,l ∈ Nδ(Ψn(q)) ⊆ P . This contradicts that sk+β2n+2k+1,l 6∈ Pfor any k ∈ N. Therefore Ψn(q) ∈ PB.

The next three lemmas will be applied in the proof of Lemma 7.2.20.

Lemma 7.2.16. Let n ∈ N and x,y ∈ P (2n). If both x and y are boundary lattice points

of P (2n) each having boundary index 2 or 4, then d(x,y) 6= ρ2n and d(x,y) 6= 2ρ2n.

Proof. Let x1x2...x2n−1x2n ∈ Λ2n and y1y2...y2n−1y2n ∈ Λ2n be the labels of x and y,

respectively. Since the boundary index of x is either 2 or 4, by Lemma 7.2.14, we have

x2n = 0. It follows that x ∈ P (2n− 1) ⊂ L2n−1. Similarly we have y ∈ L2n−1.

If d(x,y) = ρ2n, then x is next to y in the lattice L2n. It follows that x = y + z for

some z ∈ β2n. Since z = x − y and x,y ∈ L2n−1, we have z ∈ L2n−1

⋂β2n. However,

by Lemma 6.1.3, we have L2n−1

⋂β2n = ∅. It follows that z ∈ ∅ which is a contradiction.

Thus d(x,y) 6= ρ2n.

If d(x,y) = 2ρ2n, then ‖x− y‖ = 2ρ2n. Since L2n is a hexagonal lattice, it follows that

x − y = 2β2n,i for some i ∈ 1, 2, 3, 4, 5, 6. Hence x = y + 2β2n,i. By Table 6-2, we have

000i⊕000i = 0j0k ∈ Λ4 and k 6= 0. By applying Item 4 of Lemma 6.1.8 for 2n−4 times, it

follows that 00...000i⊕ 00...000i = 00...0j0k ∈ Λ2n. Hence β2n,i + β2n,i = β2n−2,j + β2n,k, i.e.,

2β2n,i = β2n−2,j + β2n,k. Since x = y + 2β2n,i, it follows that x = y + β2n−2,j + β2n,k. Hence

β2n,k = x − y − β2n−2,j. Because x,y ∈ L2n−1 and β2n−2,j ∈ L2n−2 ⊂ L2n−1, it follows that

β2n,k = x − y − β2n−2,j ∈ L2n−1. Since β2n,k ∈ β2n, it follows that β2n,k ∈ L2n−1

⋂β2n = ∅,

which is a contradiction. Thus d(x,y) 6= 2ρ2n.

130

Page 131: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Lemma 7.2.17. Let L be a hexagonal lattice with generators a and b such that ‖a‖ =

‖b‖ = r for some 0 < r ∈ R, and the angle between a and b is 2π3. If x ∈ L and

0 < ‖x‖ < r√

7, then either ‖x‖ = r or ‖x‖ = r√

3 or ‖x‖ = 2r.

Proof. Since x ∈ L and L is a hexagonal lattice with generators a and b, there exist

m,n ∈ Z such that x = ma + nb. Because ‖a‖ = ‖b‖ = r and the angle between a and b

is 2π3

, we have

‖x‖ = ‖ma + nb‖

=

√m2‖a‖2 + n2‖b‖2 + 2mn‖a‖ · ‖b‖cos(2π

3)

= r√

m2 + n2 −mn.

(7–11)

If m < 0 or n < 0, we can rotate x by 2π3

or 4π3

to obtain y = m2a + n2b so that m2 ≥ 0

and n2 ≥ 0. Without loss of generality, we assume that m,n ≥ 0. By the symmetry of m

and n in Equation 7–11, we also assume that m ≥ n.

If n = 0 or n = m, then ‖x‖ = rm. Since 0 < ‖x‖ < r√

7, it follows that 0 < m <√

7.

Because m ∈ Z, it follows that m = 1 or m = 2. Hence ‖x‖ = r or ‖x‖ = 2r.

Otherwise we have n ≥ 1 and m− n ≥ 1. Then we consider the following two cases.

Case 1: If m−n = 1, then m = n+1 and ‖x‖ = r√

n2 + n + 1. Since 0 < ‖x‖ < r√

7,

it follows that n2 + n + 1 < 7. Hence (n + 3)(n − 2) < 0. Because n > 0, it follows that

n− 2 < 0. Hence 1 ≤ n < 2. It follows that n = 1. Thus ‖x‖ = r√

3.

Case 2: If m − n ≥ 2, then m ≥ n + 2 and ‖x‖ = r√

m(m− n) + n2 ≥r√

(n + 2)2 + n2 = r√

n2 + 2n + 4. Since n ≥ 1, it follows that ‖x‖ = r√

7 which

contradicts the condition that 0 < ‖x‖ < r√

7.

Lemma 7.2.18. For any n ∈ N and x,y ∈ B2n,2

⋃B2n,4 with d(x,y) =√

3ρ2n, there exists

z ∈ P (2n) such that z is next to both x and y in the lattice L2n.

Proof. If n = 1, this lemma is true by the plot of lattice points of P (2) (Figure 6-2).

Assume this lemma is true for any n ≤ k for some k ∈ N. Now we show that it is also

131

Page 132: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

true when n = k + 1. Let the labels of x and y be x1x2...x2kx2k+1x2k+2 ∈ Λ2k+2 and

y1y2...y2ky2k+1y2k+2 ∈ Λ2k+2, respectively. Since x,y ∈ B2k+2,2

⋃B2k+2,4, by Lemma 7.2.14,

we have x2i = y2i = 0, x2i−1 6= 0, and y2i−1 6= 0 for any i satisfying 1 ≤ i ≤ k + 1.

Let q and r be lattice points of P (2k) whose labels are x1x2...x2k−1x2k ∈ Λ2k and

y1y2...y2k−1y2k ∈ Λ2k, respectively. Also let a = x2k+1 and b = y2k+1. By Item 1 of

Lemma 6.1.8, we have x1x2....x2k−1x2kx2k+1x2k+2 = x1x2...x2k−1x2k00 ⊕ 00...00x2k+1x2k+2.

Since x2k+1x2k+2 = a0, it follows that x = q + β2k+1,a. Similarly we have y = r + β2k+1,b.

Now we consider the following two cases.

Case 1: If q = r, then y = q + β2k+1,b. Hence x,y ∈ q + β2k+1. By Lemma 6.2.12,

we have q + β2k+1

⋃q + β2k+2 ∈ P (2k + 2). In Figure 6-5 of Chapter 6, the Voronoi cells

of lattice points in q + β2k+1 and q + β2k+2 are in blue and in green, respectively. Since

d(x,y) =√

3ρ2n =√

3ρ2k+2, as shown in that figure, there exists z ∈ q + β2k+2 such that z

is next to both x and y in the lattice L2k+2.

Case 2: If q 6= r, then we claim that d(q, r) =√

3ρ2k. By the triangle inequality, we

have

d(q, r) ≤ d(q,q + β2k+1,a) + d(q + β2k+1,a, r + β2k+1,b) + d(r + β2k+1,b, r)

= ‖(q + β2k+1,a)− q‖+ d(x,y) + ‖r− (r + β2k+1,b)‖

= ‖β2k+1,a‖+ d(x,y) + ‖β2k+1,b‖

= ρ2k+1 + d(x,y) + ρ2k+1

= d(x,y) + 2ρ2k+1.

(7–12)

Hence d(x,y) ≥ d(q, r) − 2ρ2k+1. Suppose d(q, r) ≥ 2ρ2k. Then d(x,y) ≥ 2ρ2k − 2ρ2k+1 =

6ρ2k+2 − 2√

3ρ2k+2 = 2√

3(√

3 − 1)ρ2k+2 >√

3ρ2k+2 which contradicts the condition that

d(x,y) =√

3ρ2n. Thus d(q, r) < 2ρ2k. Since q 6= r and since d(q, r) < 2ρ2k <√

7ρ2k,

by Lemma 7.2.17, we have either d(q, r) = ρ2k or d(q, r) =√

3ρ2k. Because x,y ∈B2k+2,2

⋃B2k+2,4, by Lemma 6.2.14, q and r are boundary lattice points of P (2k). Since

132

Page 133: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

x2k = 0, by Lemma 6.2.16, the boundary index of q is either 2 or 4. So is the boundary

index of r. Hence, by Lemma 7.2.16, d(q, r) 6= ρ2k. Thus d(q, r) =√

3ρ2k.

−25 −20 −15 −10 −5 0 5−15

−10

−5

0

5

10

15

Q R

S

−25 −20 −15 −10 −5 0 5−15

−10

−5

0

5

10

15

Q R

S

X Y Z

(a) (b)

Figure 7-7. For any two hexagons of P(2k+2) each having boundary index 2 or 4 such thatthe distance between them is ρ2k+2, there exists a hexagon of P(2k+2) that isnext to both of them, where Q, R and S are hexagons of P (2k). (a) Thehexagon S is next to Q and R, and its centroid lies below the line connectingthe centroids of Q and R. (b) shows that, for any two blue hexagons ofP(2k+2) (each having boundary index 2 or 4) such that the distance betweenthem is ρ2k+2, there exists a hexagon of P(2k+2) that is next to these two bluehexagons.

Since d(q, r) =√

3ρ2k, by the induction assumption, there exists s ∈ P (2k) such

that s is next to both q and r in the lattice L2k. Because ‖r − q‖ = d(q, r) =√

3ρ2k and

r−q ∈ L2k, we have r−q = β2k−1,j for some j ∈ 1, 2, 3, 4, 5, 6. By Lemma 6.2.15, we can

rotate the vectors q, r, and s by an angle of − jπ3

or − jπ3

+ π so that the line connecting

q and r is horizontal. Hence we assume that the line connecting q and r is horizontal and

the Voronoi cells Q, R, and S of q, r, and s are as shown in Figure 7-7 (a), where the

Voronoi cells Q and R are in black and the Voronoi cell S is dashed. Since q, r, s ∈ P (2k),

by Lemma 6.2.12, it follows that all blue, green and red hexagons are Voronoi cells of

P (2k + 2). Since x = q + β2k+1,a and y = r + β2k+1,b, the Voronoi cell of x ∈ P (2k + 2)

is one of the blue hexagons overlapping Q and the Voronoi cell of y ∈ P (2k + 2) is one of

the blue hexagons overlapping R. Because d(x,y) =√

3ρ2k+2, the Voronoi cells X and Y

of x ∈ P (2k + 2) and y ∈ P (2k + 2) must be as shown in Figure 7-7 (b). Let z be a lattice

133

Page 134: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

point of P (2k + 2) whose Voronoi cell Z is shown in Figure 7-7 (b). Then z is next to both

x and y.

To simplify the proof of Lemma 7.2.20, we need the following lemma.

Lemma 7.2.19. Let n ∈ N and x,y ∈ B2n,4. If R is the rotation of R2 by an angle of kπ3

about the origin for some k ∈ Z, then R(x), R(y) ∈ B2n,4 and d(Ψn(R(x)), Ψn(R(y))) =

d(Ψn(x), Ψn(y)).

Proof. Since x,y ∈ B2n,4, by Lemma 6.2.15, we have R(x), R(y) ∈ B2n,4.

Let x1x2...x2n−1x2n ∈ Λ2n, y1y2...y2n−1y2n ∈ Λ2n, x1x2...x2n−1x2n ∈ Λ2n and

y1y2...y2n−1y2n ∈ Λ2n be the labels of x, y, R(x) and R(y), respectively. Also let a = x2n−1,

b = y2n−1, c = x2n−1, and d = y2n−1. By the definition of Ψn, we have Ψn(x) = x+ 12β2n−1,a,

Ψn(y) = y + 12β2n−1,b, Ψn(R(x)) = R(x) + 1

2β2n−1,c, Ψn(R(y)) = R(y) + 1

2β2n−1,d.

Since x1x2...x2n−1x2n is the label of x, we have x =∑2n

i=1 βi,xi. Hence

R(x) =2n∑i=1

R(βi,xi). (7–13)

For any i satisfying 1 ≤ i < 2n, by Item 1 of Corollary 6.1.7, we have either xi = 0 or

xi+1 = 0. Hence either βi,xi= 0 or βi+1,xi+1

= 0. Since R is the rotation of R2 about

the origin, it follows that either R(βi,xi) = 0 or R(βi+1,xi+1

) = 0. For each i satisfying

1 ≤ i ≤ 2n, if βi,xi6= 0, then βi,xi

∈ βi. Because R is the rotation of R2 by an angle of

kπ3

about the origin for some integer k, it follows that R(βi,xi) ∈ βi. Thus R(βi,xi

) ∈ βi for

each i satisfying 1 ≤ i ≤ 2n. Hence Equation 7–13 is the standard expression of R(x) in

P (2n). Since x1x2...x2n−1x2n ∈ Λ2n is the label of R(x), the Equation

R(x) =2n∑i=1

βi,xi. (7–14)

is also the standard expression of R(x) in P (2n). By Theorem 6.1.6 for the unique

standard expression, it follows from Equation 7–13 and Equation 7–14 that R(βi,xi) = βi,xi

for each i satisfying 1 ≤ i ≤ 2n. Hence R(β2n−1,a) = β2n−1,c. Since Ψn(R(x)) =

134

Page 135: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

R(x) + 12β2n−1,c, it follows that

Ψn(R(x)) = R(x) +1

2R(β2n−1,a) = R(x +

1

2β2n−1,a) = R(Ψn(x)).

For a similar reason, we have

Ψn(R(y)) = R(y) +1

2R(β2n−1,b) = R(y +

1

2β2n−1,b) = R(Ψn(y)).

Therefore

d(Ψn(R(x)), Ψn(R(y))) = d(R(Ψn(x)), R(Ψn(y))) = d(Ψn(x), Ψn(y)).

The next lemma will be used to show that Ψn is a one to one map and to obtain the

fractal dimension of PB.

Lemma 7.2.20. For any n ∈ N and x,y ∈ B2n,4 with x 6= y, we have d(Ψn(x), Ψn(y)) >

3ρ2n+1.

Proof. Let x1x2...x2n−1x2n ∈ Λ2n and y1y2...y2n−1y2n ∈ Λ2n be the labels of x and y,

respectively. Since x,y ∈ B2n,4, by Lemma 7.2.14, we have x2i−1 6= 0, y2i−1 6= 0, and

x2i = y2i = 0 for each i = 1, 2, ..., n. By the definition of Ψn, we have Ψn(x) = x + 12β2n−1,a

with a = x2n−1, and Ψn(y) = y + 12β2n−1,b with b = y2n−1. If n = 1, let q = r = 0. If

n > 1, let q and r be the lattice points of P (2n − 2) which are labeled x1x2...x2n−2 and

y1y2...y2n−2, respectively. Since x2n−1 = a and y2n−1 = b, we have x = q + β2n−1,a and

y = r + β2n−1,b. Hence we have

Ψn(x) = x +1

2β2n−1,a = q + β2n−1,a +

1

2β2n−1,a = q +

3

2β2n−1,a (7–15)

and

Ψn(y) = y +1

2β2n−1,b = r + β2n−1,b +

1

2β2n−1,b = r +

3

2β2n−1,b. (7–16)

135

Page 136: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Now we consider the following two cases.

Case 1: If q = r, since x 6= y, we have x2n−1 6= y2n−1, i.e., a 6= b. It follows

that β2n−1,a and β2n−1,b are two different lattice points of the lattice L2n−1. Hence

d(β2n−1,a, β2n−1,a) ≥ ρ2n−1. Since q = r, it follows that d(Ψn(x), Ψn(y)) = d(q+ 32β2n−1,a, r+

32β2n−1,b) = d(3

2β2n−1,a,

32β2n−1,b) = 3

2d(β2n−1,a, β2n−1,b) ≥ 3

2ρ2n−1 = 9

2ρ2n+1 > 3ρ2n+1.

Case 2: If d(q, r) ≥ √7ρ2n−2, then by Equations 7–15 and 7–16, we have

d(Ψn(x), Ψn(y)) = d(q +3

2β2n−1,a, r +

3

2β2n−1,b) (7–17)

By the triangle inequality and Equation 7–17, we have

d(q, r) ≤ d(q,q +3

2β2n−1,a) + d(q +

3

2β2n−1,a, r +

3

2β2n−1,b) + d(r +

3

2β2n−1,b, r)

= ‖(q +3

2β2n−1,a)− q‖+ d(Ψn(x), Ψn(y)) + ‖r− (r +

3

2β2n−1,b)‖

= ‖3

2β2n−1,a‖+ d(Ψn(x), Ψn(y)) + ‖3

2β2n−1,b‖

=3

2ρ2n−1 + d(Ψn(x), Ψn(y)) +

3

2ρ2n−1

= d(Ψn(x), Ψn(y)) + 3ρ2n−1.

(7–18)

It follows from Equation 7–18 that d(Ψn(x), Ψn(y)) ≥ d(q, r) − 3ρ2n−1. Since d(q, r) ≥√

7ρ2n−2, it follows that d(Ψn(x), Ψn(y)) ≥ √7ρ2n−2 − 3ρ2n−1 = 3

√7ρ2n − 3

√3ρ2n. Since

ρ2n =√

3ρ2n+1, it follows that d(Ψn(x), Ψn(y)) ≥ 3√

21ρ2n+1 − 9ρ2n+1 = 3(√

21− 3)ρ2n+1 >

3ρ2n+1.

Case 3: If q 6= r and d(q, r) <√

7ρ2n−2, then 0 < ‖q − r‖ <√

7ρ2n−2. By

Lemma 7.2.17, it follows that either ‖q − r‖ = ρ2n−2 or ‖q − r‖ =√

3ρ2n−2 or ‖q − r‖ =

2ρ2n−2. Hence either d(q, r) = ρ2n−2 or d(q, r) =√

3ρ2n−2 or d(q, r) = 2ρ2n−2.

Since x and y are boundary lattice points of P (2n), by Lemma 6.2.14, q and r are

boundary lattice points of P (2n − 2). Because the label of q is x10x30...x2n−30 ∈ Λ2n−2

and x2n−3 6= 0, by Lemma 6.2.16, the boundary index of q is either 2 or 4. For a similar

reason, the boundary index of r is either 2 or 4 as well. Hence, by Lemma 7.2.16, we

have d(q, r) 6= ρ2n−2 and d(q, r) 6= 2ρ2n−2. Therefore d(q, r) =√

3ρ2n−2. Since q, r ∈

136

Page 137: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

B2n−2,2

⋃B2n−2,4, by Lemma 7.2.18, it follows that there exists s ∈ P (2n − 2) such that s

is next to both q and r in the lattice L2n−2. Because q, r ∈ P (2n − 2) ⊂ L2n−2, we have

r − q ∈ L2n−2. Since ‖r − q‖ = d(q, r) =√

3ρ2n−2, it follows that the angle between the

vector r − q and the positive x-axis is jπ3

for some j ∈ Z. After the lattice points x, y, q

and r are rotated by − jπ3

about the origin, the vector r − q is horizontal. If s lies above

the line connecting q and r, then we continue to rotate those lattice points by π about the

origin so that s lies below the line connecting q and r. By Lemma 7.2.19, for any rotation

R of R2 by kπ3

for some k ∈ Z, we have

d(Ψn(R(x)), Ψn(R(y))) = d(Ψn(x), Ψn(y)).

Hence, without loss of generality, we assume that the vector r − q is horizontal and s lies

below the line connecting q and r as shown in Figure 7-8. By Equations 7–15 and 7–16,

we have

d(Ψn(x), Ψn(y)) = d(q +3

2β2n−1,a, r +

3

2β2n−1,b)

= ‖r− q +3

2(β2n−1,b − β2n−1,a)‖.

(7–19)

By the symmetry of q and r in Equation 7–19, without loss of generality, we also assume

that q lies to the left side of r as shown in Figure 7-8. Then the two vectors r − q and

β2n−1,6 have the same direction. Because ‖r − q‖ = d(q, r) =√

3ρ2n−2 = 3ρ2n−1 =

3‖β2n−1,6‖, it follows that

r− q = 3β2n−1,6. (7–20)

Since q, r, s ∈ P (2n− 2), by Lemma 6.2.12, it follows that all blue, green and red hexagons

in Figure 7-8 are Voronoi cells of P (2n). Because x ∈ B2n,4, the boundary index of x is 4.

Referring to Figure 7-8, since x = q + β2n−1,a, it follows that a ∈ 1, 2, 3, 4. Similarly,

because y ∈ B2n,4, we have b ∈ 1, 2, 5, 6. By combining Equations 7–19 and 7–20, we

137

Page 138: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

have

d(Ψn(x), Ψn(y)) = ‖3β2n−1,6 +3

2(β2n−1,b − β2n−1,a)‖

=3

2‖2β2n−1,6 + β2n−1,b − β2n−1,a‖.

(7–21)

−25 −20 −15 −10 −5 0 5−15

−10

−5

0

5

10

15

q

q+β2n−1,1

q+β2n−1,2

q+β2n−1,3

q+β2n−1,4

r

r+β2n−1,1

r+β2n−1,2

r+β2n−1,6

r+β2n−1,5

s

Figure 7-8. The lattice points q, r, s∈ P (2n− 2) and the lattice points in q + β2n,r + β2n, and s + β2n, where s is next to both q and r in the lattice L2n−2.

If a = b, then Equations 7–21 becomes

d(Ψn(x), Ψn(y)) =3

2‖2β2n−1,6‖ = 3‖β2n−1,6‖ = 3ρ2n−1 = 9ρ2n+1 > 3ρ2n+1.

If β2n−1,b = −β2n−1,a, then Equations 7–21 becomes

d(Ψn(x), Ψn(y)) =3

2‖2β2n−1,6 − 2β2n−1,a‖ = 3‖β2n−1,6 − β2n−1,a‖. (7–22)

Since β2n−1,6, β2n−1,a ∈ L2n−1, we have β2n−1,6 − β2n−1,a ∈ L2n−1. Because a 6= 6, β2n−1,6 −β2n−1,a 6= 0. Hence 0 6= β2n−1,6−β2n−1,a ∈ L2n−1. It follows that ‖β2n−1,6−β2n−1,a‖ ≥ ρ2n−1.

Then by Equation 7–22 we have d(Ψn(x), Ψn(y)) ≥ 3ρ2n−1 = 9ρ2n+1 > 3ρ2n+1.

If a 6= b and β2n−1,b 6= −β2n−1,a, then the two vectors β2n−1,a and β2n−1,b are not

parallel. Since ‖β2n−1,a‖ = ‖β2n−1,b‖ = ρ2n−1, it follows that ‖β2n−1,a − β2n−1,b‖ < 2ρ2n−1.

However ‖2β2n−1,6‖ = 2ρ2n−1. Hence 2β2n−1,6 6= β2n−1,a − β2n−1,b, i.e., 2β2n−1,6 + β2n−1,b −

138

Page 139: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

β2n−1,a 6= 0. Because β2n−1,a, β2n−1,b, β2n−1,6 ∈ L2n−1 and L2n−1 is a lattice, we have

2β2n−1,6 +β2n−1,b−β2n−1,a ∈ L2n−1. Thus 0 6= 2β2n−1,6 +β2n−1,b−β2n−1,a ∈ L2n−1. It follows

that

‖2β2n−1,6 + β2n−1,b − β2n−1,a‖ ≥ ρ2n−1.

Therefore, by Equation 7–21, we have d(Ψn(x), Ψn(y)) ≥ 32ρ2n−1 = 9

2ρ2n+1 > 3ρ2n+1.

The next corollary follows directly from Lemma 7.2.20.

Corollary 7.2.21. For any n ∈ N, Ψn is a one to one map from B2n,4 to PB.

Theorem 7.2.22. The fractal dimension of PB is ln 4ln 3

, where PB is the boundary of the

limit of the Pyxis structure.

Proof. For any n ∈ N, let εn = 32ρ2n+1. Since ρ2n+1 = 1

3n ρ1, we have εn = Crn where

C = 3ρ1

2and r = 1

3. By Lemma 7.2.7, PB can be covered by those closed balls with radius

εn and centered at boundary lattice points of P (2n). By Lemma 7.2.3, it follows that

N (PB, εn) ≤ 4n+1 − 4, where N (PB, εn) is the smallest number of closed balls of radius εn

needed to cover PB.

Recall that B2n,4 is the set consisting of boundary lattice points of P (2n) each having

boundary index 4. Let B2n,4 = Ψn(q) : q ∈ B2n,4. By Corollary 7.2.21, the map Ψn is

one to one. It follows that |B2n,4| = |B2n,4|. By Lemma 7.2.3, we have |B2n,4| = 4n + 2.

Hence |B2n,4| = 4n + 2. By Lemma 7.2.20, for any x,y ∈ B2n,4 with x 6= y, we have

d(Ψn(x), Ψn(y)) > 3ρ2n+1 = 2εn. Since |B2n,4| = 4n+2, it follows that N (B2n,4, εn) ≥ 4n+2,

where N (B2n,4, εn) is the smallest number of closed balls of radius εn needed to cover B2n,4.

By Lemma 7.2.15, we have B2n,4 ⊆ PB. It follows that N (B2n,4, εn) ≤ N (PB, εn). Hence

N (PB, εn) ≥ 4n + 2.

We have shown that 4n + 2 ≤ N (PB, εn) ≤ 4n+1 − 4 for any n ∈ N. It follows that

ln(4n + 2)

ln(1/εn)≤ ln(N (PB, εn))

ln(1/εn)≤ ln(4n+1 − 4)

ln(1/εn). (7–23)

139

Page 140: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

Since εn = Crn = C3n , we have

limn→∞

ln(4n + 2)

ln(1/εn)= lim

n→∞ln(4n + 2)

ln(3n/C)= lim

n→∞n ln 4 + ln(1 + 2(4−n))

n ln 3− ln C=

ln 4

ln 3.

Similarly we can show that limn→∞ln(4n+1−4)

ln(1/εn)= ln 4

ln 3. Hence, by Inequality 7–23, we have

limn→∞

ln(N (PB, εn))

ln(1/εn)=

ln 4

ln 3.

By Theorem 7.2.1, it follows that the fractal dimension of PB is ln 4ln 3

.

140

Page 141: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

CHAPTER 8SUMMARY OF THIS RESEARCH

We have provided a systematic mathematical theory for computing the DFT on

a lattice and studied the DFT on some important hexagonal array structures such as

the regular hexagonal structure and the Pyxis structure. It is shown that each array of

the type A (type B) RHS is a set of coset representatives of the quotient group of two

hexagonal lattices. Hence the DFT on such an array is amenable to the standard DFT.

We developed an efficient method for computing the DFT on these arrays and have shown

the relation between these arrays and some previously studied hexagonal arrays.

The Pyxis structure consists of a sequence of hexagonal arrays with a scheme for

labeling the lattice points of the arrays. It originated with PYXIS Innovation Inc. and

is applied in a digital earth reference model (Zheng et al. [50]). Developing algebra and

DFT for the Pyxis structure, computing the fractal dimension of the Pyxis structure, and

developing algorithms for the addition of Pyxis labels are research topics proposed by

the Pyxis Innovation Inc. We have provided a recursive definition of the Pyxis structure

and an algebraic method to label the lattice points of the Pyxis structure. Based on the

recursive definition and labeling of the Pyxis structure, we have developed an algorithm

with computational complexity of order n to add any two labels of length n. Also we

have shown that P (n), the nth level of the Pyxis structure, does not tile the underlying

hexagonal lattice by translations by a sublattice for any n > 2. Hence the DFT on P (n)

can not be evaluated using the method in Chapter 2. Furthermore, we have shown that

the limit of the Pyxis structure in the space of non empty compact subsets of the two

dimensional Euclidean space with Hausdorff metric exists, and the fractal dimension of its

boundary is ln 4ln 3

.

The methods for computing the DFT on hexagonal arrays developed in this research

can be applied to many general periodically sampled images. As shown in Wikipedia [45],

the DFT is widely employed in signal processing and related fields to analyze the

141

Page 142: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

frequencies contained in a sampled signal, to solve partial differential equations, and

to perform other operations such as convolutions. Since hexagonal grids have some

advantages over the usual square grids in several application domains, our research has

promising applications.

142

Page 143: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

REFERENCES

[1] J. D. Allen/Signal Solutions Unltd, “Filter banks for images on hexagonal grid,”2003. http://james.fabpedigree.com/hexim1.htm (accessed Aug. 20, 2007).

[2] E. Anterrieu, P. Waldteufel, and A. Lannes, “Apodization functions for 2-Dhexagonally sampled synthetic aperture imaging radiometers,” IEEE Transactionson Geoscience and Remote Sensing, Vol. 40, No. 12, p. 2531, 2002.

[3] B. Balasubramaniyam, E. A. Edirisinghe, and H. E. Bez, “Fractal image coding inhexagonal grid images,” Proceedings of the 24th IASTED International Conferenceon Internet and Multimedia Systems and Applications, p. 67, 2006.

[4] M. Barnsley, Fractals Everywhere, Academic Press, San Diego, 1988.

[5] A. Camps, J. Bara, I. Corbella, F. Torres, “The processing of hexagonally sampledsignals with standard rectangular techniques: Application to 2-D large aperturesynthesis interferometric radiometers,” IEEE Transactions on Geoscience andRemote Sensing, Vol. 35, No. 1, p. 183, 1997.

[6] D. B. Carr, A. R. Olsen, and D. White, “Hexagon mosaic maps for the displayof univariate and bivariate geographical data,” Cartography and GeographicInformation Systems, Vol. 19, p.228, 1992.

[7] T. W. S. Cassels, An Introduction to the Geometry of Numbers, Springer-Verlag,Berlin, 1959.

[8] M. Cartwright, Fourier Methods for Mathematicians, Scientists and Engineers, EllisHorwood Limited, 1990.

[9] J. H. Conway and N. J. A. Sloane, Sphere Packings, Lattices, and Groups,Springer-Verlag, New York, NY, 1988.

[10] D. E. Dudgeon and R. M. Mersereau, Multidimensional Digital Signal Processing,Prentice Hall: Englewood Cliffs, NJ, 1984.

[11] C. F. Dunkl, “Orthogonal polynomials on the hexagon,” Siam J. Appl. Math.,Vol.47, No.2, p. 343, 1987.

[12] J. C. Ehrhardt, “Hexagonal fast Fourier transform with rectangular output,” IEEETransactions on Signal Processing, Vol. 41, p. 1469, 1993.

[13] K. Falconer, Fractal Geometry, John Wiley, Chichester, 1990.

[14] A. P. Fitz and R. J. Green, “Fingerprint classification using a hexagonal fast Fouriertransform,” Pattern Recognition, Vol. 29, p. 1587, 1996.

[15] M. Frigo and S. G. Johnson, “FFTW,” Jun. 2006, Massachusetts Institute ofTechnology. www.fftw.org/fftw3.pdf (accessed Aug. 20, 2007).

143

Page 144: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

144

[16] L. Gibson and D. Lucas, “Vectorization of raster images using hierarchicalmethods”, Computer Graphics and Image Processing, Vol. 20, p. 82, 1982.

[17] L. Ginson and D. Lucas, “Spatial data processing using generalized balancedternary,” Proceedings of the IEEE Computer Society Conference on PatternRecognition and Image Processing, IEEE Computer Society, p. 566, 1982.

[18] A. M. Grigoryan, “Efficient algorithms for computing the 2-D hexagonal Fouriertransforms,” IEEE Transactions on Signal Processing, Vol. 50, p. 1438, 2002.

[19] A. Guessoum and R. M. Mersereau, “Fast algorithms for the multidimensionaldiscrete Fourier transform,” IEEE Transactions on Acoustics, Speech, and SignalProcessing, ASSP-34, p. 937, 1986.

[20] G. Jurasinski and C. Beierkuhnlein, “Spatial patterns of biodiversity-assessingvegetation using hexagonal grids,” Biology and Environment: Proceedings of theRoyal Irish Academy, Vol. 106B, No. 3, p. 401, 2006.

[21] W. Z. Kitto, A. Vince and, D. C. Wilson, “An isomorphism theorem between thep-adic integers and a ring associated with a tiling of N -space by permutohedra,”Discrete Applied Math., Vol. 52, p. 39, 1994.

[22] W. Z. Kitto and, D. C. Wilson, “An isomorphism theorem between the 7-adicintegers and a ring associated with a hexagonal lattice,” Applied Algebra inEngineering, Communication, and Computing, Vol. 2, p. 105, 1991.

[23] C. V. Loan, Computational Frameworks for the Fast Fourier Transform,Philadelphia, PA: SIAM, 1992.

[24] D. Lucas, “A multiplication in N -space,” Proceedings of the American MathematicalSociety, Vol. 74, p. 1, 1979.

[25] B. B. Mandelbrot, The Fractal Geometry of Nature, W.H. Freeman and Co, 1983.

[26] R. M. Mersereau, “The processing of hexagonally sampled two-dimensional signals,”Proceedings of the IEEE, Vol. 67, p. 930, 1979.

[27] R. M. Mersereau and T. C. Speake, “A united treatment of Cooley-Tukey algorithmsfor the evaluation of the multidimensional DFT,” IEEE Transactions on Acoustics,Speech, and Signal Processing, ASSP-29, p. 1011, 1983.

[28] R. M. Mersereau and T. C. Speake, “The processing of periodically sampledmultidimensional signals,” IEEE Transactions on Acoustics, Speech, and SignalProcessing, ASSP-31, p. 188,1983.

[29] L. Middleton and J. Sivaswamy, “The FFT in a hexagonal-image processingframework,” Proceedings of Image and Vision Computing, New Zealand, p. 231,2001.

Page 145: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

145

[30] L. Middleton and J. Sivaswamy, Hexagonal Image Processing, Springer Verlag,London, 2005.

[31] C. Moler and S. Eddins/The MathWorks Inc., “Faster Fouriertransforms MATLAB 6 incorporates FFTW,” 1994-2007.www.mathworks.com/company/newsletters/news notes/clevescorner/winter01 cleve.html(accessed Aug. 20, 2007).

[32] F. Morgan and R. Bolton, “Hexagonal economic regions solve the location problem,”Amer. Math. Monthly, Vol. 109, p. 165, 2002.

[33] P. Peterson, Close-packed, Uniformly Adjacent, Multiresolutional, OverlappingSpatial Data Ordering, International Patent Application, the Pyxis Innovation Inc.,Kingston, Ontario, Canada, 2003.

[34] M. A. Pinsky, Introduction to Fourier Analysis and Wavelets, Brooks/Cole, 2002.

[35] C. M. Rader, “Discrete Fourier transforms when the number of data samples isprime,” proceedings of the IEEE, p. 1107, 1968.

[36] R. W. Ramirez, The FFT Fundamentals and Concepts, Englewood Cliffs, NJ:Prentice-Hall, 1985.

[37] K. Sahr, D. White, and A. J. Kimerling, “Geodesic discrete global grid systems,”Cartography and Geographic Information Science, Vol. 30, No. 2, p. 121, 2003.

[38] R. C. Staunton and N. Storey, “A comparison between square and hexagonalsampling methods for pipeline image processing,” Proc SPIE, Vol. 1194, p. 142,1989.

[39] R. Strand, “Using the hexagonal grid for three-dimensional images: Direct Fouriermethod reconstruction and weighted distance transform,” 18th InternationalConference on Pattern Recognition (ICPR’06),p. 1169, 2006.

[40] J. Sun, and J. Yao, “A fast algorithm of discrete generalized Fourier transforms onhexagon domains,” Chinese Journal of Numerical Mathematics and Applications,Vol. 26, No. 4, p. 70, 2004.

[41] R. Tolimieri, M. An, and C. Lu, Mathematics of Multidimensional Fourier Trans-form Algorithms, Springer-Verlag, New York, 1997.

[42] K. T. Tytkowski, “Hexagonal raster for computer graphics,” Proceedings of the24th IASTED International Conference on Internet and Multimedia Systems andApplications, p. 67, 2006.

[43] A. Vince, “Replicating tessellations,” Siam J. Discrete Math., Vol. 6, p. 501, 1993.

[44] A. Vince and X. Zheng, “Computing the discrete Fourier transform on a lattice,”Journal of Mathematical Imaging and Vision, to appear in Vol. 28, No. 2, 2007.

Page 146: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

146

[45] Wikipedia, “The Discrete Fourier Transform,” Aug. 2006.http://en.wikipedia.org/wiki/Discrete Fourier transform (accessed Aug. 20, 2007).

[46] X. G. Xia, and B. W. Suter, “Construction of Malvar wavelets on hexagons,” Appl.Comput. Hamonic Anal., Vol. 2, p. 65, 1996.

[47] J. L. Zapata, “The generalized matrix prodict and fast Fourier transform forpermutohedral aggregates,” PhD Dissertation of University of Florida, May 2000.

[48] J. L. Zapata and G. X. Ritter, “Fast Fourier transform for hexagonal aggregates,”Journal of Mathematical Imaging and Vision, Vol. 12, p. 183, 2000.

[49] R. Zbikowski, “Fly like a fly: The common housefly executes exquisitely precise andcomplex aerobatics with less computational might than an electric toaster,” IEEESpectrum, Vol. 42, p. 46, 2005.

[50] X. Zheng, A. Vince, G. Ritter, and D. Wilson, “Arithmetic and Efficient FourierTransform for a Uniform and Multiresolutional Earth Model,” to appear in theProceeding of the Fifth International Symposium on Digital Earth, June 2007.

[51] H. Zhu and G. X. Ritter, “The p-product and its applications in signal processing,”SIAM Journal of Matrix Analysis and Applications, Vol. 16, p. 579, 1995.

Page 147: EFFICIENT FOURIER TRANSFORMS ON HEXAGONAL ARRAYS By XIQIANG ZHENG A

BIOGRAPHICAL SKETCH

Xiqiang Zheng was born in Jiangxi Province of China. He received his Master of

Science in mathematics from Jiangxi University in January of 1991. From 1991 to 1999,

he taught at Nanchang Institute of Aeronautical Technology, China. Before he came to

University of Florida for his PhD degree, he studied at Bowling Green State University

for one year. He will receive his PhD degree on applied mathematics in December of 2007

and his research interests include applied mathematics, image processing, and pattern

recognition.

147