Kernel Independent FMM

Size: px
Start display at page:

Download "Kernel Independent FMM"

Transcription

1 Kernel Independent FMM FMM Issues FMM requires analytical work to generate S expansions, R expansions, S S (M2M) translations S R (M2L) translations R R (L2L) translations Such analytical work leads to barriers in creating FMM for new problems Previous lecture one approach Analytically connect polyharmonic and Stokes flow kernels to Laplace FMM Analytically connect Maxwell s kernel to Helmholtz FMM 1

2 Kernel Independent Approach Lexing Ying, George Biros, Denis Zorin. A kernelindependent adaptive fast multipole algorithm in two and three dimensions Journal of Computational Physics 196 (2004) Walter Dehnen A Hierarchical O(N) Force Calculation Algorithm Journal of Computational Physics 179, (2002) Cristopher Cecka, Pierre-David L etourneau, and Eric Darve. Fast Multipole Method using the Cauchy Integral Formula, BIRS 2010 P. G. Martinsson and V. Rokhlin ``An accelerated kernelindependent fast multipole method in one dimension, SIAM J. Sci. Comput. Vol. 29, no. 3, pp , 2007 Goal of KIFMM Given a known kernel function G(x,y) Assume that this function is FMM able However, you don t know expansions or translations Only that such expansions (multipole, local) exist That translations exist Can write a routine to evaluate this function for given pair of arguments. Build an FMM-like algorithm for this function 2

3 Check Surfaces and Equivalent Densities - Multipole Set of sources y i in a box. We wish to compute (1) Let us compute this on a set of points (blue open circles) placed on a check surface enclosing the box Indicated with dotted lines Points are outside sphere enclosing the box Denoted x B,u Choose a set of different source points on an equivalent sphere (orange) These sources are fictitious but chosen to achieve the same potential on the check surface points for the box Check Surfaces and Equivalent Densities - Local Set of sources y i outside box. We wish to compute (1) Let us compute this on a set of points (blue open circles) placed on a check surface enclosing the box Indicated with dotted lines Points are outside sphere enclosing the box Denoted x B,u Choose a set of different source points on an equivalent sphere (orange), outside this surface These sources are fictitious but chosen to achieve the same potential on the check surface points for the box 3

4 M2M (S S) translation. Potential on parent box check surface for parent equiv. density should match that from child equiv. density M2L (S R) translation. Potential on check surface of evaluation box, from source-box density and evaluation box densities should match R R translation. Potential on check surface of parent for equivalent densities of parent and child must match Solving the Equation We are solving integral equations, where the surface is the enclosing circle/sphere or box To make solution stable, solve Keeping equivalent density surface and check surface separate avoids any singular integrals These inverses can be precomputed 4

5 ;u the for 12/2/2011 Algorithm ASSUME N is the total number of points s is the maximum number of points allowed in leaf box STEP 1 TREE CONSTRUCTION for each box B in preorder traversal of the tree do subdivide B if B has more than s points in it for each box B in preorder traversal of the tree do construct L B U, L B V, L B W and L B X for B STEP 2 UPWARDS PASS for each leaf box B in postorder traversal of the tree do evaluate q B,u at x B,u using {φ i, i in I BS } solve for φ B,u at y B,u that matches q B,u at x B,u for each non-leaf box B in postorder traversal of the tree do add to q B,u at x B,u contribution from φ C,u C;u each child C of B solve for φ B,u at y B,u that matches q B,u at x B,u STEP 3 DOWNWARDS PASS for each non-root box B in preorder traversal of the tree do add to q B,d at x B,d the contribution from φ V,u for each box V in L B V add to q B,d at x B,d the contribution from {φ i, in I X s} for each box X in L B X add to q B,d at x B,d the contribution from φ P,d, where P is the parent of B solve for φ B,d at y B,d that matches q B,d at x B,d 5

6 Complexity Ignore solution costs, since grids and kernels are fixed. Just count rhs evaluation costs 6

7 Error bounds Error introduced by the solution procedure Analysis of the integral equation technique and regularization presented in the paper Not as strong as the FMM Error 7

8 Timing 8

A Kernel-independent Adaptive Fast Multipole Method

A Kernel-independent Adaptive Fast Multipole Method A Kernel-independent Adaptive Fast Multipole Method Lexing Ying Caltech Joint work with George Biros and Denis Zorin Problem Statement Given G an elliptic PDE kernel, e.g. {x i } points in {φ i } charges

More information

Cauchy Fast Multipole Method for Analytic Kernel

