fast multipole method - math.ucdavis.edu

103
Fast Multipole Method MAT 280: Laplacian Eigenfunctions Xiaodong Xue Department of Mathematics University of California, Davis May 25, 2007 [email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 1 / 47

Upload: others

Post on 30-Nov-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fast Multipole Method - math.ucdavis.edu

Fast Multipole MethodMAT 280: Laplacian Eigenfunctions

Xiaodong Xue

Department of MathematicsUniversity of California, Davis

May 25, 2007

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 1 / 47

Page 2: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 2 / 47

Page 3: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 3 / 47

Page 4: Fast Multipole Method - math.ucdavis.edu

Motivations

Why to Use Fast Multipole Method?• The integral kernel which commute with the Laplacian operator is

k(x, y) = − 12π

log ‖x − y‖2, x, y ∈ R2.

• The eigenvalue problem∫Ω

k(x, y)φ(y) dy = µφ(x), x ∈ Ω ⊂ R2.

• In terms of matrix,Kφ = µφ,

where Ki,j = − 12π

log ‖xi − xj‖2, and φ can be considered as avector of charge strengths at points xi, i = 1, 2, . . . .

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 4 / 47

Page 5: Fast Multipole Method - math.ucdavis.edu

Motivations

Why to Use Fast Multipole Method?• The integral kernel which commute with the Laplacian operator is

k(x, y) = − 12π

log ‖x − y‖2, x, y ∈ R2.

• The eigenvalue problem∫Ω

k(x, y)φ(y) dy = µφ(x), x ∈ Ω ⊂ R2.

• In terms of matrix,Kφ = µφ,

where Ki,j = − 12π

log ‖xi − xj‖2, and φ can be considered as avector of charge strengths at points xi, i = 1, 2, . . . .

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 4 / 47

Page 6: Fast Multipole Method - math.ucdavis.edu

Motivations

Why to Use Fast Multipole Method?• The integral kernel which commute with the Laplacian operator is

k(x, y) = − 12π

log ‖x − y‖2, x, y ∈ R2.

• The eigenvalue problem∫Ω

k(x, y)φ(y) dy = µφ(x), x ∈ Ω ⊂ R2.

• In terms of matrix,Kφ = µφ,

where Ki,j = − 12π

log ‖xi − xj‖2, and φ can be considered as avector of charge strengths at points xi, i = 1, 2, . . . .

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 4 / 47

Page 7: Fast Multipole Method - math.ucdavis.edu

Motivations . . .

Why to Use Fast Multipole Method? . . .• Eigenvalue problem Kφ = µφ needs a fast routine to compute

matrix vector product.

• FMM supplies a fast approximation algorithm. Its accuracy isguaranteed by analytic consideration.

• FMM is insensitive to the distribution of the sampling data.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 5 / 47

Page 8: Fast Multipole Method - math.ucdavis.edu

Motivations . . .

Why to Use Fast Multipole Method? . . .• Eigenvalue problem Kφ = µφ needs a fast routine to compute

matrix vector product.

• FMM supplies a fast approximation algorithm. Its accuracy isguaranteed by analytic consideration.

• FMM is insensitive to the distribution of the sampling data.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 5 / 47

Page 9: Fast Multipole Method - math.ucdavis.edu

Motivations . . .

Why to Use Fast Multipole Method? . . .• Eigenvalue problem Kφ = µφ needs a fast routine to compute

matrix vector product.

• FMM supplies a fast approximation algorithm. Its accuracy isguaranteed by analytic consideration.

• FMM is insensitive to the distribution of the sampling data.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 5 / 47

Page 10: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 6 / 47

Page 11: Fast Multipole Method - math.ucdavis.edu

log ‖x − y‖2 and Potential

Definition (Potential)Suppose that a point charge of unit strength is located at point(x0, y0) = x0 ∈ R2. Then, for any x = (x, y) ∈ R2 with x 6= x0, thepotential due to this charge is described by

φx0(x, y) = − log(‖x − x0‖2). (1)

Fact 1Let z = x + iy, z0 = x0 + iy0 ∈ C. We have φx0(x) = Re(− log(z − z0)).

Fact 2

log(1 − w) = −∞∑

k=1

wk

k,

which is valid for any w ∈ C with |w| < 1.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 7 / 47

Page 12: Fast Multipole Method - math.ucdavis.edu

log ‖x − y‖2 and Potential

Definition (Potential)Suppose that a point charge of unit strength is located at point(x0, y0) = x0 ∈ R2. Then, for any x = (x, y) ∈ R2 with x 6= x0, thepotential due to this charge is described by

φx0(x, y) = − log(‖x − x0‖2). (1)

Fact 1Let z = x + iy, z0 = x0 + iy0 ∈ C. We have φx0(x) = Re(− log(z − z0)).

Fact 2

log(1 − w) = −∞∑

k=1

wk

k,

which is valid for any w ∈ C with |w| < 1.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 7 / 47

Page 13: Fast Multipole Method - math.ucdavis.edu

log ‖x − y‖2 and Potential

Definition (Potential)Suppose that a point charge of unit strength is located at point(x0, y0) = x0 ∈ R2. Then, for any x = (x, y) ∈ R2 with x 6= x0, thepotential due to this charge is described by

φx0(x, y) = − log(‖x − x0‖2). (1)

Fact 1Let z = x + iy, z0 = x0 + iy0 ∈ C. We have φx0(x) = Re(− log(z − z0)).

Fact 2

log(1 − w) = −∞∑

k=1

wk

k,

which is valid for any w ∈ C with |w| < 1.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 7 / 47

Page 14: Fast Multipole Method - math.ucdavis.edu

log ‖x − y‖2 and Potential . . .

LemmaLet a point charge of strength q be located at z0. Then for any z suchthat |z| > |z0|,

φz0(z) = q log(z − z0) = q

(log z −

∞∑k=1

1k

(z0

z

)k)

. (2)

Notice:Given a set of particles S = z1, z2, . . . , zm and their strengthsq1, q2, · · · , qm, then the potential at z due to the set S will be

φ(z) =m∑

i=1

φzi(z) =m∑

i=1

qi log(z − zi).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 8 / 47

Page 15: Fast Multipole Method - math.ucdavis.edu

log ‖x − y‖2 and Potential . . .

LemmaLet a point charge of strength q be located at z0. Then for any z suchthat |z| > |z0|,

φz0(z) = q log(z − z0) = q

(log z −

∞∑k=1

1k

(z0

z

)k)

. (2)

Notice:Given a set of particles S = z1, z2, . . . , zm and their strengthsq1, q2, · · · , qm, then the potential at z due to the set S will be

φ(z) =m∑

i=1

φzi(z) =m∑

i=1

qi log(z − zi).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 8 / 47

Page 16: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 9 / 47

Page 17: Fast Multipole Method - math.ucdavis.edu

Multipole Expansion

Theorem (Multipole Expansion)

Suppose that m charges of strengthsqi, i = 1, . . . , m are located at pointszi, i = 1, . . . , m, with |zi| < r. Then forany z with |z| > r, the potential φ(z)induced by the charges is given by

φ(z) = Q log(z) +∞∑

k=1

ak

zk , (3)

where

Q =∑m

i=1 qi and ak =∑m

i=1−qizk

ik

.

0

r

z

D

zi

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 10 / 47

Page 18: Fast Multipole Method - math.ucdavis.edu

Multipole Expansion . . .

Error Bound of Multipole ExpansionFor any p ≥ 1, ∣∣∣∣∣φ(z)− Q log(z)−

p∑k=1

ak

zk

∣∣∣∣∣ ≤ const ·∣∣∣∣rz∣∣∣∣p , (4)

Distant Parameter c

Let c ∆=∣∣∣ zr

∣∣∣ = 2, then the error bound will be∣∣∣∣∣φ(z)− Q log(z)−p∑

k=1

ak

zk

∣∣∣∣∣ ≤ const ·(

12

)p

, (5)

and if we want to obtain the a relative precision ε, p must be of the order− log2(ε).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 11 / 47

Page 19: Fast Multipole Method - math.ucdavis.edu

Multipole Expansion . . .

Error Bound of Multipole ExpansionFor any p ≥ 1, ∣∣∣∣∣φ(z)− Q log(z)−

p∑k=1

ak

zk

∣∣∣∣∣ ≤ const ·∣∣∣∣rz∣∣∣∣p , (4)

Distant Parameter c

Let c ∆=∣∣∣ zr

∣∣∣ = 2, then the error bound will be∣∣∣∣∣φ(z)− Q log(z)−p∑

k=1

ak

zk

∣∣∣∣∣ ≤ const ·(

12

)p

, (5)

and if we want to obtain the a relative precision ε, p must be of the order− log2(ε).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 11 / 47

Page 20: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 12 / 47

Page 21: Fast Multipole Method - math.ucdavis.edu

A 2D domain and Quadtree

level 0

level 2

level 1

level 3

Quadtree structure induced by a uniform subdivision of a [email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 13 / 47

Page 22: Fast Multipole Method - math.ucdavis.edu

A 2D Domain and Quadtree . . .

Definition (Near Neighbors)Two boxes are said to be near neighbors if they are at the samerefinement level and share a boundary point. A box is a near neighborof itself.

i

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 14 / 47

Page 23: Fast Multipole Method - math.ucdavis.edu

A 2D Domain and Quadtree . . .

Definition (Well Separated)Two boxes are said to be well separated if they are at the samerefinement level and are not near neighbors.

i

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 15 / 47

Page 24: Fast Multipole Method - math.ucdavis.edu

A 2D Domain and Quadtree . . .

Definition (Interaction List)Each box i has its own interaction list, consisting of the children ofthe near neighbors of i’s parent which are well separated from box i.

i

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 16 / 47

Page 25: Fast Multipole Method - math.ucdavis.edu

A 2D Domain and Quadtree . . .

Hierarchical StructureNotice that the blue boxes in are the interaction list of i’s parent.

i

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 17 / 47

Page 26: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 18 / 47

Page 27: Fast Multipole Method - math.ucdavis.edu

Interaction List and Multipole Expansion

J

K

Application of the Theorem of Multipole ExpansionFor two boxes J and K, they are well separated and the distance pa-rameter c > 2, which allows us to use truncated multipole expansion.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 19 / 47

Page 28: Fast Multipole Method - math.ucdavis.edu

Hierarchical Algorithm

Ji

i i

Computation Cost: O(N log N)∣∣∣∣∣φ(z)− Q log(z)−p∑

k=1

ak

zk

∣∣∣∣∣ ≤ const ·(

12

)p

,

To prepare the coefficients akpk=1, each particle will be used p times.

Therefore, for each level, the computation cost is about O(Np). And thetotal number of levels will be approximately log N.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 20 / 47

Page 29: Fast Multipole Method - math.ucdavis.edu

Hierarchical Algorithm

Ji i

i

Computation Cost: O(N log N)∣∣∣∣∣φ(z)− Q log(z)−p∑

k=1

ak

zk

∣∣∣∣∣ ≤ const ·(

12

)p

,

To prepare the coefficients akpk=1, each particle will be used p times.

Therefore, for each level, the computation cost is about O(Np). And thetotal number of levels will be approximately log N.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 20 / 47

Page 30: Fast Multipole Method - math.ucdavis.edu

Hierarchical Algorithm

Ji i i

Computation Cost: O(N log N)∣∣∣∣∣φ(z)− Q log(z)−p∑

k=1

ak

zk

∣∣∣∣∣ ≤ const ·(

12

)p

,

To prepare the coefficients akpk=1, each particle will be used p times.

Therefore, for each level, the computation cost is about O(Np). And thetotal number of levels will be approximately log N.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 20 / 47

Page 31: Fast Multipole Method - math.ucdavis.edu

Hierarchical Algorithm

Ji i i

Computation Cost: O(N log N)∣∣∣∣∣φ(z)− Q log(z)−p∑

k=1

ak

zk

∣∣∣∣∣ ≤ const ·(

12

)p

,

To prepare the coefficients akpk=1, each particle will be used p times.

Therefore, for each level, the computation cost is about O(Np). And thetotal number of levels will be approximately log N.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 20 / 47

Page 32: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 21 / 47

Page 33: Fast Multipole Method - math.ucdavis.edu

Translation of Multipole Expansion

Theorem (Translation of a multipole expansion)

Suppose that

φ(z) = a0 log(z − z0) +∞∑

k=1

ak

(z − z0)k (6)

is a multipole expansion of the potential due to a set of m charges ofstrength q1, q2, . . . , qm, all of which are located inside the circle D ofradius R with center at z0. Then for z outside the circle D1 of radius(R + |z0|) and center at the origin,

φ(z) = a0 log(z) +∞∑

l=1

bl

zl , (7)

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 22 / 47

Page 34: Fast Multipole Method - math.ucdavis.edu

Translation of Multipole Expansion . . .

(a) (b)

i

a

c

b

d

0

D1

DZ0

Z

R

Translation from the Children to the ParentFig.(a) shows that the multipole expansion about child disk D can betranslated to the multipole expansion about the parent disk D1. Fig.(b)shows the similar behavior of the quadtree structure.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 23 / 47

Page 35: Fast Multipole Method - math.ucdavis.edu

Translation of Multipole Expansion . . .

Error Bound for Translation of Multipole ExpansionThe translation of the multipole expansion

φ(z) = a0 log(z − z0) +∞∑

k=1

ak

(z − z0)k ⇒ φ(z) = a0 log(z) +∞∑

l=1

bl

zl ,

where bl = −a0zl

0l

+l∑

k=1

akzl−k0

(l − 1k − 1

). Furthermore, for any p ≥ 1,

∣∣∣∣∣φ(z)− a0 log(z)−p∑

l=1

bl

zl

∣∣∣∣∣ ≤ A

1 −∣∣∣∣ |z0|+ R

z

∣∣∣∣∣∣∣∣ |z0|+ R

z

∣∣∣∣p+1

(8)

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 24 / 47

Page 36: Fast Multipole Method - math.ucdavis.edu

Conversion of a Multipole Expansion (MP) into a LocalExpansion (LP)

Theorem (Multipole expansion ⇒local expansion)

Suppose that m charges are locatedinside the circle D1 with radius R andcenter at z0, and that |z0| > (w + 1)R withw > 1. Then the corresponding multipoleexpansion (6) converges inside the circleD2 of radius R center at origin. Inside D2,

φ(z) =∞∑

l=0

bl · zl, (9)

z0

R

0R

wR

D1

D2

z

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 25 / 47

Page 37: Fast Multipole Method - math.ucdavis.edu

Conversion of a MP into a LP . . .

Theorem Continued . . .The conversion of the MP into a LP:

φ(z) = a0 log(z − z0) +∞∑

k=1

ak

(z − z0)k ⇒ φ(z) =∞∑

l=0

bl · zl,

Furthermore, an error bound for the truncated series is given by∣∣∣∣∣φ(z)−p∑

l=0

bl · zl

∣∣∣∣∣ ≤ const ·(

1w

)p+1

, (10)

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 26 / 47

Page 38: Fast Multipole Method - math.ucdavis.edu

Conversion of a MP into a LP . . .

z0

R

0R

wR

D1

D2

i

(a) (b)

z

Conversion of Several MPs to a LPFig.(a) shows that the multipole expansion about disk D1 can be con-verted to a local expansion about the disk D2. Fig.(b) shows the similarbehavior of the quadtree structure.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 27 / 47

Page 39: Fast Multipole Method - math.ucdavis.edu

Translation of Local Expansion

i

i

(a) (b)

Theorem (Translation of a local expansion)

For any complex z0, z, and ak, k = 0, 1, 2, . . . , n,

n∑k=0

ak(z − z0)k =n∑

l=0

(n∑

k=l

ak

(kl

)(−z0)k−l

)zl. (11)

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 28 / 47

Page 40: Fast Multipole Method - math.ucdavis.edu

FMM V.S. N log N Algorithm

N log N Algorithm

Ji i i

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 29 / 47

Page 41: Fast Multipole Method - math.ucdavis.edu

FMM V.S. N log N Algorithm

FMM Can Improve N log N Algorithm• Conversion of the multipole expansions to a local expansion.• Translation of a local expansion from parent box to children boxes.

Ji

Ji

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 29 / 47

Page 42: Fast Multipole Method - math.ucdavis.edu

FMM V.S. N log N Algorithm

FMM Can Improve N log N Algorithm• Conversion of the multipole expansions to a local expansion.• Translation of a local expansion from parent box to children boxes.

Ji

Ji

AND FMM CAN SAVE MORE!!!

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 29 / 47

Page 43: Fast Multipole Method - math.ucdavis.edu

FMM V.S. N log N Algorithm

Save More by Using Translation of Multipole Expansion• Start with finest level, translate the multipole expansion centered

at a child box into a multipole expansion centered at its parent boxin the coarser level.

• Add the four translated expansions together to get the multipoleexpansion for the parent box.

a

c

b

d

a

c

b

d

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 29 / 47

Page 44: Fast Multipole Method - math.ucdavis.edu

Decomposition of the Domain

Notice: P`x,S is the potential (Local Expansion) centered around x, due

to the particles set S.

i

• P`i, nnb: the potential due to the

particles inside of i’s near neighbors.

• P`i, list: the potential due to the

particles inside of i’s interaction list.

• P`i, out: the potential due to the

particles outside of i’s parent’s nearneighbors, which can be computedrecursively.

• P`−1j, list: j is the parent box of box i.

• P`−2k, list: k is the grandparent box of box

i.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 30 / 47

Page 45: Fast Multipole Method - math.ucdavis.edu

Decomposition of the Domain

Notice: P`x,S is the potential (Local Expansion) centered around x, due

to the particles set S.

i

• P`i, nnb: the potential due to the

particles inside of i’s near neighbors.

• P`i, list: the potential due to the

particles inside of i’s interaction list.

• P`i, out: the potential due to the

particles outside of i’s parent’s nearneighbors, which can be computedrecursively.

• P`−1j, list: j is the parent box of box i.

• P`−2k, list: k is the grandparent box of box

i.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 30 / 47

Page 46: Fast Multipole Method - math.ucdavis.edu

Decomposition of the Domain

Notice: P`x,S is the potential (Local Expansion) centered around x, due

to the particles set S.

i

• P`i, nnb: the potential due to the

particles inside of i’s near neighbors.

• P`i, list: the potential due to the

particles inside of i’s interaction list.

• P`i, out: the potential due to the

particles outside of i’s parent’s nearneighbors, which can be computedrecursively.

• P`−1j, list: j is the parent box of box i.

• P`−2k, list: k is the grandparent box of box

i.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 30 / 47

Page 47: Fast Multipole Method - math.ucdavis.edu

Decomposition of the Domain

Notice: P`x,S is the potential (Local Expansion) centered around x, due

to the particles set S.

i

• P`i, nnb: the potential due to the

particles inside of i’s near neighbors.

• P`i, list: the potential due to the

particles inside of i’s interaction list.

• P`i, out: the potential due to the

particles outside of i’s parent’s nearneighbors, which can be computedrecursively.

• P`−1j, list: j is the parent box of box i.

• P`−2k, list: k is the grandparent box of box

i.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 30 / 47

Page 48: Fast Multipole Method - math.ucdavis.edu

Decomposition of the Domain

Notice: P`x,S is the potential (Local Expansion) centered around x, due

to the particles set S.

i

• P`i, nnb: the potential due to the

particles inside of i’s near neighbors.

• P`i, list: the potential due to the

particles inside of i’s interaction list.

• P`i, out: the potential due to the

particles outside of i’s parent’s nearneighbors, which can be computedrecursively.

• P`−1j, list: j is the parent box of box i.

• P`−2k, list: k is the grandparent box of box

i.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 30 / 47

Page 49: Fast Multipole Method - math.ucdavis.edu

Decomposition of the Domain

Notice: P`x,S is the potential (Local Expansion) centered around x, due

to the particles set S.

i

• P`i, nnb: the potential due to the

particles inside of i’s near neighbors.

• P`i, list: the potential due to the

particles inside of i’s interaction list.

• P`i, out: the potential due to the

particles outside of i’s parent’s nearneighbors, which can be computedrecursively.

• P`−1j, list: j is the parent box of box i.

• P`−2k, list: k is the grandparent box of box

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 30 / 47

Page 50: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm

Initialization• Given N particles distributed in a square domain.

• Construct a quadtree with L + 1 levels.• The indices of levels will be 0, 1, 2, . . . , L − 1, L.• Assume that, on average, s particles per box in the finest level.• 4L · s = N, or equivalently, L = log4(N/s).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 31 / 47

Page 51: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm

Initialization• Given N particles distributed in a square domain.• Construct a quadtree with L + 1 levels.

• The indices of levels will be 0, 1, 2, . . . , L − 1, L.• Assume that, on average, s particles per box in the finest level.• 4L · s = N, or equivalently, L = log4(N/s).

level 0 level 1 level 2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 31 / 47

Page 52: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm

Initialization• Given N particles distributed in a square domain.• Construct a quadtree with L + 1 levels.• The indices of levels will be 0, 1, 2, . . . , L − 1, L.

• Assume that, on average, s particles per box in the finest level.• 4L · s = N, or equivalently, L = log4(N/s).

level 0 level 1 level 2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 31 / 47

Page 53: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm

Initialization• Given N particles distributed in a square domain.• Construct a quadtree with L + 1 levels.• The indices of levels will be 0, 1, 2, . . . , L − 1, L.• Assume that, on average, s particles per box in the finest level.

• 4L · s = N, or equivalently, L = log4(N/s).

level 0 level 1 level 2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 31 / 47

Page 54: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm

Initialization• Given N particles distributed in a square domain.• Construct a quadtree with L + 1 levels.• The indices of levels will be 0, 1, 2, . . . , L − 1, L.• Assume that, on average, s particles per box in the finest level.• 4L · s = N, or equivalently, L = log4(N/s).

level 0 level 1 level 2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 31 / 47

Page 55: Fast Multipole Method - math.ucdavis.edu

FMM algorithm . . .

Upward Pass• Start with the finest level, construct multipole expansions for each

box.

• Translate the multipole expansion to coarser levels.• The multipole expansion about every box in the coarser levels will

be constructed by the merging procedure.

a

c

b

d

a

c

b

d

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 32 / 47

Page 56: Fast Multipole Method - math.ucdavis.edu

FMM algorithm . . .

Upward Pass• Start with the finest level, construct multipole expansions for each

box.• Translate the multipole expansion to coarser levels.

• The multipole expansion about every box in the coarser levels willbe constructed by the merging procedure.

a

c

b

d

a

c

b

d

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 32 / 47

Page 57: Fast Multipole Method - math.ucdavis.edu

FMM algorithm . . .

Upward Pass• Start with the finest level, construct multipole expansions for each

box.• Translate the multipole expansion to coarser levels.• The multipole expansion about every box in the coarser levels will

be constructed by the merging procedure.

a

c

b

d

a

c

b

d

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 32 / 47

Page 58: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm . . .

Downward Pass• Start with the coarsest level, in fact, level 2, where each box k has

its interaction list. Construct the local expansion P2k,list.

• Repeat this for every finer level. For simplicity, assume finest levelL = 4.

• Let box i at level 4 be the target. We already have P4i,list, P3

j,list,P2

k,list, where j is the parent of i, and k is the parent of j.

• Start with the coarsest level again, translate the local expansionfrom the parent to its children.

•P2

k,list ⇒ P3j,out

P3j,out + P3

j,list ⇒ P4i,out

• Finally, P4i,out + P4

i,list + P4i,nnb will be the total potential centered at i

due to all the other particles.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 33 / 47

Page 59: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm . . .

Downward Pass• Start with the coarsest level, in fact, level 2, where each box k has

its interaction list. Construct the local expansion P2k,list.

• Repeat this for every finer level. For simplicity, assume finest levelL = 4.

• Let box i at level 4 be the target. We already have P4i,list, P3

j,list,P2

k,list, where j is the parent of i, and k is the parent of j.

• Start with the coarsest level again, translate the local expansionfrom the parent to its children.

•P2

k,list ⇒ P3j,out

P3j,out + P3

j,list ⇒ P4i,out

• Finally, P4i,out + P4

i,list + P4i,nnb will be the total potential centered at i

due to all the other particles.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 33 / 47

Page 60: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm . . .

Downward Pass• Start with the coarsest level, in fact, level 2, where each box k has

its interaction list. Construct the local expansion P2k,list.

• Repeat this for every finer level. For simplicity, assume finest levelL = 4.

• Let box i at level 4 be the target. We already have P4i,list, P3

j,list,P2

k,list, where j is the parent of i, and k is the parent of j.

• Start with the coarsest level again, translate the local expansionfrom the parent to its children.

•P2

k,list ⇒ P3j,out

P3j,out + P3

j,list ⇒ P4i,out

• Finally, P4i,out + P4

i,list + P4i,nnb will be the total potential centered at i

due to all the other particles.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 33 / 47

Page 61: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm . . .

Downward Pass• Start with the coarsest level, in fact, level 2, where each box k has

its interaction list. Construct the local expansion P2k,list.

• Repeat this for every finer level. For simplicity, assume finest levelL = 4.

• Let box i at level 4 be the target. We already have P4i,list, P3

j,list,P2

k,list, where j is the parent of i, and k is the parent of j.

• Start with the coarsest level again, translate the local expansionfrom the parent to its children.

•P2

k,list ⇒ P3j,out

P3j,out + P3

j,list ⇒ P4i,out

• Finally, P4i,out + P4

i,list + P4i,nnb will be the total potential centered at i

due to all the other particles.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 33 / 47

Page 62: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm . . .

Downward Pass• Start with the coarsest level, in fact, level 2, where each box k has

its interaction list. Construct the local expansion P2k,list.

• Repeat this for every finer level. For simplicity, assume finest levelL = 4.

• Let box i at level 4 be the target. We already have P4i,list, P3

j,list,P2

k,list, where j is the parent of i, and k is the parent of j.

• Start with the coarsest level again, translate the local expansionfrom the parent to its children.

•P2

k,list ⇒ P3j,out

P3j,out + P3

j,list ⇒ P4i,out

• Finally, P4i,out + P4

i,list + P4i,nnb will be the total potential centered at i

due to all the other particles.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 33 / 47

Page 63: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm . . .

Downward Pass• Start with the coarsest level, in fact, level 2, where each box k has

its interaction list. Construct the local expansion P2k,list.

• Repeat this for every finer level. For simplicity, assume finest levelL = 4.

• Let box i at level 4 be the target. We already have P4i,list, P3

j,list,P2

k,list, where j is the parent of i, and k is the parent of j.

• Start with the coarsest level again, translate the local expansionfrom the parent to its children.

•P2

k,list ⇒ P3j,out

P3j,out + P3

j,list ⇒ P4i,out

• Finally, P4i,out + P4

i,list + P4i,nnb will be the total potential centered at i

due to all the other [email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 33 / 47

Page 64: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm : Downward Pass . . .

jk• P2

k,list ⇒ P3j,out.

• P3j,out + P3

j,list ⇒ P4i,out.

• P4i,out + P4

i,list + P4i,nnb.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 34 / 47

Page 65: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm : Downward Pass . . .

ij• P2

k,list ⇒ P3j,out.

• P3j,out + P3

j,list ⇒ P4i,out.

• P4i,out + P4

i,list + P4i,nnb.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 34 / 47

Page 66: Fast Multipole Method - math.ucdavis.edu

FMM Algorithm : Downward Pass . . .

ij• P2

k,list ⇒ P3j,out.

• P3j,out + P3

j,list ⇒ P4i,out.

• P4i,out + P4

i,list + P4i,nnb.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 34 / 47

Page 67: Fast Multipole Method - math.ucdavis.edu

Computation Cost of FMM

Cost of Upward Pass• In the finest level, to form the multipole expansion centered at

each box, we need about Np operations, where p is the number ofterms in the multipole expansion.

• Then for the translations for the higher levels, we need about(N

s )p2 operations, where s is the average number of particles ineach box of the finest level.

• Totally, cost of upward pass is Np + (Ns )p2.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 35 / 47

Page 68: Fast Multipole Method - math.ucdavis.edu

Computation Cost of FMM

Cost of Downward Pass• To convert the multipole expansions about all boxes in the

interaction list of each box in an arbitrary level, we need about27(N

s )p2 operations.

• Then for the translations from the parent to its children, we needabout (N

s )p2 operations.

• For the evaluation of a local expansion in the finest level andcomputing potential directly from the near neighbor, we needabout Np and 9Ns respectively.

• Totally, cost of downward pass is 27(Ns )p2 + (N

s )p2 + Np + 9Ns.

Cost of FMM

Cost = 2Np + 29(N

s

)p2 + 9Ns, where if s = p, the cost will be 40Np.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 35 / 47

Page 69: Fast Multipole Method - math.ucdavis.edu

Computation Cost of FMM

Cost of Downward Pass• To convert the multipole expansions about all boxes in the

interaction list of each box in an arbitrary level, we need about27(N

s )p2 operations.

• Then for the translations from the parent to its children, we needabout (N

s )p2 operations.

• For the evaluation of a local expansion in the finest level andcomputing potential directly from the near neighbor, we needabout Np and 9Ns respectively.

• Totally, cost of downward pass is 27(Ns )p2 + (N

s )p2 + Np + 9Ns.

Cost of FMM

Cost = 2Np + 29(N

s

)p2 + 9Ns, where if s = p, the cost will be 40Np.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 35 / 47

Page 70: Fast Multipole Method - math.ucdavis.edu

Outline

1 Motivations2 Potential3 Multipole Expansion4 A 2D domain and Quadtree5 The O(N log N) Algorithm

Interaction List and Multipole ExpansionHierarchical Algorithm

6 FMM: The O(N) MethodTranslation of Multipole ExpansionConversion of a Multipole Expansion into a Local ExpansionTranslation of Local ExpansionFMM

7 Matrix Version of FMMMatrix Vector ProductQuad Tree and Indexing

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 36 / 47

Page 71: Fast Multipole Method - math.ucdavis.edu

Matrix Vector Product

Given a set of N particles located at N distinct points, i.e.,X = x1, x2, . . . , xN ⊂ R2. and a set of reals q1, q2, . . . , qN, where qi

is the charge strength of the particle located at xi.

We want to compute the potential for each particle at xi due to the restof particles located at xjN

j=1,j 6=i.

φ(xi) =N∑

j=1,j6=i

qj log ||xj − xi||.

φ(x1)φ(x2)

...φ(xN)

=

0 log ||x1 − x2|| · · · log ||x1 − xN ||

log ||x1 − x2|| 0 · · · log ||x2 − xN ||...

......

...log ||x1 − xN || log ||x2 − xN || · · · 0

︸ ︷︷ ︸

P

·

q1q2...

qN

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 37 / 47

Page 72: Fast Multipole Method - math.ucdavis.edu

Matrix Vector Product

Given a set of N particles located at N distinct points, i.e.,X = x1, x2, . . . , xN ⊂ R2. and a set of reals q1, q2, . . . , qN, where qi

is the charge strength of the particle located at xi.

We want to compute the potential for each particle at xi due to the restof particles located at xjN

j=1,j 6=i.

φ(xi) =N∑

j=1,j6=i

qj log ||xj − xi||.

φ(x1)φ(x2)

...φ(xN)

=

0 log ||x1 − x2|| · · · log ||x1 − xN ||

log ||x1 − x2|| 0 · · · log ||x2 − xN ||...

......

...log ||x1 − xN || log ||x2 − xN || · · · 0

︸ ︷︷ ︸

P

·

q1q2...

qN

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 37 / 47

Page 73: Fast Multipole Method - math.ucdavis.edu

Matrix Vector Product

Given a set of N particles located at N distinct points, i.e.,X = x1, x2, . . . , xN ⊂ R2. and a set of reals q1, q2, . . . , qN, where qi

is the charge strength of the particle located at xi.

We want to compute the potential for each particle at xi due to the restof particles located at xjN

j=1,j 6=i.

φ(xi) =N∑

j=1,j6=i

qj log ||xj − xi||.

φ(x1)φ(x2)

...φ(xN)

=

0 log ||x1 − x2|| · · · log ||x1 − xN ||

log ||x1 − x2|| 0 · · · log ||x2 − xN ||...

......

...log ||x1 − xN || log ||x2 − xN || · · · 0

︸ ︷︷ ︸

P

·

q1q2...

qN

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 37 / 47

Page 74: Fast Multipole Method - math.ucdavis.edu

Structure of matrix P• The sequence of x1, x2, . . . , xN determine the structure of P.

• The well separated groups of points are the key to the FMM.• An indexing scheme for the hierarchical refinement structure is

needed.

level 2 level 3

: interaction list of box i

: near neighbors of box i

Figure: Quadtree structure induced by a uniform subdivision of a squaredomain.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 38 / 47

Page 75: Fast Multipole Method - math.ucdavis.edu

Structure of matrix P• The sequence of x1, x2, . . . , xN determine the structure of P.• The well separated groups of points are the key to the FMM.

• An indexing scheme for the hierarchical refinement structure isneeded.

level 2 level 3

: interaction list of box i

: near neighbors of box i

Figure: Quadtree structure induced by a uniform subdivision of a squaredomain.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 38 / 47

Page 76: Fast Multipole Method - math.ucdavis.edu

Structure of matrix P• The sequence of x1, x2, . . . , xN determine the structure of P.• The well separated groups of points are the key to the FMM.• An indexing scheme for the hierarchical refinement structure is

needed.

level 2 level 3

: interaction list of box i

: near neighbors of box i

Figure: Quadtree structure induced by a uniform subdivision of a squaredomain.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 38 / 47

Page 77: Fast Multipole Method - math.ucdavis.edu

Quadtree and Indexing

level 0

level 2

level 1

level 3

Figure: Quadtree structure induced by a uniform subdivision of a squaredomain.

0 1

2 3

0 1

2 3

0 0

0 0

1

1 1

1

22

2 23

3 3

3

level 1 level 2

Indexing

• I = (I1, I2, . . . , I`), where Ij = 0, 1, 2, 3, with j = 1, 2, . . . , `.

• Introduce a new index: D =∑j=1

4`−j · Ij.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 39 / 47

Page 78: Fast Multipole Method - math.ucdavis.edu

Quadtree and Indexing

0 1

2 3

0 1

2 3

0 0

0 0

1

1 1

1

22

2 23

3 3

3

level 1 level 2

Indexing

• I = (I1, I2, . . . , I`), where Ij = 0, 1, 2, 3, with j = 1, 2, . . . , `.

• Introduce a new index: D =∑j=1

4`−j · Ij.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 39 / 47

Page 79: Fast Multipole Method - math.ucdavis.edu

Quadtree and Indexing

0 1

2 3

0 1

2 3

0 0

0 0

1

1 1

1

22

2 23

3 3

3

level 1 level 2

Indexing• I = (I1, I2, . . . , I`), where Ij = 0, 1, 2, 3, with j = 1, 2, . . . , `.

• Introduce a new index: D =∑j=1

4`−j · Ij.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 39 / 47

Page 80: Fast Multipole Method - math.ucdavis.edu

Quadtree and Indexing

0 1

2 3

0 1

2 3

0 0

0 0

1

1 1

1

22

2 23

3 3

3

level 1 level 2

Indexing• I = (I1, I2, . . . , I`), where Ij = 0, 1, 2, 3, with j = 1, 2, . . . , `.

• Introduce a new index: D =∑j=1

4`−j · Ij.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 39 / 47

Page 81: Fast Multipole Method - math.ucdavis.edu

Indexing• I = (I1, I2, . . . , I`), where Ij = 0, 1, 2, 3, with j = 1, 2, . . . , `.

• Introduce a new index: D =∑j=1

4`−j · Ij.

0 1

2 3

0 0

0 0

1

1 1

1

22

2 23

3 3

3

0

3

1

2

0

632

1 4 5

7

1410 11

8 9 12

15

13

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 40 / 47

Page 82: Fast Multipole Method - math.ucdavis.edu

Indexing• I = (I1, I2, . . . , I`), where Ij = 0, 1, 2, 3, with j = 1, 2, . . . , `.

• Introduce a new index: D =∑j=1

4`−j · Ij.

0 1

2 3

0 0

0 0

1

1 1

1

22

2 23

3 3

3

0

3

1

2

0

632

1 4 5

7

1410 11

8 9 12

15

13

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 40 / 47

Page 83: Fast Multipole Method - math.ucdavis.edu

Low Rank Sub Matrices of P

0

3

1

2

0

632

1 4 5

7

1410 11

8 9 12

15

13

1

15141312111098765432

01 151413121110987654320

The blank blocks are low rank matrices!

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 41 / 47

Page 84: Fast Multipole Method - math.ucdavis.edu

Low Rank Sub Matrices of P

0

3

1

2

0

632

1 4 5

7

1410 11

8 9 12

15

13

1

15141312111098765432

01 151413121110987654320

The blank blocks are low rank matrices!

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 41 / 47

Page 85: Fast Multipole Method - math.ucdavis.edu

Low Rank Sub Matrices of P

0

3

1

2

0

632

1 4 5

7

1410 11

8 9 12

15

13

1

15141312111098765432

01 151413121110987654320

The blank blocks are low rank matrices!

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 41 / 47

Page 86: Fast Multipole Method - math.ucdavis.edu

Matrix Vector Product

1 15141312111098765432

1

15141312111098765432

00

Computation Cost• Given A: m × n. The

cost of A · v is mn.• If A = U · S · V, where S

is of size p× p, then thecomputation cost ofU · S · V · v isp(m + n + p).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 42 / 47

Page 87: Fast Multipole Method - math.ucdavis.edu

Matrix Vector Product

1 15141312111098765432

1

15141312111098765432

00

Computation Cost• Given A: m × n. The

cost of A · v is mn.• If A = U · S · V, where S

is of size p× p, then thecomputation cost ofU · S · V · v isp(m + n + p).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 42 / 47

Page 88: Fast Multipole Method - math.ucdavis.edu

Matrix Vector Product

1 15141312111098765432

1

15141312111098765432

00

Computation Cost• Given A: m × n. The

cost of A · v is mn.• If A = U · S · V, where S

is of size p× p, then thecomputation cost ofU · S · V · v isp(m + n + p).

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 42 / 47

Page 89: Fast Multipole Method - math.ucdavis.edu

Column Bases and Row Bases

1

15141312111098765432

01 151413121110987654320

• B2,7 is the block matrix in red.

• We want B2,7 = U2 · S2,7 · VT7 .

• U2 will capture the columnbases of the blue blocks.

• V7 will capture the row basesof the green blocks.

• B7,2 = U7 · S7,2 · VT2 .

•B2,7 = U2 · S2,7 · UT

7

B7,2 = U7 · ST2,7 · UT

2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 43 / 47

Page 90: Fast Multipole Method - math.ucdavis.edu

Column Bases and Row Bases

1 15141312111098765432

1

15141312111098765432

00

• B2,7 is the block matrix in red.

• We want B2,7 = U2 · S2,7 · VT7 .

• U2 will capture the columnbases of the blue blocks.

• V7 will capture the row basesof the green blocks.

• B7,2 = U7 · S7,2 · VT2 .

•B2,7 = U2 · S2,7 · UT

7

B7,2 = U7 · ST2,7 · UT

2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 43 / 47

Page 91: Fast Multipole Method - math.ucdavis.edu

Column Bases and Row Bases

1 15141312111098765432

1

15141312111098765432

00

• B2,7 is the block matrix in red.

• We want B2,7 = U2 · S2,7 · VT7 .

• U2 will capture the columnbases of the blue blocks.

• V7 will capture the row basesof the green blocks.

• B7,2 = U7 · S7,2 · VT2 .

•B2,7 = U2 · S2,7 · UT

7

B7,2 = U7 · ST2,7 · UT

2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 43 / 47

Page 92: Fast Multipole Method - math.ucdavis.edu

Column Bases and Row Bases

1 15141312111098765432

1

15141312111098765432

00

• B2,7 is the block matrix in red.

• We want B2,7 = U2 · S2,7 · VT7 .

• U2 will capture the columnbases of the blue blocks.

• V7 will capture the row basesof the green blocks.

• B7,2 = U7 · S7,2 · VT2 .

•B2,7 = U2 · S2,7 · UT

7

B7,2 = U7 · ST2,7 · UT

2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 43 / 47

Page 93: Fast Multipole Method - math.ucdavis.edu

Column Bases and Row Bases

1

15141312111098765432

01 151413121110987654320

• B2,7 is the block matrix in red.

• We want B2,7 = U2 · S2,7 · VT7 .

• U2 will capture the columnbases of the blue blocks.

• V7 will capture the row basesof the green blocks.

• B7,2 = U7 · S7,2 · VT2 .

•B2,7 = U2 · S2,7 · UT

7

B7,2 = U7 · ST2,7 · UT

2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 43 / 47

Page 94: Fast Multipole Method - math.ucdavis.edu

Column Bases and Row Bases

1

15141312111098765432

01 151413121110987654320

• B2,7 is the block matrix in red.

• We want B2,7 = U2 · S2,7 · VT7 .

• U2 will capture the columnbases of the blue blocks.

• V7 will capture the row basesof the green blocks.

• B7,2 = U7 · S7,2 · VT2 .

•B2,7 = U2 · S2,7 · UT

7

B7,2 = U7 · ST2,7 · UT

2

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 43 / 47

Page 95: Fast Multipole Method - math.ucdavis.edu

Low Rank Sub Matrices of P ......one more level

0 1

2 3

0

8

4

12

1110

9

1 5

13

14 15

2 3 6 7

0 1

2

5

763

4

37

1514

32

1110

8 9 12 13 24

18

16

43 46

45444140

34 35 38 39

33 36 49

58

56

50

26

48

17

19

25

27

51

52

31

29

23

2120

22

28

30

60

59

57

54

62

61

55

53

6342 47

1 151413121110987654320

1

15141312111098765432

0

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 44 / 47

Page 96: Fast Multipole Method - math.ucdavis.edu

Low Rank Sub Matrices of P ......one more level

0 1

2 3

0

8

4

12

1110

9

1 5

13

14 15

2 3 6 7

0 1

2

5

763

4

37

1514

32

1110

8 9 12 13 24

18

16

43 46

45444140

34 35 38 39

33 36 49

58

56

50

26

48

17

19

25

27

51

52

31

29

23

2120

22

28

30

60

59

57

54

62

61

55

53

6342 47

1 151413121110987654320

1

15141312111098765432

0

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 44 / 47

Page 97: Fast Multipole Method - math.ucdavis.edu

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A0,4

A2,4

A3,7

0

1

2

3

0 1

2 3

0

8

4

12

1110

9

1 5

13

14 15

2 3 6 7

0 1

2

5

763

4

37

1514

32

1110

8 9 12 13 24

18

16

43 46

45444140

34 35 38 39

33 36 49

58

56

50

26

48

17

19

25

27

51

52

31

29

23

2120

22

28

30

60

59

57

54

62

61

55

53

6342 47

• A0,4 = U0 · Q0,4 · UT4 .

• U0 =

U0 · R0,0U1 · R0,1U2 · R0,2U3 · R0,3

.

• A3,7 = U3 · Q3,7 · UT7 .

• U3 =

U12 · R3,0U13 · R3,1U14 · R3,2U15 · R3,3

.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 45 / 47

Page 98: Fast Multipole Method - math.ucdavis.edu

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A0,4

A2,4

A3,7

0

1

2

3

A0,4 = U0 · Q0,4 · UT4 , where U0 =

U0 · R0,0U1 · R0,1U2 · R0,2U3 · R0,3

What is U0, U1, U2, U3?

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 46 / 47

Page 99: Fast Multipole Method - math.ucdavis.edu

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A0,4

A2,4

A3,7

0

1

2

3

A0,4 = U0 · Q0,4 · UT4 , where U0 =

U0 · R0,0U1 · R0,1U2 · R0,2U3 · R0,3

What is U0, U1, U2, U3?Column Bases: U0.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 46 / 47

Page 100: Fast Multipole Method - math.ucdavis.edu

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A0,4

A2,4

A3,7

0

1

2

3

A0,4 = U0 · Q0,4 · UT4 , where U0 =

U0 · R0,0U1 · R0,1U2 · R0,2U3 · R0,3

What is U0, U1, U2, U3?Column Bases: U1.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 46 / 47

Page 101: Fast Multipole Method - math.ucdavis.edu

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A0,4

A2,4

A3,7

0

1

2

3

A0,4 = U0 · Q0,4 · UT4 , where U0 =

U0 · R0,0U1 · R0,1U2 · R0,2U3 · R0,3

What is U0, U1, U2, U3?Column Bases: U2.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 46 / 47

Page 102: Fast Multipole Method - math.ucdavis.edu

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A0,4

A2,4

A3,7

0

1

2

3

A0,4 = U0 · Q0,4 · UT4 , where U0 =

U0 · R0,0U1 · R0,1U2 · R0,2U3 · R0,3

What is U0, U1, U2, U3?Column Bases: U3.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 46 / 47

Page 103: Fast Multipole Method - math.ucdavis.edu

V. ROKHLIN, “Rapid solution of integral equations of classicalpotential theory”, J. Comput. Phys., vol. 60, pp. 187-207, 1985.

L. GREENGARD, The Rapid Evaluation of Potential Fields inParticle Systems, MIT Press, Cambridge, MA, 1988.

L. GREENGARD, V. ROKHLIN, “A fast algorithm for particlesimulations”, J. Comput. Phys., vol. 73, pp. 325-348, 1987.

S. CHANDRASEKARAN, M. GU, AND T. PALS, “A fast ULVdecomposition solver for hierarchically semi-separablerepresentations”, SIAM J. MATRIX ANAL. APPL., vol. 28, No. 3,pp. 603C622, 2006.

[email protected] (UC Davis) Original FMM and Its Matrix Version May 25, 2007 46 / 47