Fast N-body methods

26
(Fast) Methods for N- Body Simulations Speaker: Leslie Greengard Presenters: Ryan Lee, Jeffrey Wang

description

A brief overview of techniques for n-body simulations, ending with the Fast Multiple Method, developed by Leslie Greengard

Transcript of Fast N-body methods

Page 1: Fast N-body methods

(Fast) Methods for N-Body Simulations

Speaker: Leslie GreengardPresenters: Ryan Lee, Jeffrey Wang

Page 2: Fast N-body methods

Problem Statement

Page 3: Fast N-body methods

World’s Largest Singles MeetupN-(human) Body Simulations

Page 4: Fast N-body methods

Astrophysical Systems

Page 6: Fast N-body methods

Body Deformation and Medical Imaging

Page 7: Fast N-body methods

Robotics Control and Simulations (IoT)

Page 8: Fast N-body methods

In the Beginning

LOGY

Page 9: Fast N-body methods

Lolwut!?

Page 10: Fast N-body methods

They always said hardware was better...

Holmberg 1941

Page 11: Fast N-body methods

Direct Method

Can we hit the O(n) ideal?

Page 12: Fast N-body methods

Mean-Field Theory

Page 13: Fast N-body methods

Hartree-Fock Method

Page 14: Fast N-body methods

Tree codes: Barnes-Hut Algo

Ventimiglia & Wayne, 2003

Page 15: Fast N-body methods

Populating the Tree

Ventimiglia & Wayne, 2003

Page 16: Fast N-body methods

Populating the Tree

Ventimiglia & Wayne, 2003

Page 17: Fast N-body methods

Populating the Tree

Ventimiglia & Wayne, 2003

Page 18: Fast N-body methods

Computing Forces

Ventimiglia & Wayne, 2003

Page 19: Fast N-body methods

Computing Forces

Ventimiglia & Wayne, 2003

Page 20: Fast N-body methods

Computing Forces

Ventimiglia & Wayne, 2003

O(n log(n))

Page 21: Fast N-body methods

The Top Ten Algorithms of the 20th CenturyJack Dongarra and Francis Sullivan editors of Computing in Science & Engineering published a list of "The Top Ten Algorithms of the Century."

1. the Monte Carlo method or Metropolis algorithm, devised by John von Neumann, Stanislaw Ulam, and Nicholas Metropolis;

2. the simplex method of linear programming, developed by George Dantzig;3. the Krylov Subspace Iteration method, developed by Magnus Hestenes, Eduard Stiefel, and

Cornelius Lanczos;4. the Householder matrix decomposition, developed by Alston Householder;5. the Fortran compiler, developed by a team lead by John Backus;6. the QR algorithm for eigenvalue calculation, developed by J Francis;7. the Quicksort algorithm, developed by Anthony Hoare;8. the Fast Fourier Transform, developed by James Cooley and John Tukey;9. the Integer Relation Detection Algorithm, developed by Helaman Ferguson and Rodney

Forcade; 10. the fast Multipole algorithm, developed by Leslie Greengard and Vladimir Rokhlin;

● Invented in 1987● O(N^2) to O(N)

Page 22: Fast N-body methods

FMM Innovations● Duality Principle

○ Greengard approximated relationship between children and parents● Merging and Shifting Expansions

○ If multipole has been already calculated for parent can avoid calculating for children (and vice versa)

● Requires More Memory

http://www.physics.buffalo.edu/phy411-506-2004http://courses.cs.washington.edu/courses/cse548/06wi/files/benchmarks/fmm.pdf

X

V

W

U

Page 23: Fast N-body methods

Simple Overview of Steps: all O(N)

X

V

W

U

1. Build Tree2. Construct interaction lists3. Upward Pass (bottom up)4. Compute List Interactions

a. C+U b. C+V (expansions localized)c. C+W d. C+X no need to calculate!

since X is dual of W5. Downward Pass6. Calculate at local level

Page 25: Fast N-body methods

Leslie Greengard● Son of Paul Greengard

○ Nobel Laureate (Medicine)○ Neuroscience + Signal Transduction

● Born in London (56 yo)● Educated in the US

○ B.A. in mathematics from the Wesleyan University (1979)

○ MD/PhD from the Yale School of Medicine (1987)■ Developed FMM here!

○ Ph.D. in computer science from Yale University (1987)

● Director of the Courant Institute of Mathematical Sciences (NYU)

● Current ○ Professor of Mathematics and Computer

Science at Courant Institute of Mathematical Sciences (NYU)

Page 26: Fast N-body methods

Current Research and Future Directions