Cauchy Fast Multipole Method for Analytic Kernel Cauchy Fast Multipole Method for Analytic Kernel Pierre-David Létourneau 1 Cristopher Cecka 2 Eric Darve 1 1 Stanford University 2 Harvard University ICIAM July 2011 Pierre-David Létourneau Cristopher

More information

Fast multipole methods for axisymmetric geometries

Fast multipole methods for axisymmetric geometries Fast multipole methods for axisymmetric geometries Victor Churchill New York University May 13, 2016 Abstract Fast multipole methods (FMMs) are one of the main numerical methods used in the solution of

More information

A new parallel kernel-independent fast multipole method

A new parallel kernel-independent fast multipole method University of Pennsylvania ScholarlyCommons Departmental Papers (MEAM) Department of Mechanical Engineering & Applied Mechanics November 23 A new parallel kernel-independent fast multipole method Lexing

More information

Iterative methods for use with the Fast Multipole Method

Iterative methods for use with the Fast Multipole Method Iterative methods for use with the Fast Multipole Method Ramani Duraiswami Perceptual Interfaces and Reality Lab. Computer Science & UMIACS University of Maryland, College Park, MD Joint work with Nail

More information

The Fast Multipole Method on NVIDIA GPUs and Multicore Processors

The Fast Multipole Method on NVIDIA GPUs and Multicore Processors The Fast Multipole Method on NVIDIA GPUs and Multicore Processors Toru Takahashi, a Cris Cecka, b Eric Darve c a b c Department of Mechanical Science and Engineering, Nagoya University Institute for Applied

More information

Fast Multipole and Related Algorithms

Fast Multipole and Related Algorithms Fast Multipole and Related Algorithms Ramani Duraiswami University of Maryland, College Park http://www.umiacs.umd.edu/~ramani Joint work with Nail A. Gumerov Efficiency by exploiting symmetry and A general

More information

A pedestrian introduction to fast multipole methods

A pedestrian introduction to fast multipole methods SCIENCE CHIN Mathematics. RTICLES. May 2012 Vol. 55 No. 5: 1043 1051 doi: 10.1007/s11425-012-4392-0 pedestrian introduction to fast multipole methods YING Lexing Department of Mathematics and ICES, University

More information

Low-rank Properties, Tree Structure, and Recursive Algorithms with Applications. Jingfang Huang Department of Mathematics UNC at Chapel Hill

Low-rank Properties, Tree Structure, and Recursive Algorithms with Applications. Jingfang Huang Department of Mathematics UNC at Chapel Hill Low-rank Properties, Tree Structure, and Recursive Algorithms with Applications Jingfang Huang Department of Mathematics UNC at Chapel Hill Fundamentals of Fast Multipole (type) Method Fundamentals: Low

More information

Fast Methods with Sieve

Fast Methods with Sieve Fast Methods with Sieve Matthew G Knepley Mathematics and Computer Science Division Argonne National Laboratory August 12, 2008 Workshop on Scientific Computing Simula Research, Oslo, Norway M. Knepley

More information

A NEW PARALLEL KERNEL-INDEPENDENT FAST MULTIPOLE METHOD

A NEW PARALLEL KERNEL-INDEPENDENT FAST MULTIPOLE METHOD A NEW PARALLEL KERNEL-INDEPENDENT FAST MULTIPOLE METHOD LEXING YING, GEORGE BIROS, DENIS ZORIN, AND HARPER LANGSTON Abstract. We present a new adaptive fast multipole algorithm and its parallel implementation.

More information

Efficient O(N log N) algorithms for scattered data interpolation

Efficient O(N log N) algorithms for scattered data interpolation Efficient O(N log N) algorithms for scattered data interpolation Nail Gumerov University of Maryland Institute for Advanced Computer Studies Joint work with Ramani Duraiswami February Fourier Talks 2007

More information

Section 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents

Section 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents Section 5.5 Binary Tree A binary tree is a rooted tree in which each vertex has at most two children and each child is designated as being a left child or a right child. Thus, in a binary tree, each vertex

More information

GPU accelerated heterogeneous computing for Particle/FMM Approaches and for Acoustic Imaging

GPU accelerated heterogeneous computing for Particle/FMM Approaches and for Acoustic Imaging GPU accelerated heterogeneous computing for Particle/FMM Approaches and for Acoustic Imaging Ramani Duraiswami University of Maryland, College Park http://www.umiacs.umd.edu/~ramani With Nail A. Gumerov,

More information

Multi-agent based simulations using fast multipole method: application to large scale simulations of flocking dynamical systems

Multi-agent based simulations using fast multipole method: application to large scale simulations of flocking dynamical systems Artif Intell Rev (2011) 35:53 72 DOI 10.1007/s10462-010-9183-9 Multi-agent based simulations using fast multipole method: application to large scale simulations of flocking dynamical systems S. N. Razavi

More information

Chapter 20: Binary Trees

Chapter 20: Binary Trees Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other

More information

ExaFMM. Fast multipole method software aiming for exascale systems. User's Manual. Rio Yokota, L. A. Barba. November Revision 1

ExaFMM. Fast multipole method software aiming for exascale systems. User's Manual. Rio Yokota, L. A. Barba. November Revision 1 ExaFMM Fast multipole method software aiming for exascale systems User's Manual Rio Yokota, L. A. Barba November 2011 --- Revision 1 ExaFMM User's Manual i Revision History Name Date Notes Rio Yokota,

More information

A A Distributed Memory Fast Multipole Method for Volume Potentials

A A Distributed Memory Fast Multipole Method for Volume Potentials A A Distributed Memory Fast Multipole Method for Volume Potentials DHAIRYA MALHOTRA, The University of Texas at Austin, Austin, TX 78712 GEORGE BIROS, The University of Texas at Austin, Austin, TX 78712

More information

Why Use Binary Trees? Data Structures - Binary Trees 1. Trees (Contd.) Trees

Why Use Binary Trees? Data Structures - Binary Trees 1. Trees (Contd.) Trees Why Use Binary Trees? - Binary Trees 1 Dr. TGI Fernando 1 2 February 24, 2012 Fundamental data structure Combines the advantages of an ordered array and a linked list. You can search an ordered array quickly

More information

1. Introduction. We consider the problem of rapidly evaluating the sum. for m =1,...,N,

1. Introduction. We consider the problem of rapidly evaluating the sum. for m =1,...,N, SIAM J. SCI. COMPUT. Vol. 29, No. 3, pp. 1160 1178 c 2007 Society for Industrial and Applied Mathematics AN ACCELERATED KERNEL-INDEPENDENT FAST MULTIPOLE METHOD IN ONE DIMENSION P. G. MARTINSSON AND V.

More information

Data Structures - Binary Trees 1

Data Structures - Binary Trees 1 Data Structures - Binary Trees 1 Dr. TGI Fernando 1 2 February 24, 2012 1 Email: gishantha@dscs.sjp.ac.lk 2 URL: http://tgifernando.wordpress.com/ Dr. TGI Fernando () Data Structures - Binary Trees 1 February

More information

Fast Multipole Method on the GPU

Fast Multipole Method on the GPU Fast Multipole Method on the GPU with application to the Adaptive Vortex Method University of Bristol, Bristol, United Kingdom. 1 Introduction Particle methods Highly parallel Computational intensive Numerical

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 11: Binary Search Trees MOUNA KACEM mouna@cs.wisc.edu Fall 2018 General Overview of Data Structures 2 Introduction to trees 3 Tree: Important non-linear data structure

More information

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology

Trees : Part 1. Section 4.1. Theory and Terminology. A Tree? A Tree? Theory and Terminology. Theory and Terminology Trees : Part Section. () (2) Preorder, Postorder and Levelorder Traversals Definition: A tree is a connected graph with no cycles Consequences: Between any two vertices, there is exactly one unique path

More information

Binary Trees

Binary Trees Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what

More information

CSE 230 Intermediate Programming in C and C++ Binary Tree

CSE 230 Intermediate Programming in C and C++ Binary Tree CSE 230 Intermediate Programming in C and C++ Binary Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu Introduction to Tree Tree is a non-linear data structure

More information

arxiv: v1 [math.na] 9 Nov 2018

arxiv: v1 [math.na] 9 Nov 2018 arxiv:1811.04134v1 [math.na] 9 Nov 2018 An efficient method for block low-rank approximations for kernel matrix systems Xin Xing Edmond Chow Abstract In the iterative solution of dense linear systems from

More information

Associate Professor Dr. Raed Ibraheem Hamed

Associate Professor Dr. Raed Ibraheem Hamed Associate Professor Dr. Raed Ibraheem Hamed University of Human Development, College of Science and Technology Computer Science Department 2015 2016 Department of Computer Science _ UHD 1 What this Lecture

More information

Tree-based methods on GPUs

Tree-based methods on GPUs Tree-based methods on GPUs Felipe Cruz 1 and Matthew Knepley 2,3 1 Department of Mathematics University of Bristol 2 Computation Institute University of Chicago 3 Department of Molecular Biology and Physiology

More information

Fast Spherical Filtering in the Broadband FMBEM using a nonequally

Fast Spherical Filtering in the Broadband FMBEM using a nonequally Fast Spherical Filtering in the Broadband FMBEM using a nonequally spaced FFT Daniel R. Wilkes (1) and Alec. J. Duncan (1) (1) Centre for Marine Science and Technology, Department of Imaging and Applied

More information

MATH 417 Homework 8 Instructor: D. Cabrera Due August 4. e i(2z) (z 2 +1) 2 C R. z 1 C 1. 2 (z 2 + 1) dz 2. φ(z) = ei(2z) (z i) 2

MATH 417 Homework 8 Instructor: D. Cabrera Due August 4. e i(2z) (z 2 +1) 2 C R. z 1 C 1. 2 (z 2 + 1) dz 2. φ(z) = ei(2z) (z i) 2 MATH 47 Homework 8 Instructor: D. abrera Due August 4. ompute the improper integral cos x (x + ) dx Solution: To evaluate the integral consider the complex integral e i(z) (z + ) dz where is the union

More information

Planar Point Location

Planar Point Location C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

More information

Tree Structures. A hierarchical data structure whose point of entry is the root node

Tree Structures. A hierarchical data structure whose point of entry is the root node Binary Trees 1 Tree Structures A tree is A hierarchical data structure whose point of entry is the root node This structure can be partitioned into disjoint subsets These subsets are themselves trees and

More information

Binary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge.

Binary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge. Binary Trees 1 A binary tree is either empty, or it consists of a node called the root together with two binary trees called the left subtree and the right subtree of the root, which are disjoint from

More information

DATA STRUCTURES AND ALGORITHMS. Hierarchical data structures: AVL tree, Bayer tree, Heap

DATA STRUCTURES AND ALGORITHMS. Hierarchical data structures: AVL tree, Bayer tree, Heap DATA STRUCTURES AND ALGORITHMS Hierarchical data structures: AVL tree, Bayer tree, Heap Summary of the previous lecture TREE is hierarchical (non linear) data structure Binary trees Definitions Full tree,

More information

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures.

Trees. Q: Why study trees? A: Many advance ADTs are implemented using tree-based data structures. Trees Q: Why study trees? : Many advance DTs are implemented using tree-based data structures. Recursive Definition of (Rooted) Tree: Let T be a set with n 0 elements. (i) If n = 0, T is an empty tree,

More information

A fast solver for the Stokes equations with distributed forces in complex geometries 1

A fast solver for the Stokes equations with distributed forces in complex geometries 1 A fast solver for the Stokes equations with distributed forces in complex geometries George Biros, Lexing Ying, and Denis Zorin Courant Institute of Mathematical Sciences, New York University, New York

More information

ECE 242 Data Structures and Algorithms. Trees IV. Lecture 21. Prof.

ECE 242 Data Structures and Algorithms.  Trees IV. Lecture 21. Prof. ECE 22 Data Structures and Algorithms http://www.ecs.umass.edu/~polizzi/teaching/ece22/ Trees IV Lecture 2 Prof. Eric Polizzi Summary previous lectures Implementations BST 5 5 7 null 8 null null 7 null

More information

TREES. Trees - Introduction

TREES. Trees - Introduction TREES Chapter 6 Trees - Introduction All previous data organizations we've studied are linear each element can have only one predecessor and successor Accessing all elements in a linear sequence is O(n)

More information

Abstract Data Structures IB Computer Science. Content developed by Dartford Grammar School Computer Science Department

Abstract Data Structures IB Computer Science. Content developed by Dartford Grammar School Computer Science Department Abstract Data Structures IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4: Computational

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Binary Trees. Height 1

Binary Trees. Height 1 Binary Trees Definitions A tree is a finite set of one or more nodes that shows parent-child relationship such that There is a special node called root Remaining nodes are portioned into subsets T1,T2,T3.

More information

BINARY TREES, THE SEARCH TREE ADT BINARY SEARCH TREES, RED BLACK TREES, TREE TRAVERSALS, B TREES WEEK - 6

BINARY TREES, THE SEARCH TREE ADT BINARY SEARCH TREES, RED BLACK TREES, TREE TRAVERSALS, B TREES WEEK - 6 Ashish Jamuda Week 6 CS 331 DATA STRUCTURES & ALGORITHMS BINARY TREES, THE SEARCH TREE ADT BINARY SEARCH TREES, RED BLACK TREES, TREE TRAVERSALS, B TREES OBJECTIVES: Binary Trees Binary Search Trees Tree

More information

Efficient computation of source magnetic scalar potential

Efficient computation of source magnetic scalar potential Adv. Radio Sci., 4, 59 63, 2006 Author(s) 2006. This work is licensed under a Creative Commons License. Advances in Radio Science Efficient computation of source magnetic scalar potential W. Hafla, A.

More information

March 20/2003 Jayakanth Srinivasan,

March 20/2003 Jayakanth Srinivasan, Definition : A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. Definition : In a multigraph G = (V, E) two or

More information

The meshfree computation of stationary electric current densities in complex shaped conductors using 3D boundary element methods

The meshfree computation of stationary electric current densities in complex shaped conductors using 3D boundary element methods Boundary Elements and Other Mesh Reduction Methods XXXVII 121 The meshfree computation of stationary electric current densities in complex shaped conductors using 3D boundary element methods A. Buchau

More information

CMSC th Lecture: Graph Theory: Trees.

CMSC th Lecture: Graph Theory: Trees. CMSC 27100 26th Lecture: Graph Theory: Trees. Lecturer: Janos Simon December 2, 2018 1 Trees Definition 1. A tree is an acyclic connected graph. Trees have many nice properties. Theorem 2. The following

More information

3. According to universal addressing, what is the address of vertex d? 4. According to universal addressing, what is the address of vertex f?

3. According to universal addressing, what is the address of vertex d? 4. According to universal addressing, what is the address of vertex f? 1. Prove: A full m-ary tree with i internal vertices contains n = mi + 1 vertices. 2. For a full m-ary tree with n vertices, i internal vertices, and l leaves, prove: (i) i = (n 1)/m and l = [(m 1)n +

More information

Data Structures and Organization (p.5 Recursion. Binary Trees)

Data Structures and Organization (p.5 Recursion. Binary Trees) Data Structures and Organization (p.5 Recursion. Binary Trees) Yevhen Berkunskyi, Computer Science dept., NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Let s start with example Triangular Numbers

More information

CMPSCI 187: Programming With Data Structures. Lecture #26: Binary Search Trees David Mix Barrington 9 November 2012

CMPSCI 187: Programming With Data Structures. Lecture #26: Binary Search Trees David Mix Barrington 9 November 2012 CMPSCI 187: Programming With Data Structures Lecture #26: Binary Search Trees David Mix Barrington 9 November 2012 Binary Search Trees Why Binary Search Trees? Trees, Binary Trees and Vocabulary The BST

More information

CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators)

CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Name: Email address: Quiz Section: CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will

More information

Data Structures. Binary Trees. Root Level = 0. number of leaves:?? leaves Depth (Maximum level of the tree) leaves or nodes. Level=1.

Data Structures. Binary Trees. Root Level = 0. number of leaves:?? leaves Depth (Maximum level of the tree) leaves or nodes. Level=1. Data Structures inary Trees number of leaves:?? height leaves Depth (Maximum level of the tree) leaves or nodes Root Level = 0 Level=1 57 feet root 2 Level=2 Number of nodes: 2 (2+1) - 1 = 7 2 inary Trees

More information

Conformal Mapping and Fluid Mechanics

Conformal Mapping and Fluid Mechanics Conformal Mapping and Fluid Mechanics Monday, December 02, 2013 1:56 PM Homework 4 due (hard deadline) Wednesday, December 11 at 5 PM. more problems available rapid grading window: Friday, December 5 -

More information

CSCI-401 Examlet #5. Name: Class: Date: True/False Indicate whether the sentence or statement is true or false.

CSCI-401 Examlet #5. Name: Class: Date: True/False Indicate whether the sentence or statement is true or false. Name: Class: Date: CSCI-401 Examlet #5 True/False Indicate whether the sentence or statement is true or false. 1. The root node of the standard binary tree can be drawn anywhere in the tree diagram. 2.

More information

The success of multipole methods: Are we there yet?

The success of multipole methods: Are we there yet? King Abdullah University of Science and Technology Saudi Arabia, Apr. 2830, 2012 The success of multipole methods: Are we there yet? Lorena A Barba, Boston University 1948 The world s first computation

More information

Scaling Fast Multipole Methods up to 4000 GPUs

Scaling Fast Multipole Methods up to 4000 GPUs Scaling Fast Multipole Methods up to 4000 GPUs Rio Yokota King Abdullah University of Science and Technology 4700 KAUST, Thuwal 23955-6900, Saudi Arabia +966-2-808-0321 rio.yokota@kaust.edu.sa Lorena Barba

More information

7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w

7.1 Introduction. A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Chapter 7 Trees 7.1 Introduction A (free) tree T is A simple graph such that for every pair of vertices v and w there is a unique path from v to w Tree Terminology Parent Ancestor Child Descendant Siblings

More information

A comparison of parallel rank-structured solvers

A comparison of parallel rank-structured solvers A comparison of parallel rank-structured solvers François-Henry Rouet Livermore Software Technology Corporation, Lawrence Berkeley National Laboratory Joint work with: - LSTC: J. Anton, C. Ashcraft, C.

More information

Why Do We Need Trees?

Why Do We Need Trees? CSE 373 Lecture 6: Trees Today s agenda: Trees: Definition and terminology Traversing trees Binary search trees Inserting into and deleting from trees Covered in Chapter 4 of the text Why Do We Need Trees?

More information

Fast Multipole Accelerated Indirect Boundary Elements for the Helmholtz Equation

Fast Multipole Accelerated Indirect Boundary Elements for the Helmholtz Equation Fast Multipole Accelerated Indirect Boundary Elements for the Helmholtz Equation Nail A. Gumerov Ross Adelman Ramani Duraiswami University of Maryland Institute for Advanced Computer Studies and Fantalgo,

More information

Lecture Notes 16 - Trees CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson

Lecture Notes 16 - Trees CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson Lecture Notes 16 - Trees CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson Reading: Carrano, Chapter 15 Introduction to trees The data structures we have seen so far to implement

More information

COMP 250 Fall binary trees Oct. 27, 2017

COMP 250 Fall binary trees Oct. 27, 2017 The order of a (rooted) tree is the maximum number of children of any node. A tree of order n is called an n-ary tree. It is very common to use trees of order 2. These are called binary trees. Binary Trees

More information

Trees and Tree Traversals. Binary Trees. COMP 210: Object-Oriented Programming Lecture Notes 8. Based on notes by Logan Mayfield

Trees and Tree Traversals. Binary Trees. COMP 210: Object-Oriented Programming Lecture Notes 8. Based on notes by Logan Mayfield OMP 210: Object-Oriented Programming Lecture Notes 8 Trees and Tree Traversals ased on notes by Logan Mayfield In these notes we look at inary Trees and how to traverse them. inary Trees Imagine a list.

More information

Panel methods are currently capable of rapidly solving the potential flow equation on rather complex

Panel methods are currently capable of rapidly solving the potential flow equation on rather complex A Fast, Unstructured Panel Solver John Moore 8.337 Final Project, Fall, 202 A parallel high-order Boundary Element Method accelerated by the Fast Multipole Method is presented in this report. The case

More information

Trees. Tree Structure Binary Tree Tree Traversals

Trees. Tree Structure Binary Tree Tree Traversals Trees Tree Structure Binary Tree Tree Traversals The Tree Structure Consists of nodes and edges that organize data in a hierarchical fashion. nodes store the data elements. edges connect the nodes. The

More information

BBM 201 Data structures

BBM 201 Data structures BBM 201 Data structures Lecture 11: Trees 2018-2019 Fall Content Terminology The Binary Tree The Binary Search Tree Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, 2013

More information

Binary Trees, Binary Search Trees

Binary Trees, Binary Search Trees Binary Trees, Binary Search Trees Trees Linear access time of linked lists is prohibitive Does there exist any simple data structure for which the running time of most operations (search, insert, delete)

More information

Binomial Coefficients

Binomial Coefficients Binomial Coefficients Russell Impagliazzo and Miles Jones Thanks to Janine Tiefenbruck http://cseweb.ucsd.edu/classes/sp16/cse21-bd/ May 6, 2016 Fixed-density Binary Strings How many length n binary strings

More information

Computational Optimization ISE 407. Lecture 16. Dr. Ted Ralphs

Computational Optimization ISE 407. Lecture 16. Dr. Ted Ralphs Computational Optimization ISE 407 Lecture 16 Dr. Ted Ralphs ISE 407 Lecture 16 1 References for Today s Lecture Required reading Sections 6.5-6.7 References CLRS Chapter 22 R. Sedgewick, Algorithms in

More information

Binary Search Trees Treesort

Binary Search Trees Treesort Treesort CS 311 Data Structures and Algorithms Lecture Slides Friday, November 13, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009

More information

Fast methods for N-body problems

Fast methods for N-body problems CME342- Parallel Methods in Numerical Analysis Fast methods for N-body problems May 21, 2014 Lecture 13 Outline Motivation: N-body problem is O(N^2) Data structures: quad tree and oct tree (ADT?) The Barnes-Hut

More information

c 2014 Society for Industrial and Applied Mathematics

c 2014 Society for Industrial and Applied Mathematics SIAM J. SCI. COMPUT. Vol. 36, No. 4, pp. C335 C352 c 2014 Society for Industrial and Applied Mathematics A PARALLEL DIRECTIONAL FAST MULTIPOLE METHOD AUSTIN R. BENSON, JACK POULSON, KENNETH TRAN, BJÖRN

More information

Data Structure Lecture#10: Binary Trees (Chapter 5) U Kang Seoul National University

Data Structure Lecture#10: Binary Trees (Chapter 5) U Kang Seoul National University Data Structure Lecture#10: Binary Trees (Chapter 5) U Kang Seoul National University U Kang (2016) 1 In This Lecture The concept of binary tree, its terms, and its operations Full binary tree theorem Idea

More information

Using a Fast Multipole Method to Accelerate Spline Evaluations

Using a Fast Multipole Method to Accelerate Spline Evaluations Using a Fast Multipole Method to Accelerate Spline Evaluations FANG CHEN AND DAVID SUTER Monush University, Australia 4 e In considering the problem of interpolating scattered data using spline methods,

More information

Scalable Distributed Fast Multipole Methods

Scalable Distributed Fast Multipole Methods Scalable Distributed Fast Multipole Methods Qi Hu, Nail A. Gumerov, Ramani Duraiswami University of Maryland Institute for Advanced Computer Studies (UMIACS) Department of Computer Science, University

More information

Course Review for. Cpt S 223 Fall Cpt S 223. School of EECS, WSU

Course Review for. Cpt S 223 Fall Cpt S 223. School of EECS, WSU Course Review for Midterm Exam 1 Cpt S 223 Fall 2011 1 Midterm Exam 1 When: Friday (10/14) 1:10-2pm Where: in class Closed book, closed notes Comprehensive Material for preparation: Lecture slides & in-class

More information

New Multipole Method for 3-D Capacitance Extraction

New Multipole Method for 3-D Capacitance Extraction July 2004, Vo1.19, No.4, pp.544-549 J. Comput. Sci. ~ Technol. New Multipole Method for 3-D Capacitance Extraction Zhao-Zhi Yang and Ze-Yi Wang Department of Computer Science and Technology, Tsinghua University,

More information

There are many other applications like constructing the expression tree from the postorder expression. I leave you with an idea as how to do it.

There are many other applications like constructing the expression tree from the postorder expression. I leave you with an idea as how to do it. Programming, Data Structures and Algorithms Prof. Hema Murthy Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 49 Module 09 Other applications: expression tree

More information

Lecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader

Lecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader Scene Graphs: Rendering Lab 3b: Shader William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web site: http://www.kddresearch.org/courses/cis636

More information

Data Structures and Algorithms for Engineers

Data Structures and Algorithms for Engineers 04-630 Data Structures and Algorithms for Engineers David Vernon Carnegie Mellon University Africa vernon@cmu.edu www.vernon.eu Data Structures and Algorithms for Engineers 1 Carnegie Mellon University

More information

Trees. Truong Tuan Anh CSE-HCMUT

Trees. Truong Tuan Anh CSE-HCMUT Trees Truong Tuan Anh CSE-HCMUT Outline Basic concepts Trees Trees A tree consists of a finite set of elements, called nodes, and a finite set of directed lines, called branches, that connect the nodes

More information

Implementation of rotation-based operators for Fast Multipole Method in X10 Andrew Haigh

Implementation of rotation-based operators for Fast Multipole Method in X10 Andrew Haigh School of Computer Science College of Engineering and Computer Science Implementation of rotation-based operators for Fast Multipole Method in X10 Andrew Haigh Supervisors: Dr Eric McCreath Josh Milthorpe

More information

Treelogy: A Benchmark Suite for Tree Traversals

Treelogy: A Benchmark Suite for Tree Traversals Purdue University Programming Languages Group Treelogy: A Benchmark Suite for Tree Traversals Nikhil Hegde, Jianqiao Liu, Kirshanthan Sundararajah, and Milind Kulkarni School of Electrical and Computer

More information

Binary search trees. Binary search trees are data structures based on binary trees that support operations on dynamic sets.

Binary search trees. Binary search trees are data structures based on binary trees that support operations on dynamic sets. COMP3600/6466 Algorithms 2018 Lecture 12 1 Binary search trees Reading: Cormen et al, Sections 12.1 to 12.3 Binary search trees are data structures based on binary trees that support operations on dynamic

More information

Binary search trees 3. Binary search trees. Binary search trees 2. Reading: Cormen et al, Sections 12.1 to 12.3

Binary search trees 3. Binary search trees. Binary search trees 2. Reading: Cormen et al, Sections 12.1 to 12.3 Binary search trees Reading: Cormen et al, Sections 12.1 to 12.3 Binary search trees 3 Binary search trees are data structures based on binary trees that support operations on dynamic sets. Each element

More information

CS61B Lecture #20: Trees. Last modified: Mon Oct 8 21:21: CS61B: Lecture #20 1

CS61B Lecture #20: Trees. Last modified: Mon Oct 8 21:21: CS61B: Lecture #20 1 CS61B Lecture #20: Trees Last modified: Mon Oct 8 21:21:22 2018 CS61B: Lecture #20 1 A Recursive Structure Trees naturally represent recursively defined, hierarchical objects with more than one recursive

More information

Fast multipole methods for. three-dimensional N-body problems. By P. Koumoutsakos

Fast multipole methods for. three-dimensional N-body problems. By P. Koumoutsakos Center for Turbulence Research Annual Research Briefs 1995 377 Fast multipole methods for three-dimensional N-body problems By P. Koumoutsakos 1. Motivation and objectives We are developing computational

More information

Terascale on the desktop: Fast Multipole Methods on Graphical Processors

Terascale on the desktop: Fast Multipole Methods on Graphical Processors Terascale on the desktop: Fast Multipole Methods on Graphical Processors Nail A. Gumerov Fantalgo, LLC Institute for Advanced Computer Studies University of Maryland (joint work with Ramani Duraiswami)

More information

Trees. Introduction & Terminology. February 05, 2018 Cinda Heeren / Geoffrey Tien 1

Trees. Introduction & Terminology. February 05, 2018 Cinda Heeren / Geoffrey Tien 1 Trees Introduction & Terminology Cinda Heeren / Geoffrey Tien 1 Review: linked lists Linked lists are constructed out of nodes, consisting of a data element a pointer to another node Lists are constructed

More information

Binary Trees. Reading: Lewis & Chase 12.1, 12.3 Eck Programming Course CL I

Binary Trees. Reading: Lewis & Chase 12.1, 12.3 Eck Programming Course CL I inary Trees Reading: Lewis & hase 12.1, 12.3 Eck 9.4.1 Objectives Tree basics Learn the terminology used when talking about trees iscuss methods for traversing trees iscuss a possible implementation of

More information

how to efficiently evaluate (1)

how to efficiently evaluate (1) doi:10.1145/2160718.2160740 A Massively Parallel Adaptive Fast Multipole Method on Heterogeneous Architectures By Ilya Lashuk, Aparna Chandramowlishwaran, Harper Langston, Tuan-Anh Nguyen, Rahul Sampath,

More information

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard

FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should Use better data structures

More information

CME 213 S PRING Eric Darve

CME 213 S PRING Eric Darve CME 213 S PRING 2017 Eric Darve OPENMP Standard multicore API for scientific computing Based on fork-join model: fork many threads, join and resume sequential thread Uses pragma:#pragma omp parallel Shared/private

More information

Principles of Computer Science

Principles of Computer Science Principles of Computer Science Binary Trees 08/11/2013 CSCI 2010 - Binary Trees - F.Z. Qureshi 1 Today s Topics Extending LinkedList with Fast Search Sorted Binary Trees Tree Concepts Traversals of a Binary

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

ICS 691: Advanced Data Structures Spring Lecture 3

ICS 691: Advanced Data Structures Spring Lecture 3 ICS 691: Advanced Data Structures Spring 2016 Prof. Nodari Sitchinava Lecture 3 Scribe: Ben Karsin 1 Overview In the last lecture we started looking at self-adjusting data structures, specifically, move-to-front

More information

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees

Section Summary. Introduction to Trees Rooted Trees Trees as Models Properties of Trees Chapter 11 Copyright McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education. Chapter Summary Introduction to Trees Applications

More information

MATH 2023 Multivariable Calculus

MATH 2023 Multivariable Calculus MATH 2023 Multivariable Calculus Problem Sets Note: Problems with asterisks represent supplementary informations. You may want to read their solutions if you like, but you don t need to work on them. Set

More information

Chapter 4 Trees. Theorem A graph G has a spanning tree if and only if G is connected.

Chapter 4 Trees. Theorem A graph G has a spanning tree if and only if G is connected. Chapter 4 Trees 4-1 Trees and Spanning Trees Trees, T: A simple, cycle-free, loop-free graph satisfies: If v and w are vertices in T, there is a unique simple path from v to w. Eg. Trees. Spanning trees:

More information

Successor/Predecessor Rules in Binary Trees

Successor/Predecessor Rules in Binary Trees Successor/Predecessor Rules in inary Trees Thomas. nastasio July 7, 2003 Introduction inary tree traversals are commonly made in one of three patterns, inorder, preorder, and postorder. These traversals

More information