Laplace-Beltrami: The Swiss Army Knife of Geometry Processing

Size: px
Start display at page:

Download "Laplace-Beltrami: The Swiss Army Knife of Geometry Processing"

Transcription

1 Laplace-Beltrami: The Swiss Army Knife of Geometry Processing (SGP 2014 Tutorial July ) Justin Solomon / Stanford University Keenan Crane / Columbia University Etienne Vouga / Harvard University

2 INTRODUCTION

3 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks.

4 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline:

5 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline: 1 simple pre-processing (build f )

6 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline: 1 simple pre-processing (build f ) 2 solve a PDE involving the Laplacian (e.g., Du = f )

7 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline: 1 simple pre-processing (build f ) 2 solve a PDE involving the Laplacian (e.g., Du = f ) 3 simple post-processing (do something with u)

8 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline: 1 simple pre-processing (build f ) 2 solve a PDE involving the Laplacian (e.g., Du = f ) 3 simple post-processing (do something with u) Expressing tasks in terms of Laplacian/smooth PDEs makes life easier at code/implementation level.

9 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline: 1 simple pre-processing (build f ) 2 solve a PDE involving the Laplacian (e.g., Du = f ) 3 simple post-processing (do something with u) Expressing tasks in terms of Laplacian/smooth PDEs makes life easier at code/implementation level. Lots of existing theory to help understand/interpret algorithms, provide analysis/guarantees.

10 Introduction Laplace-Beltrami operator ( Laplacian ) provides a basis for a diverse variety of geometry processing tasks. Remarkably common pipeline: 1 simple pre-processing (build f ) 2 solve a PDE involving the Laplacian (e.g., Du = f ) 3 simple post-processing (do something with u) Expressing tasks in terms of Laplacian/smooth PDEs makes life easier at code/implementation level. Lots of existing theory to help understand/interpret algorithms, provide analysis/guarantees. Also makes it easy to work with a broad range of geometric data structures (meshes, point clouds, etc.)

11 Goals of this tutorial: Introduction

12 Goals of this tutorial: Introduction Understand the Laplacian in the smooth setting. (Etienne)

13 Goals of this tutorial: Introduction Understand the Laplacian in the smooth setting. (Etienne) Build the Laplacian in the discrete setting. (Keenan)

14 Goals of this tutorial: Introduction Understand the Laplacian in the smooth setting. (Etienne) Build the Laplacian in the discrete setting. (Keenan) Use Laplacian to implement a variety of methods. (Justin)

15 SMOOTH THEORY

16 The Interpolation Problem f = 1 given: region W R 2 with boundary W function f on W fill in f as smoothly as possible W W f = 1

17 The Interpolation Problem f = 1 W given: region W R 2 with boundary W function f on W fill in f as smoothly as possible (what does this even mean?) W f = 1

18 The Interpolation Problem f = 1 W W f = 1 given: region W R 2 with boundary W function f on W fill in f as smoothly as possible (what does this even mean?) smooth: constant functions linear functions

19 The Interpolation Problem f = 1 W W f = 1 given: region W R 2 with boundary W function f on W fill in f as smoothly as possible (what does this even mean?) smooth: constant functions linear functions not smooth: f not continuous

20 The Interpolation Problem f = 1 W W f = 1 given: region W R 2 with boundary W function f on W fill in f as smoothly as possible (what does this even mean?) smooth: constant functions linear functions not smooth: f not continuous large variations over short distances (krf k large)

21 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da properties: nonnegative zero for constant functions measures smoothness krf k 2

22 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da properties: nonnegative zero for constant functions measures smoothness solution to interpolation problem is minimizer of E krf k 2

23 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da properties: nonnegative zero for constant functions measures smoothness solution to interpolation problem is minimizer of E how do we find minimum? krf k 2

24 Dirichlet Energy E(f )= R W krf k2 da it can be shown that: E(f )=C R W f Df da non-smooth f (x) krf k 2

25 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da it can be shown that: E(f )=C R W f Df da 2Df is the gradient of Dirichlet energy Df

26 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da it can be shown that: E(f )=C R W f Df da 2Df is the gradient of Dirichlet energy f minimizes E if Df = 0 Df

27 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da it can be shown that: E(f )=C R W f Df da 2Df is the gradient of Dirichlet energy f minimizes E if Df = 0 PDE form (Laplace s Equation): Df (x) =0 f (x) =f 0 (x) x 2 W x 2 W solution Df = 0

28 Dirichlet Energy non-smooth f (x) E(f )= R W krf k2 da it can be shown that: E(f )=C R W f Df da 2Df is the gradient of Dirichlet energy f minimizes E if Df = 0 PDE form (Laplace s Equation): Df (x) =0 f (x) =f 0 (x) x 2 W x 2 W solution Df = 0 physical interpretation: temperature at steady state

29 f = 1 On a Surface f = 1 boundary conditions nonsmooth f (x)

30 f = 1 On a Surface f = 1 boundary conditions nonsmooth f (x) krf k 2 can still define Dirichlet energy E(f )= R krf k2 M

31 f = 1 On a Surface f = 1 boundary conditions nonsmooth f (x) Df = 0 can still define Dirichlet energy E(f )= R krf k2 M re(f )= Df, now D is the Laplace-Beltrami operator of M

32 f = 1 On a Surface f = 1 boundary conditions nonsmooth f (x) Df = 0 can still define Dirichlet energy E(f )= R krf k2 M re(f )= Df, now D is the Laplace-Beltrami operator of M also works in higher dimensions, on discrete graphs/point clouds,...

33 Existence and Uniqueness Laplace s equation Df (x) =0 f (x) =f 0 (x) x 2 M x 2 M has a unique solution for all reasonable 1 surfaces M 1 e.g. compact, smooth, with piecewise smooth boundary

34 Existence and Uniqueness Laplace s equation Df (x) =0 f (x) =f 0 (x) x 2 M x 2 M has a unique solution for all reasonable 1 surfaces M physical interpretation: apply heating/cooling f 0 to the boundary of a metal plate. Interior temperature will reach some steady state 1 e.g. compact, smooth, with piecewise smooth boundary

35 Existence and Uniqueness Laplace s equation Df (x) =0 f (x) =f 0 (x) x 2 M x 2 M has a unique solution for all reasonable 1 surfaces M physical interpretation: apply heating/cooling f 0 to the boundary of a metal plate. Interior temperature will reach some steady state gradient descent is exactly the heat or diffusion equation df (x) =Df (x). dt 1 e.g. compact, smooth, with piecewise smooth boundary

36 time Heat Equation Illustrated

37 Boundary Conditions f 0 = 1 W N g 0 = 0 W can specify rf ˆn on boundary instead of f : Df (x) =0 x 2 W f (x) =f 0 (x) x 2 W D (Dirichlet bdry) rf ˆn = g 0 (x) x 2 W N (Neumann bdry) W D f 0 = 1

38 Boundary Conditions f 0 = 1 W N g 0 = 0 W can specify rf ˆn on boundary instead of f : Df (x) =0 x 2 W f (x) =f 0 (x) x 2 W D (Dirichlet bdry) rf ˆn = g 0 (x) x 2 W N (Neumann bdry) W D f 0 = 1 usually: g 0 = 0(natural bdry conds)

39 Boundary Conditions f 0 = 1 W N g 0 = 0 W can specify rf ˆn on boundary instead of f : Df (x) =0 x 2 W f (x) =f 0 (x) x 2 W D (Dirichlet bdry) rf ˆn = g 0 (x) x 2 W N (Neumann bdry) W D f 0 = 1 usually: g 0 = 0(natural bdry conds) physical interpretation: free boundary through which heat cannot flow

40 Interpolation with D in Practice in geometry processing: positions displacements vector fields parameterizations... you name it Joshi et al Eck et al Sorkine and Cohen-Or

41 Heat Equation with Source f = 1 what if you add heat sources inside W? g = 1

42 Heat Equation with Source f = 1 what if you add heat sources inside W? g = 1 df (x) =g(x)+df (x) dt

43 Heat Equation with Source f = 1 what if you add heat sources inside W? g = 1 df (x) =g(x)+df (x) dt PDE form: Poisson s equation Df (x) =g(x) f (x) =f 0 (x) x 2 W x 2 W

44 Heat Equation with Source f = 1 what if you add heat sources inside W? g = 1 df (x) =g(x)+df (x) dt PDE form: Poisson s equation Df (x) =g(x) f (x) =f 0 (x) x 2 W x 2 W common variational problem: Z min krf f M vk 2 da

45 Heat Equation with Source f = 1 what if you add heat sources inside W? g = 1 df (x) =g(x)+df (x) dt PDE form: Poisson s equation Df (x) =g(x) f (x) =f 0 (x) x 2 W x 2 W common variational problem: Z min krf f M vk 2 da becomes Poisson problem, g = r v

46 Essential Algebraic Properties I linearity: D (f (x) + ag(x)) = Df (x) + adg(x)

47 Essential Algebraic Properties I linearity: constants in kernel: Da = 0 D (f (x) + ag(x)) = Df (x) + adg(x)

48 Essential Algebraic Properties I linearity: D (f (x) + ag(x)) = Df (x) + adg(x) constants in kernel: Da = 0 for functions that vanish on M: Z Z self-adjoint: f Dg da = Z M negative: f Df da apple 0 M M Z hrf, rgi da = M gdf da

49 Essential Algebraic Properties I linearity: D (f (x) + ag(x)) = Df (x) + adg(x) constants in kernel: Da = 0 for functions that vanish on M: Z Z self-adjoint: f Dg da = Z M negative: f Df da apple 0 M M Z hrf, rgi da = M gdf da (intuition: D an -dimensional negative-semidefinite matrix)

50 Solving Poisson s Equation with Green s Functions the Green s function G on R 2 solves Df = g for g = d d(x) G(x)

51 Solving Poisson s Equation with Green s Functions the Green s function G on R 2 solves Df = g for g = d linearity: if g = Â a i d(x x i ), f = Â a i G(x x i ) d(x) G(x)

52 Solving Poisson s Equation with Green s Functions the Green s function G on R 2 solves Df = g for g = d linearity: if g = Â a i d(x x i ), f = Â a i G(x x i ) for any g, f = G g d(x) G(x)

53 Essential Algebraic Properties II a function f : M! R with Df = 0 is called harmonic. Properties: f is smooth and analytic some harmonic f (x, y)

54 Essential Algebraic Properties II a function f : M! R with Df = 0 is called harmonic. Properties: f is smooth and analytic f (x) is the average of f over any disk around x: f (x) = 1 Z pr 2 f (y) da B(x,r)

55 Essential Algebraic Properties II a function f : M! R with Df = 0 is called harmonic. Properties: f is smooth and analytic f (x) is the average of f over any disk around x: f (x) = 1 Z pr 2 f (y) da B(x,r) maximum principle: f has no local maxima or minima in M

56 Essential Algebraic Properties II a function f : M! R with Df = 0 is called harmonic. Properties: f is smooth and analytic f (x) is the average of f over any disk around x: f (x) = 1 Z pr 2 f (y) da B(x,r) maximum principle: f has no local maxima or minima in M (can have saddle points)

57 Essential Geometric Properties I for a curve g(u) =(x[u], y[u]) : R! R 2 total Dirichlet energy R krxk 2 + kryk 2 is arc length

58 Essential Geometric Properties I for a curve g(u) =(x[u], y[u]) : R! R 2 total Dirichlet energy R krxk 2 + kryk 2 is arc length Dg =(Dx, Dy) is gradient of arc length

59 Essential Geometric Properties I for a curve g(u) =(x[u], y[u]) : R! R 2 total Dirichlet energy R krxk 2 + kryk 2 is arc length Dg =(Dx, Dy) is gradient of arc length Dg is the curvature normal k ˆn

60 Essential Geometric Properties I for a curve g(u) =(x[u], y[u]) : R! R 2 total Dirichlet energy R krxk 2 + kryk 2 is arc length Dg =(Dx, Dy) is gradient of arc length Dg is the curvature normal k ˆn minimal curves are harmonic

61 Essential Geometric Properties I for a curve g(u) =(x[u], y[u]) : R! R 2 total Dirichlet energy R krxk 2 + kryk 2 is arc length Dg =(Dx, Dy) is gradient of arc length Dg is the curvature normal k ˆn minimal curves are harmonic (straight lines)

62 Essential Geometric Properties II for a surface r(u, v) =(x[u, v], y[u, v], z[u, v]) : R! R 3 total Dirichlet energy is surface area Dr =(Dx, Dy, Dz) is gradient of surface area

63 Essential Geometric Properties II for a surface r(u, v) =(x[u, v], y[u, v], z[u, v]) : R! R 3 total Dirichlet energy is surface area Dr =(Dx, Dy, Dz) is gradient of surface area Dr is the mean curvature normal 2H ˆn

64 Essential Geometric Properties II for a surface r(u, v) =(x[u, v], y[u, v], z[u, v]) : R! R 3 total Dirichlet energy is surface area Dr =(Dx, Dy, Dz) is gradient of surface area Dr is the mean curvature normal 2H ˆn minimal surfaces are harmonic! Images: Paul Nylander

65 D is intrinsic Essential Geometric Properties III

66 Essential Geometric Properties III D is intrinsic for W R 2, rigid motions of W don t change D

67 Essential Geometric Properties III D is intrinsic for W R 2, rigid motions of W don t change D for a surface W, isometric deformations of W don t change D

68 Signal Processing on a Line on line segment [0, 1]: recall Fourier basis: f i (x) =cos(ix)

69 Signal Processing on a Line on line segment [0, 1]: recall Fourier basis: f i (x) =cos(ix) can decompose f = Â a i f i

70 Signal Processing on a Line on line segment [0, 1]: recall Fourier basis: f i (x) =cos(ix) can decompose f = Â a i f i f i satisfies Df i = i 2 f i

71 Signal Processing on a Line on line segment [0, 1]: recall Fourier basis: f i (x) =cos(ix) can decompose f = Â a i f i f i satisfies Df i = i 2 f i Dirichlet energy of f : Â i 2 a i

72 Signal Processing on a Line on line segment [0, 1]: recall Fourier basis: f i (x) =cos(ix) can decompose f = Â a i f i f i satisfies Df i = i 2 f i Dirichlet energy of f : Â i 2 a i f (x) = N Â i=1 a i f i (x) {z } low-frequency base + Â i=n+1 a i f i (x) {z } high-frequency detail

73 Laplacian Spectrum f is a (Dirichlet) eigenfunction of D on M w/ eigenvalue l: Df(x) =lf(x), x 2 M 0 = f(x), x 2 M Z 1 = kfk da. M

74 Laplacian Spectrum f is a (Dirichlet) eigenfunction of D on M w/ eigenvalue l: Df(x) =lf(x), x 2 M 0 = f(x), x 2 M Z 1 = kfk da. M recall intuition: D as -dim negative-semidefinite matrix

75 Laplacian Spectrum f is a (Dirichlet) eigenfunction of D on M w/ eigenvalue l: Df(x) =lf(x), x 2 M 0 = f(x), x 2 M Z 1 = kfk da. M recall intuition: D as -dim negative-semidefinite matrix expect orthogonal eigenfunctions with negative eigenvalue

76 Laplacian Spectrum f is a (Dirichlet) eigenfunction of D on M w/ eigenvalue l: Df(x) =lf(x), x 2 M 0 = f(x), x 2 M Z 1 = kfk da. M recall intuition: D as -dim negative-semidefinite matrix expect orthogonal eigenfunctions with negative eigenvalue spectrum is discrete: countably many eigenfunctions, 0 l 1 l 2 l 3...

77 Laplacian Spectrum of Bunny f 2 f 3 f 6 f 18

78 Laplacian Spectrum: Signal Processing expand function f in eigenbasis: f (x) =Â a i f i (x) i Dirichlet energy of f : Z E(f )= M krf k 2 da = Z M f Df da = Â a 2 i ( l i) i

79 Laplacian Spectrum: Signal Processing expand function f in eigenbasis: f (x) =Â a i f i (x) i Dirichlet energy of f : Z E(f )= M krf k 2 da = large l i terms dominate Z M f Df da = Â a 2 i ( l i) i

80 Laplacian Spectrum: Signal Processing 10 modes 25 modes 50 modes large l i terms dominate f (x) = N Â i=1 a i f i (x) {z } low-frequency base + Â i=n+1 a i f i (x) {z } high-frequency detail

81 Laplacian Spectrum: Special Cases perhaps you ve heard of Fourier basis: M = R n spherical harmonics: M = sphere

82 Laplacian Spectrum: Special Cases perhaps you ve heard of Fourier basis: M = R n spherical harmonics: M = sphere Laplacian spectrum generalizes these to any surface

83 DISCRETIZATION

84 Discrete Geometry

85 Triangle Meshes approximate surface by triangles

86 Triangle Meshes approximate surface by triangles glued together along edges

87 Triangle Meshes approximate surface by triangles glued together along edges many possible data structures

88 Triangle Meshes approximate surface by triangles glued together along edges many possible data structures half edge, quad edge, corner table,...

89 Triangle Meshes approximate surface by triangles glued together along edges many possible data structures half edge, quad edge, corner table,... for simplicity: vertex-face adjacency list

90 Triangle Meshes approximate surface by triangles glued together along edges many possible data structures half edge, quad edge, corner table,... for simplicity: vertex-face adjacency list (will be enough for our applications!)

91 Vertex-Face Adjacency List Example # xyz-coordinates of vertices v v v v # vertex-face adjacency info f f 1 4 2

92 Manifold

93 Nonmanifold

94 Manifold Triangle Mesh manifold () locally disk-like

95 Manifold Triangle Mesh manifold () locally disk-like Which triangle meshes are manifold?

96 Manifold Triangle Mesh manifold () locally disk-like Which triangle meshes are manifold? Two triangles per edge (no fins )

97 Manifold Triangle Mesh manifold () locally disk-like Which triangle meshes are manifold? Two triangles per edge (no fins ) Every vertex looks like a fan

98 Manifold Triangle Mesh manifold () locally disk-like Which triangle meshes are manifold? Two triangles per edge (no fins ) Every vertex looks like a fan Why? Simplicity.

99 Manifold Triangle Mesh manifold () locally disk-like Which triangle meshes are manifold? Two triangles per edge (no fins ) Every vertex looks like a fan Why? Simplicity. (Sometimes not necessary... )

100 Manifold Triangle Mesh manifold () locally disk-like Which triangle meshes are manifold? Two triangles per edge (no fins ) Every vertex looks like a fan Why? Simplicity. (Sometimes not necessary... )

101 (Assuming a manifold triangle mesh... ) The Cotangent Laplacian (Du) i 1 2A i  j2n (i) (cot a ij + cot b ij )(u i u j )

102 (Assuming a manifold triangle mesh... ) The Cotangent Laplacian (Du) i 1 2A i  j2n (i) (cot a ij + cot b ij )(u i u j ) The set N (i) contains the immediate neighbors of vertex i

103 (Assuming a manifold triangle mesh... ) The Cotangent Laplacian (Du) i 1 2A i  j2n (i) (cot a ij + cot b ij )(u i u j ) The set N (i) contains the immediate neighbors of vertex i The quantity A i is vertex area for now: 1/3rd of triangle areas

104 Many different ways to derive it Origin of the Cotan Formula?

105 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM)

106 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes

107 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)

108 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)...

109 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999]

110 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999] minimal surfaces [Pinkall and Polthier, 1993]

111 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999] minimal surfaces [Pinkall and Polthier, 1993] electrical networks [Duffin, 1959]

112 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999] minimal surfaces [Pinkall and Polthier, 1993] electrical networks [Duffin, 1959] Poisson equation [MacNeal, 1949]

113 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999] minimal surfaces [Pinkall and Polthier, 1993] electrical networks [Duffin, 1959] Poisson equation [MacNeal, 1949] (Courant? Frankel? Manhattan Project?)

114 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999] minimal surfaces [Pinkall and Polthier, 1993] electrical networks [Duffin, 1959] Poisson equation [MacNeal, 1949] (Courant? Frankel? Manhattan Project?) All these different viewpoints yield exact same cotan formula

115 Origin of the Cotan Formula? Many different ways to derive it piecewise linear finite elements (FEM) finite volumes discrete exterior calculus (DEC)... Re-derived in many different contexts: mean curvature flow [Desbrun et al., 1999] minimal surfaces [Pinkall and Polthier, 1993] electrical networks [Duffin, 1959] Poisson equation [MacNeal, 1949] (Courant? Frankel? Manhattan Project?) All these different viewpoints yield exact same cotan formula For three different derivations, see [Crane et al., 2013a]

116 MacNeal, 1949

117 Integrate over each dual cell C i Cotan-Laplacian via Finite Volumes

118 Cotan-Laplacian via Finite Volumes Integrate over each dual cell C i R C i Du = R C i f ( weak )

119 Cotan-Laplacian via Finite Volumes Integrate over each dual cell C i R C i Du = R C i f ( weak ) Right-hand side approximated as A i f i

120 Cotan-Laplacian via Finite Volumes Integrate over each dual cell C i R C i Du = R C i f ( weak ) Right-hand side approximated as A i f i Left-hand side becomes R C i r ru = R C i n ru (Stokes )

121 Cotan-Laplacian via Finite Volumes Integrate over each dual cell C i R C i Du = R C i f ( weak ) Right-hand side approximated as A i f i Left-hand side becomes R C i r ru = R C i n ru (Stokes ) Get piecewise integral over boundary  ej 2 C i n Re j j ru

122 Cotan-Laplacian via Finite Volumes Integrate over each dual cell C i R C i Du = R C i f ( weak ) Right-hand side approximated as A i f i Left-hand side becomes R C i r ru = R C i n ru (Stokes ) Get piecewise integral over boundary  ej 2 C i n Re j j ru After some trigonometry: 1 2  j2n (i)(cot a ij + cot b ij )(u i u j )

123 Cotan-Laplacian via Finite Volumes Integrate over each dual cell C i R C i Du = R C i f ( weak ) Right-hand side approximated as A i f i Left-hand side becomes R C i r ru = R C i n ru (Stokes ) Get piecewise integral over boundary  ej 2 C i n Re j j ru After some trigonometry: 1 2  j2n (i)(cot a ij + cot b ij )(u i u j ) (Can divide by A i to approximate pointwise value)

124 Triangle Quality Rule of Thumb good triangles bad triangles (For further discussion see Shewchuk, What Is a Good Linear Finite Element? )

125 Triangle Quality Delaunay Property Delaunay Not Delaunay

126 Local Mesh Improvement Some simple ways to improve quality of Laplacian

127 Local Mesh Improvement Some simple ways to improve quality of Laplacian E.g., if a + b > p, flip the edge; after enough flips, mesh will be Delaunay [Bobenko and Springborn, 2005]

128 Local Mesh Improvement Some simple ways to improve quality of Laplacian E.g., if a + b > p, flip the edge; after enough flips, mesh will be Delaunay [Bobenko and Springborn, 2005] Other ways to improve mesh (edge collapse, edge split,... )

129 Local Mesh Improvement Some simple ways to improve quality of Laplacian E.g., if a + b > p, flip the edge; after enough flips, mesh will be Delaunay [Bobenko and Springborn, 2005] Other ways to improve mesh (edge collapse, edge split,... ) Particular interest recently in interface tracking

130 Local Mesh Improvement Some simple ways to improve quality of Laplacian E.g., if a + b > p, flip the edge; after enough flips, mesh will be Delaunay [Bobenko and Springborn, 2005] Other ways to improve mesh (edge collapse, edge split,... ) Particular interest recently in interface tracking For more, see [Dunyach et al., 2013, Wojtan et al., 2011].

131 Meshes and Matrices 1 So far, Laplacian expressed as a sum: (Laplace matrix, ignoring weights!)

132 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) (Laplace matrix, ignoring weights!)

133 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices (Laplace matrix, ignoring weights!)

134 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V (Laplace matrix, ignoring weights!)

135 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V (Laplace matrix, ignoring weights!)

136 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V Row i represents sum for ith vertex (Laplace matrix, ignoring weights!)

137 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V Row i represents sum for ith vertex C ij = 1 2 cot a ij + cot b ij for j 2N(i) (Laplace matrix, ignoring weights!)

138 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V Row i represents sum for ith vertex C ij = 1 2 cot a ij + cot b ij for j 2N(i) C ii = Â j2n (i) C ij (Laplace matrix, ignoring weights!)

139 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V Row i represents sum for ith vertex C ij = 1 2 cot a ij + cot b ij for j 2N(i) C ii = Â j2n (i) C ij All other entries are zero (Laplace matrix, ignoring weights!)

140 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V Row i represents sum for ith vertex C ij = 1 2 cot a ij + cot b ij for j 2N(i) C ii = Â j2n (i) C ij All other entries are zero (Laplace matrix, ignoring weights!) Use sparse matrices!

141 Meshes and Matrices 1 So far, Laplacian expressed as a sum: Â j2n (i)(cot a ij + cot b ij )(u j u i ) For computation, encode using matrices First, give each vertex an index 1,..., V Weak Laplacian is matrix C 2 R V V Row i represents sum for ith vertex C ij = 1 2 cot a ij + cot b ij for j 2N(i) C ii = Â j2n (i) C ij All other entries are zero (Laplace matrix, ignoring weights!) Use sparse matrices! (MATLAB: sparse, SuiteSparse: cholmod_sparse, Eigen: SparseMatrix)

142 Mass Matrix Matrix C encodes only part of Laplacian recall that (Du) i = 1 2A i  j2n (i) (cot a ij + cot b ij )(u j u i )

143 Mass Matrix Matrix C encodes only part of Laplacian recall that (Du) i = 1 2A i  j2n (i) (cot a ij + cot b ij )(u j u i ) Still need to incorporate vertex areas A i

144 Mass Matrix Matrix C encodes only part of Laplacian recall that (Du) i = 1 2A i  j2n (i) (cot a ij + cot b ij )(u j u i ) Still need to incorporate vertex areas A i For convenience, build diagonal mass matrix M 2 R V V : 2 A 1 6 M = 4... A V 3 7 5

145 Mass Matrix Matrix C encodes only part of Laplacian recall that (Du) i = 1 2A i  j2n (i) (cot a ij + cot b ij )(u j u i ) Still need to incorporate vertex areas A i For convenience, build diagonal mass matrix M 2 R V V : 2 A 1 6 M = 4... A V Entries are just M ii = A i (all other entries are zero)

146 Mass Matrix Matrix C encodes only part of Laplacian recall that (Du) i = 1 2A i  j2n (i) (cot a ij + cot b ij )(u j u i ) Still need to incorporate vertex areas A i For convenience, build diagonal mass matrix M 2 R V V : 2 A 1 6 M = 4... A V Entries are just M ii = A i (all other entries are zero) Laplace operator is then L := M 1 C

147 Mass Matrix Matrix C encodes only part of Laplacian recall that (Du) i = 1 2A i  j2n (i) (cot a ij + cot b ij )(u j u i ) Still need to incorporate vertex areas A i For convenience, build diagonal mass matrix M 2 R V V : 2 A 1 6 M = 4... A V Entries are just M ii = A i (all other entries are zero) Laplace operator is then L := M 1 C Applying L to a column vector u 2 R V implements the cotan formula shown above

148 Discrete Poisson / Laplace Equation Poisson equation Du = f becomes linear algebra problem: Lu = f

149 Discrete Poisson / Laplace Equation Poisson equation Du = f becomes linear algebra problem: Lu = f Vector f 2 R V is given data; u 2 R V is unknown.

150 Discrete Poisson / Laplace Equation Poisson equation Du = f becomes linear algebra problem: Lu = f Vector f 2 R V is given data; u 2 R V is unknown. Discrete approximation u approaches smooth solution u as mesh is refined (for smooth data, good meshes... ).

151 Discrete Poisson / Laplace Equation Poisson equation Du = f becomes linear algebra problem: Lu = f Vector f 2 R V is given data; u 2 R V is unknown. Discrete approximation u approaches smooth solution u as mesh is refined (for smooth data, good meshes... ). Laplace is just Poisson with zero on right hand side!

152 Discrete Heat Equation Heat equation du dt = Du must also be discretized in time

153 Discrete Heat Equation Heat equation du dt = Du must also be discretized in time Replace time derivative with finite difference: du dt ) u k+1 h u k, h > 0 {z } time step

154 Discrete Heat Equation Heat equation du dt = Du must also be discretized in time Replace time derivative with finite difference: du dt ) u k+1 h u k, h > 0 {z } time step How (or really, when ) do we approximate Du?

155 Discrete Heat Equation Heat equation du dt = Du must also be discretized in time Replace time derivative with finite difference: du dt ) u k+1 h u k, h > 0 {z } time step How (or really, when ) do we approximate Du? Explicit: (u k+1 u k )/h = Lu k (cheaper to compute)

156 Discrete Heat Equation Heat equation du dt = Du must also be discretized in time Replace time derivative with finite difference: du dt ) u k+1 h u k, h > 0 {z } time step How (or really, when ) do we approximate Du? Explicit: (u k+1 u k )/h = Lu k (cheaper to compute) Implicit: (u k+1 u k )/h = Lu k+1 (more stable)

157 Discrete Heat Equation Heat equation du dt = Du must also be discretized in time Replace time derivative with finite difference: du dt ) u k+1 h u k, h > 0 {z } time step How (or really, when ) do we approximate Du? Explicit: (u k+1 u k )/h = Lu k (cheaper to compute) Implicit: (u k+1 u k )/h = Lu k+1 (more stable) Implicit update becomes linear system (I hl)u k+1 = u k

158 Discrete Eigenvalue Problem Smallest eigenvalue problem Du = lu becomes Lu = lu for smallest nonzero eigenvalue l.

159 Discrete Eigenvalue Problem Smallest eigenvalue problem Du = lu becomes Lu = lu for smallest nonzero eigenvalue l. Can be solved using (inverse) power method: Pick random u 0 Until convergence: Solve Lu k+1 = u k Remove mean value from u k+1 u k+1 u k+1 / u k+1

160 Discrete Eigenvalue Problem Smallest eigenvalue problem Du = lu becomes Lu = lu for smallest nonzero eigenvalue l. Can be solved using (inverse) power method: Pick random u 0 Until convergence: Solve Lu k+1 = u k Remove mean value from u k+1 u k+1 u k+1 / u k+1 By prefactoring L, overall cost is nearly identical to solving a single Poisson equation!

161 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!)

162 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2!

163 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel

164 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation:

165 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift

166 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift if RHS has nonzero mean, cannot be solved!

167 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift if RHS has nonzero mean, cannot be solved! Exhibits maximum principle on Delaunay mesh

168 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift if RHS has nonzero mean, cannot be solved! Exhibits maximum principle on Delaunay mesh Delaunay: triangle circumcircles are empty

169 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift if RHS has nonzero mean, cannot be solved! Exhibits maximum principle on Delaunay mesh Delaunay: triangle circumcircles are empty Maximum principle: solution to Laplace equation has no interior extrema (local max or min)

170 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift if RHS has nonzero mean, cannot be solved! Exhibits maximum principle on Delaunay mesh Delaunay: triangle circumcircles are empty Maximum principle: solution to Laplace equation has no interior extrema (local max or min) NOTE: non-delaunay meshes can also exhibit max principle! (And often do.) Delaunay sufficient but not necessary. Currently no nice, simple necessary condition on mesh geometry.

171 Properties of cotan-laplace Always, always, always positive-semidefinite f T Cf 0 (even if cotan weights are negative!) Why? f T Cf is identical to summing rf 2! No boundary ) constant vector in the kernel / cokernel Why does it matter? E.g., for Poisson equation: solution is unique only up to constant shift if RHS has nonzero mean, cannot be solved! Exhibits maximum principle on Delaunay mesh Delaunay: triangle circumcircles are empty Maximum principle: solution to Laplace equation has no interior extrema (local max or min) NOTE: non-delaunay meshes can also exhibit max principle! (And often do.) Delaunay sufficient but not necessary. Currently no nice, simple necessary condition on mesh geometry. For more, see [Wardetzky et al., 2007]

172 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x)

173 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... )

174 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... ) Discrete Poisson equation looks like M 1 Cu = f

175 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... ) Discrete Poisson equation looks like M 1 Cu = f C is symmetric, but M 1 C is not! Can easily be made symmetric: Cu = Mf

176 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... ) Discrete Poisson equation looks like M 1 Cu = f C is symmetric, but M 1 C is not! Can easily be made symmetric: Cu = Mf In other words: just multiply by vertex areas!

177 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... ) Discrete Poisson equation looks like M 1 Cu = f C is symmetric, but M 1 C is not! Can easily be made symmetric: Cu = Mf In other words: just multiply by vertex areas! Seemingly superficial change...

178 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... ) Discrete Poisson equation looks like M 1 Cu = f C is symmetric, but M 1 C is not! Can easily be made symmetric: Cu = Mf In other words: just multiply by vertex areas! Seemingly superficial change but makes computation simpler / more efficient

179 Numerical Issues Symmetry Best case for sparse linear systems: symmetric positive-(semi)definite (A T = A, x T Ax 0 8x) Many good solvers (Cholesky, conjugate gradient,... ) Discrete Poisson equation looks like M 1 Cu = f C is symmetric, but M 1 C is not! Can easily be made symmetric: Cu = Mf In other words: just multiply by vertex areas! Seemingly superficial change but makes computation simpler / more efficient

180 Numerical Issues Symmetry, continued Can also make heat equation symmetric

181 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k

182 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k What about smallest eigenvalue problem Lu = lu?

183 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k What about smallest eigenvalue problem Lu = lu? Two options:

184 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k What about smallest eigenvalue problem Lu = lu? Two options: 1 Solve generalized eigenvalue problem Cu = lmu

185 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k What about smallest eigenvalue problem Lu = lu? Two options: 1 Solve generalized eigenvalue problem Cu = lmu 2 Solve M 1/2 CM 1/2 ũ = lũ, recover u = M 1/2 ũ

186 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k What about smallest eigenvalue problem Lu = lu? Two options: 1 Solve generalized eigenvalue problem Cu = lmu 2 Solve M 1/2 CM 1/2 ũ = lũ, recover u = M 1/2 ũ Note: M 1/2 just means put 1/ p A i on the diagonal!

187 Numerical Issues Symmetry, continued Can also make heat equation symmetric Instead of (I hl)u k+1 = u k, use (M hc)u k+1 = Mu k What about smallest eigenvalue problem Lu = lu? Two options: 1 Solve generalized eigenvalue problem Cu = lmu 2 Solve M 1/2 CM 1/2 ũ = lũ, recover u = M 1/2 ũ Note: M 1/2 just means put 1/ p A i on the diagonal!

188 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...)

189 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...) pros: great for multiple right-hand sides; (can be) less sensitive to numerical instability; solve many types of problems, under/overdetermined systems.

190 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...) pros: great for multiple right-hand sides; (can be) less sensitive to numerical instability; solve many types of problems, under/overdetermined systems. cons: prohibitively expensive for large problems; factors are quite dense for 3D (volumetric) problems

191 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...) pros: great for multiple right-hand sides; (can be) less sensitive to numerical instability; solve many types of problems, under/overdetermined systems. cons: prohibitively expensive for large problems; factors are quite dense for 3D (volumetric) problems Iterative (e.g., conjugate gradient, multigrid,... )

192 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...) pros: great for multiple right-hand sides; (can be) less sensitive to numerical instability; solve many types of problems, under/overdetermined systems. cons: prohibitively expensive for large problems; factors are quite dense for 3D (volumetric) problems Iterative (e.g., conjugate gradient, multigrid,... ) pros: can handle very large problems; can be implemented via callback (instead of matrix); asymptotic running times approaching linear time (in theory... )

193 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...) pros: great for multiple right-hand sides; (can be) less sensitive to numerical instability; solve many types of problems, under/overdetermined systems. cons: prohibitively expensive for large problems; factors are quite dense for 3D (volumetric) problems Iterative (e.g., conjugate gradient, multigrid,... ) pros: can handle very large problems; can be implemented via callback (instead of matrix); asymptotic running times approaching linear time (in theory... ) cons: poor performance without good preconditioners; less benefit for multiple right-hand sides; best-in-class methods may handle only symmetric positive-(semi)definite systems

194 Numerical Issues Direct vs. Iterative Solvers Direct (e.g., LL T, LU, QR,...) pros: great for multiple right-hand sides; (can be) less sensitive to numerical instability; solve many types of problems, under/overdetermined systems. cons: prohibitively expensive for large problems; factors are quite dense for 3D (volumetric) problems Iterative (e.g., conjugate gradient, multigrid,... ) pros: can handle very large problems; can be implemented via callback (instead of matrix); asymptotic running times approaching linear time (in theory... ) cons: poor performance without good preconditioners; less benefit for multiple right-hand sides; best-in-class methods may handle only symmetric positive-(semi)definite systems No perfect solution! Each problem is different.

195 Solving Equations in Linear Time Is solving Poisson, Laplace, etc., truly linear time in 2D?

196 Solving Equations in Linear Time Is solving Poisson, Laplace, etc., truly linear time in 2D? Jury is still out, but keep inching forward: [Vaidya, 1991] use spanning tree as preconditioner [Alon et al., 1995] use low-stretch spanning trees [Spielman and Teng, 2004] first nearly linear time solver [Krishnan et al., 2013] practical solver for graphics Lots of recent activity in both preconditioners and direct solvers (e.g., [Koutis et al., 2011], [Gillman and Martinsson, 2013])

197 Solving Equations in Linear Time Is solving Poisson, Laplace, etc., truly linear time in 2D? Jury is still out, but keep inching forward: [Vaidya, 1991] use spanning tree as preconditioner [Alon et al., 1995] use low-stretch spanning trees [Spielman and Teng, 2004] first nearly linear time solver [Krishnan et al., 2013] practical solver for graphics Lots of recent activity in both preconditioners and direct solvers (e.g., [Koutis et al., 2011], [Gillman and Martinsson, 2013]) Best theoretical results may lack practical implementations!

198 Solving Equations in Linear Time Is solving Poisson, Laplace, etc., truly linear time in 2D? Jury is still out, but keep inching forward: [Vaidya, 1991] use spanning tree as preconditioner [Alon et al., 1995] use low-stretch spanning trees [Spielman and Teng, 2004] first nearly linear time solver [Krishnan et al., 2013] practical solver for graphics Lots of recent activity in both preconditioners and direct solvers (e.g., [Koutis et al., 2011], [Gillman and Martinsson, 2013]) Best theoretical results may lack practical implementations! Older codes benefit from extensive low-level optimization

199 Solving Equations in Linear Time Is solving Poisson, Laplace, etc., truly linear time in 2D? Jury is still out, but keep inching forward: [Vaidya, 1991] use spanning tree as preconditioner [Alon et al., 1995] use low-stretch spanning trees [Spielman and Teng, 2004] first nearly linear time solver [Krishnan et al., 2013] practical solver for graphics Lots of recent activity in both preconditioners and direct solvers (e.g., [Koutis et al., 2011], [Gillman and Martinsson, 2013]) Best theoretical results may lack practical implementations! Older codes benefit from extensive low-level optimization Long term: probably indistinguishable from O(n)

200 Boundary Conditions PDE (Laplace, Poisson, heat equation, etc.) determines behavior inside domain W

201 Boundary Conditions PDE (Laplace, Poisson, heat equation, etc.) determines behavior inside domain W Also need to say how solution behaves on boundary W

202 Boundary Conditions PDE (Laplace, Poisson, heat equation, etc.) determines behavior inside domain W Also need to say how solution behaves on boundary W Often trickiest part (both mathematically & numerically)

203 Boundary Conditions PDE (Laplace, Poisson, heat equation, etc.) determines behavior inside domain W Also need to say how solution behaves on boundary W Often trickiest part (both mathematically & numerically) Very easy to get wrong!

204 Dirichlet () prescribe values Dirichlet Boundary Conditions

205 Dirichlet Boundary Conditions Dirichlet () prescribe values E.g., f(0) =a, f(1) =b

206 Dirichlet Boundary Conditions Dirichlet () prescribe values E.g., f(0) =a, f(1) =b (Many possible functions in between! )

207 Neumann () prescribe derivatives Neumann Boundary Conditions

208 Neumann Boundary Conditions Neumann () prescribe derivatives E.g., f 0 (0) =u, f 0 (1) =v

209 Neumann Boundary Conditions Neumann () prescribe derivatives E.g., f 0 (0) =u, f 0 (1) =v (Again, many possible solutions.)

210 Both Neumann & Dirichlet Or: prescribe some values, some derivatives

211 Both Neumann & Dirichlet Or: prescribe some values, some derivatives E.g., f 0 (0) =u, f(1) =b

212 Both Neumann & Dirichlet Or: prescribe some values, some derivatives E.g., f 0 (0) =u, f(1) =b (What about f 0 (1) =v, f(1) =b?)

213 Laplace w/ Dirichlet Boundary Conditions (1D) 1D Laplace: 2 f/ x 2 = 0

214 Laplace w/ Dirichlet Boundary Conditions (1D) 1D Laplace: 2 f/ x 2 = 0 Solutions: f(x) = cx + d (linear functions)

215 Laplace w/ Dirichlet Boundary Conditions (1D) 1D Laplace: 2 f/ x 2 = 0 Solutions: f(x) = cx + d (linear functions) Can we always satisfy Dirichlet boundary conditions?

216 Laplace w/ Dirichlet Boundary Conditions (1D) 1D Laplace: 2 f/ x 2 = 0 Solutions: f(x) = cx + d (linear functions) Can we always satisfy Dirichlet boundary conditions? Yes: a line can interpolate any two points

217 Laplace w/ Neumann Boundary Conditions (1D) What about Neumann boundary conditions?

218 Laplace w/ Neumann Boundary Conditions (1D) What about Neumann boundary conditions? Solution must still be a line: f(x) =cx + d

219 Laplace w/ Neumann Boundary Conditions (1D) What about Neumann boundary conditions? Solution must still be a line: f(x) =cx + d Can we prescribe the derivative at both ends?

220 Laplace w/ Neumann Boundary Conditions (1D) What about Neumann boundary conditions? Solution must still be a line: f(x) =cx + d Can we prescribe the derivative at both ends? No! A line can have only one slope!

221 Laplace w/ Neumann Boundary Conditions (1D) What about Neumann boundary conditions? Solution must still be a line: f(x) =cx + d Can we prescribe the derivative at both ends? No! A line can have only one slope! In general: solutions to PDE may not exist for given BCs

222 Laplace w/ Dirichlet Boundary Conditions (2D) 2D Laplace: Df = 0

223 Laplace w/ Dirichlet Boundary Conditions (2D) 2D Laplace: Df = 0 Can we always satisfy Dirichlet boundary conditions?

224 Laplace w/ Dirichlet Boundary Conditions (2D) 2D Laplace: Df = 0 Can we always satisfy Dirichlet boundary conditions? Yes: Laplace is steady-state solution to heat flow d dt f = Df Dirichlet data is just heat along boundary

225 Laplace w/ Neumann Boundary Conditions (2D) What about Neumann boundary conditions?

226 Laplace w/ Neumann Boundary Conditions (2D) What about Neumann boundary conditions? Still want to solve Df = 0 Want to prescribe normal derivative n rf

227 Laplace w/ Neumann Boundary Conditions (2D) What about Neumann boundary conditions? Still want to solve Df = 0 Want to prescribe normal derivative n rf Wasn t always possible in 1D...

228 Laplace w/ Neumann Boundary Conditions (2D) What about Neumann boundary conditions? Still want to solve Df = 0 Want to prescribe normal derivative n rf Wasn t always possible in 1D... In 2D, we have divergence theorem: Z Z Z Z 0 =! Df = r rf = n rf W W W W

229 Laplace w/ Neumann Boundary Conditions (2D) What about Neumann boundary conditions? Still want to solve Df = 0 Want to prescribe normal derivative n rf Wasn t always possible in 1D... In 2D, we have divergence theorem: Z Z Z Z 0 =! Df = r rf = n rf W W W W Conclusion: can only solve Df = 0 if Neumann BCs have zero mean!

230 Discrete Boundary Conditions - Dirichlet Suppose we want to solve Du = f s.t. u W = g (Poisson equation w/ Dirichlet boundary conditions)

231 Discrete Boundary Conditions - Dirichlet Suppose we want to solve Du = f s.t. u W = g (Poisson equation w/ Dirichlet boundary conditions) Discretized Poisson equation as Cu = Mf

232 Discrete Boundary Conditions - Dirichlet Suppose we want to solve Du = f s.t. u W = g (Poisson equation w/ Dirichlet boundary conditions) Discretized Poisson equation as Cu = Mf Let I, B denote interior, boundary vertices, respectively. Get " #" # " #" # C II C IB u I M = II 0 f I C BI C BB u B 0 M BB f B

233 Discrete Boundary Conditions - Dirichlet Suppose we want to solve Du = f s.t. u W = g (Poisson equation w/ Dirichlet boundary conditions) Discretized Poisson equation as Cu = Mf Let I, B denote interior, boundary vertices, respectively. Get " #" # " #" # C II C IB u I M = II 0 f I C BI C BB u B 0 M BB f B Since u B is known (boundary values), solve just C II u I = M II f I C IB u B for u I (right-hand side is known).

234 Discrete Boundary Conditions - Dirichlet Suppose we want to solve Du = f s.t. u W = g (Poisson equation w/ Dirichlet boundary conditions) Discretized Poisson equation as Cu = Mf Let I, B denote interior, boundary vertices, respectively. Get " #" # " #" # C II C IB u I M = II 0 f I C BI C BB u B 0 M BB f B Since u B is known (boundary values), solve just C II u I = M II f I C IB u B for u I (right-hand side is known). Can skip matrix multiply and compute entries of RHS directly: A i f i  j2n (i)(cot a ij + cot b ij )u j Here N (i) denotes neighbors of i on the boundary

235 Discrete Boundary Conditions - Neumann Integrate both sides of Du = f over cell C i ( finite volume ) Z Z Z Z! f = Du = r ru = n ru C i C i C i C i Gives usual cotangent formula for interior vertices; for boundary vertex i, yields A ii! = 1 2 (g a + g b )+ 1 2 Â j2n int (cot a ij + cot b ij )(u j u i ) Here g a, g b are prescribed normal derivatives; just subtract from RHS and solve Cu = Mf as usual

236 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin)

237 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin) Dirichlet, Neumann most common implementation of other BCs will be similar

238 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin) Dirichlet, Neumann most common implementation of other BCs will be similar When in doubt, return to smooth equations and integrate!

239 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin) Dirichlet, Neumann most common implementation of other BCs will be similar When in doubt, return to smooth equations and integrate!... and make sure your equation has a solution!

240 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin) Dirichlet, Neumann most common implementation of other BCs will be similar When in doubt, return to smooth equations and integrate!... and make sure your equation has a solution! Solver will NOT always tell you if there s a problem!

241 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin) Dirichlet, Neumann most common implementation of other BCs will be similar When in doubt, return to smooth equations and integrate!... and make sure your equation has a solution! Solver will NOT always tell you if there s a problem! Easy test? Compute the residual r := Ax b. If the relative residual r / b is far from zero (e.g., greater than in double precision), you did not actually solve your problem!

242 Discrete Boundary Conditions - Neumann Other possible boundary conditions (e.g., Robin) Dirichlet, Neumann most common implementation of other BCs will be similar When in doubt, return to smooth equations and integrate!... and make sure your equation has a solution! Solver will NOT always tell you if there s a problem! Easy test? Compute the residual r := Ax b. If the relative residual r / b is far from zero (e.g., greater than in double precision), you did not actually solve your problem!

243 Alternative Discretizations Have spent a lot of time on triangle meshes...

244 Alternative Discretizations Have spent a lot of time on triangle meshes plenty of other ways to describe a surface!

245 Alternative Discretizations Have spent a lot of time on triangle meshes plenty of other ways to describe a surface! E.g., points are increasingly popular (due to 3D scanning)

246 Alternative Discretizations Have spent a lot of time on triangle meshes plenty of other ways to describe a surface! E.g., points are increasingly popular (due to 3D scanning) Also: more accurate discretization on triangle meshes

247 Quad, Polygon Meshes Quads popular alternative to triangles. Why?

248 Quad, Polygon Meshes Quads popular alternative to triangles. Why? capture principal curvatures of a surface

249 Quad, Polygon Meshes Quads popular alternative to triangles. Why? capture principal curvatures of a surface nice bases can be built via tensor products

250 Quad, Polygon Meshes Quads popular alternative to triangles. Why? capture principal curvatures of a surface nice bases can be built via tensor products see [Bommes et al., 2013] for further discussion

251 Quad, Polygon Meshes Quads popular alternative to triangles. Why? capture principal curvatures of a surface nice bases can be built via tensor products see [Bommes et al., 2013] for further discussion More generally: meshes with quads and triangles and...

252 Quad, Polygon Meshes Quads popular alternative to triangles. Why? capture principal curvatures of a surface nice bases can be built via tensor products see [Bommes et al., 2013] for further discussion More generally: meshes with quads and triangles and... Nice discretization: [Alexa and Wardetzky, 2011]

253 Quad, Polygon Meshes Quads popular alternative to triangles. Why? capture principal curvatures of a surface nice bases can be built via tensor products see [Bommes et al., 2013] for further discussion More generally: meshes with quads and triangles and... Nice discretization: [Alexa and Wardetzky, 2011] Can then solve all the same problems (Laplace, Poisson, heat,... )

254 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... )

255 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator!

256 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator! Rough idea: use heat flow to discretize D

257 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator! Rough idea: use heat flow to discretize D d dtu = Du =) Du (u(t) u(0))/t

258 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator! Rough idea: use heat flow to discretize D d dt u = Du =) Du (u(t) u(0))/t How do we get u(t)? Convolve u with (Euclidean) heat kernel 1 4pT er2 /4T

259 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator! Rough idea: use heat flow to discretize D d dt u = Du =) Du (u(t) u(0))/t How do we get u(t)? Convolve u with (Euclidean) heat kernel 1 4pT er2 /4T Converges with more samples, T goes to zero (under certain conditions!)

260 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator! Rough idea: use heat flow to discretize D d dtu = Du =) Du (u(t) u(0))/t How do we get u(t)? Convolve u with 1 (Euclidean) heat kernel 4pT er2 /4T Converges with more samples, T goes to zero (under certain conditions!) Details: [Belkin et al., 2009, Liu et al., 2012]

261 Point Clouds Real data often point cloud with no connectivity (plus noise, holes... ) Can still build Laplace operator! Rough idea: use heat flow to discretize D d dtu = Du =) Du (u(t) u(0))/t How do we get u(t)? Convolve u with 1 (Euclidean) heat kernel 4pT er2 /4T Converges with more samples, T goes to zero (under certain conditions!) Details: [Belkin et al., 2009, Liu et al., 2012] From there, solve all the same problems! (Again.)

262 Dual Mesh barycentric circumcentric (superimposed) Earlier saw Laplacian discretized via dual mesh

263 Dual Mesh barycentric circumcentric (superimposed) Earlier saw Laplacian discretized via dual mesh Different duals lead to operators with different accuracy

264 Dual Mesh barycentric circumcentric (superimposed) Earlier saw Laplacian discretized via dual mesh Different duals lead to operators with different accuracy Space of orthogonal duals explored by [Mullen et al., 2011]

265 Dual Mesh barycentric circumcentric (superimposed) Earlier saw Laplacian discretized via dual mesh Different duals lead to operators with different accuracy Space of orthogonal duals explored by [Mullen et al., 2011] Leads to many applications in geometry processing [de Goes et al., 2012, de Goes et al., 2013, de Goes et al., 2014]

266 Volumes / Tetrahedral Meshes Same problems (Poisson, Laplace, etc.) can also be solved on volumes

267 Volumes / Tetrahedral Meshes Same problems (Poisson, Laplace, etc.) can also be solved on volumes Popular choice: tetrahedral meshes (graded, conform to boundary,... )

268 Volumes / Tetrahedral Meshes Same problems (Poisson, Laplace, etc.) can also be solved on volumes Popular choice: tetrahedral meshes (graded, conform to boundary,... ) Many ways to get Laplace matrix

269 Volumes / Tetrahedral Meshes Same problems (Poisson, Laplace, etc.) can also be solved on volumes Popular choice: tetrahedral meshes (graded, conform to boundary,... ) Many ways to get Laplace matrix One nice way: discrete exterior calculus (DEC) [Hirani, 2003, Desbrun et al., 2005]

270 Volumes / Tetrahedral Meshes Same problems (Poisson, Laplace, etc.) can also be solved on volumes Popular choice: tetrahedral meshes (graded, conform to boundary,... ) Many ways to get Laplace matrix One nice way: discrete exterior calculus (DEC) [Hirani, 2003, Desbrun et al., 2005] Just incidence matrices (e.g., which tets contain which triangles?) & primal / dual volumes (area, length, etc.).

271 Volumes / Tetrahedral Meshes Same problems (Poisson, Laplace, etc.) can also be solved on volumes Popular choice: tetrahedral meshes (graded, conform to boundary,... ) Many ways to get Laplace matrix One nice way: discrete exterior calculus (DEC) [Hirani, 2003, Desbrun et al., 2005] Just incidence matrices (e.g., which tets contain which triangles?) & primal / dual volumes (area, length, etc.). Added bonus: play with definition of dual to improve accuracy [Mullen et al., 2011].

272 ...and More! Covered some standard discretizations

273 ...and More! Covered some standard discretizations Many possibilities (level sets, hex meshes... )

274 ...and More! Covered some standard discretizations Many possibilities (level sets, hex meshes... ) Often enough to have gradient G and inner product W.

275 ...and More! Covered some standard discretizations Many possibilities (level sets, hex meshes... ) Often enough to have gradient G and inner product W. (weak!) Laplacian is then C = G T WG (think Dirichlet energy)

276 ...and More! Covered some standard discretizations Many possibilities (level sets, hex meshes... ) Often enough to have gradient G and inner product W. (weak!) Laplacian is then C = G T WG (think Dirichlet energy) Key message: build Laplace; do lots of cool stuff.

277 APPLICATIONS

278 Remarkably Common Pipeline {simple pre-processing}!d( 1)! {simple post-processing}

279 Common Refrain Our method boils down to backslash in Matlab!

280 Reminder: Model Equations Df = 0 Laplace equation Linear solve Df = g Poisson equation Linear solve f t = Df Df i = l i f i Heat equation ODE time-step Vibration modes Eigenproblem

281 Look here! Reminder: Model Equations Df = 0 Laplace equation Linear solve Df = g Poisson equation Linear solve f t = Df Df i = l i f i Heat equation ODE time-step Vibration modes Eigenproblem

282 Reminder: Model Equations Df = 0 Laplace equation Linear solve Df = g Poisson equation Linear solve f t = Df Df i = l i f i Heat equation ODE time-step Vibration modes Eigenproblem

283 Df = 0 Reminder: Variational Interpretation min f (x) RS krf (x)k2 da l <calculus> Df (x) =0

284 Df = 0 Reminder: Variational Interpretation min f (x) RS krf (x)k2 da l <calculus> Df (x) =0 The (inverse) Laplacian wants to make functions smooth. Elliptic regularity

285 Df = 0 Application: Mesh Parameterization Want smooth f : M! R 2.

286 Df = 0 Variational Approach min f :M!R 2 R krf k 2 Does this work?

287 Df = 0 Variational Approach min f :M!R 2 R krf k 2 Does this work? f (x) const.

288 Df = 0 Harmonic Parameterization min f :M!R 2 f M fixed R krf k 2 [Eck et al., 1995]

289 Df = 0 Harmonic Parameterization min f :M!R 2 f M fixed R krf k 2 [Eck et al., 1995] Df = 0 in M\ M, with f M fixed

290 Reminder: Model Equations Df = 0 Laplace equation Linear solve Df = g Poisson equation Linear solve f t = Df Df i = l i f i Heat equation ODE time-step Vibration modes Eigenproblem

291 Df = g Recall: Green s Function Dg p = d p for p 2 M

292 Df = g Application: Biharmonic Distances d b (p, q) kg p g q k 2 [Lipman et al., 2010], formula in [Solomon et al., 2014]

293 Df = g Hodge Decomposition ~v(x) =R 90 rg + rf +~ h(x) Divergence-free part: R 90 rg Curl-free part: rf Harmonic part: ~ h(x) (= ~ 0 if surface has no holes)

294 Df = g Computing the Curl-Free Part min f (x) RS krf (x) ~v(x)k2 da l <calculus> Df (x) =r ~v(x) Get divergence-free part as~v(x) rf (x) (when~ h ~ 0)

295 Df = g Application: Vector Field Design Df = K! ~v(x) =rf (x) [Crane et al., 2010, de Goes and Crane, 2010]

296 Df = g Application: Earth Mover s Distance Z min k~ J(x)k ~ J(x) M such that~ J = R 90 rg + rf +~ h(x) Df = r 1 r 0 [Solomon et al., 2014]

297 Reminder: Model Equations Df = 0 Laplace equation Linear solve Df = g Poisson equation Linear solve f t = Df Df i = l i f i Heat equation ODE time-step Vibration modes Eigenproblem

298 f t = Df Generalizing Gaussian Blurs Gradient descent on R krf (x)k 2 dx: f (x,t) t = D x f (x, t) with f (,0) f 0 ( ). Image by M. Bottazzi

299 f t = Df Application: Implicit Fairing Idea: Take f 0 (x) to be the coordinate function.

300 f t = Df Application: Implicit Fairing Idea: Take f 0 (x) to be the coordinate function. Detail: D changes over time. [Desbrun et al., 1999]

301 Df = g Alternative: Screened Poisson Smoothing Simplest incarnation of [Chuang and Kazhdan, 2011]: min f (x) a 2 kf f 0 k 2 + krf k 2 l (a 2 I D)f = a 2 f 0

302 f t = Df! Df = g Interesting Connection (Semi-)Implicit Euler: (I hl)u k+1 = u k Screened Poisson: (a 2 I D)f = a 2 f 0

303 f t = Df! Df = g Interesting Connection (Semi-)Implicit Euler: (I hl)u k+1 = u k Screened Poisson: (a 2 I D)f = a 2 f 0 One time step of implicit Euler is screened Poisson.

304 f t = Df! Df = g Interesting Connection (Semi-)Implicit Euler: (I hl)u k+1 = u k Screened Poisson: (a 2 I D)f = a 2 f 0 One time step of implicit Euler is screened Poisson. Accidentally replaced one PDE with another!

305 f t = Df and Df = g Application: The Heat Method Eikonal equation for geodesics: krfk 2 = 1 =) Need direction of rf.

306 f t = Df and Df = g Application: The Heat Method Eikonal equation for geodesics: krfk 2 = 1 =) Need direction of rf. Idea: Find u such that ru is parallel to geodesic.

307 f t = Df and Df = g Application: The Heat Method 1 Integrate u 0 = ru (heat equation) to time t 1. 2 Define vector field X ru kruk 2. 3 Solve least-squares problem rf X () Df = r X. Blazingly fast! [Crane et al., 2013b]

308 Reminder: Model Equations Df = 0 Laplace equation Linear solve Df = g Poisson equation Linear solve f t = Df Df i = l i f i Heat equation ODE time-step Vibration modes Eigenproblem

309 Df i = l i f i Laplace-Beltrami Eigenfunctions Image by B. Vallet and B. Lévy Use eigenvalues and eigenfunctions to characterize shape.

310 Df i = l i f i Intrinsic Laplacian-Based Descriptors All computable from eigenfunctions! HKS(x; t) = i e l it f i (x) 2 [Sun et al., 2009] GPS(x) = f1 (x) p l1, p f 2(x) l2,... [Rustamov, 2007] WKS(x; e) =C e  i f i (x) 2 exp 1 2s 2 (e log( l i )) [Aubry et al., 2011] Many others or learn a function of eigenvalues! [Litman and Bronstein, 2014]

311 f t = Df Example: Heat Kernel Signature Heat diffusion encodes geometry for all times t 0! HKS(x; t) k t (x, x) Amount of heat diffused from x to itself over at time t. [Sun et al., 2009] Signature of point x is a function of t 0 Intrinsic descriptor

312 Df i = l i f i HKS via Laplacian Eigenfunctions Df i = l i f i, f 0 (x) =Â a i f i (x) i f (x, t) t = Df with f (x,0) f 0 (x)

313 Df i = l i f i HKS via Laplacian Eigenfunctions Df i = l i f i, f 0 (x) =Â a i f i (x) i f (x, t) t = Df with f (x,0) f 0 (x) =) f (x, t) =Â a i e lit f i (x) i

314 Df i = l i f i HKS via Laplacian Eigenfunctions Df i = l i f i, f 0 (x) =Â a i f i (x) i f (x, t) t = Df with f (x,0) f 0 (x) =) f (x, t) =Â a i e lit f i (x) i =) HKS(x; t) k t (x, x) = Â e l i t f i (x) 2 i

315 Df i = l i f i Application: Shape Retrieval Solve problems like shape similarity search. Shape DNA [Reuter et al., 2006]: Identify a shape by its vector of Laplacian eigenvalues

316 Df i = l i f i Different Application: Quadrangulation Connect critical points (well-spaced) of f i in Morse-Smale complex. [Dong et al., 2006]

317 Other Ideas I Mesh editing: Displacement of vertices and parameters of a deformation should be smooth functions along a surface [Sorkine et al., 2004, Sorkine and Alexa, 2007] (and many others)

318 Other Ideas II Surface reconstruction: Poisson equation helps distinguish inside and outside [Kazhdan et al., 2006] Regularization for mapping: To compute f : M 1! M 2, ask that f D 1 D 2 f [Ovsjanikov et al., 2012]

Discrete Differential Geometry. Discrete Laplace-Beltrami operator and discrete conformal mappings.

Discrete Differential Geometry. Discrete Laplace-Beltrami operator and discrete conformal mappings. Discrete differential geometry. Discrete Laplace-Beltrami operator and discrete conformal mappings. Technische Universität Berlin Geometric Methods in Classical and Quantum Lattice Systems, Caputh, September

More information

Spectral Processing. Misha Kazhdan

Spectral Processing. Misha Kazhdan Spectral Processing Misha Kazhdan [Taubin, 1995] A Signal Processing Approach to Fair Surface Design [Desbrun, et al., 1999] Implicit Fairing of Arbitrary Meshes [Vallet and Levy, 2008] Spectral Geometry

More information

IFT LAPLACIAN APPLICATIONS. Mikhail Bessmeltsev

IFT LAPLACIAN APPLICATIONS.   Mikhail Bessmeltsev IFT 6112 09 LAPLACIAN APPLICATIONS http://www-labs.iro.umontreal.ca/~bmpix/teaching/6112/2018/ Mikhail Bessmeltsev Rough Intuition http://pngimg.com/upload/hammer_png3886.png You can learn a lot about

More information

PDE Solvers for Fluid Flow

PDE Solvers for Fluid Flow PDE Solvers for Fluid Flow issues and algorithms for the Streaming Supercomputer Eran Guendelman February 5, 2002 Topics Equations for incompressible fluid flow 3 model PDEs: Hyperbolic, Elliptic, Parabolic

More information

Justin Solomon MIT, Spring 2017

Justin Solomon MIT, Spring 2017 Justin Solomon MIT, Spring 2017 http://pngimg.com/upload/hammer_png3886.png You can learn a lot about a shape by hitting it (lightly) with a hammer! What can you learn about its shape from vibration frequencies

More information

IFT CONTINUOUS LAPLACIAN Mikhail Bessmeltsev

IFT CONTINUOUS LAPLACIAN   Mikhail Bessmeltsev IFT 6112 07 CONTINUOUS LAPLACIAN http://www-labs.iro.umontreal.ca/~bmpix/teaching/6112/2018/ Mikhail Bessmeltsev Famous Motivation An Experiment Unreasonable to Ask? Length of string http://www.takamine.com/templates/default/images/gclassical.png

More information

Lecture 9 Approximations of Laplace s Equation, Finite Element Method. Mathématiques appliquées (MATH0504-1) B. Dewals, C.

Lecture 9 Approximations of Laplace s Equation, Finite Element Method. Mathématiques appliquées (MATH0504-1) B. Dewals, C. Lecture 9 Approximations of Laplace s Equation, Finite Element Method Mathématiques appliquées (MATH54-1) B. Dewals, C. Geuzaine V1.2 23/11/218 1 Learning objectives of this lecture Apply the finite difference

More information

EE Technion, Spring then. can be isometrically embedded into can be realized as a Gram matrix of rank, Properties:

EE Technion, Spring then. can be isometrically embedded into can be realized as a Gram matrix of rank, Properties: 5/25/200 2 A mathematical exercise Assume points with the metric are isometrically embeddable into Then, there exists a canonical form such that for all Spectral methods We can also write Alexander & Michael

More information

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher http://igl.ethz.ch/projects/arap/arap_web.pdf CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher Homework 4: June 5 Project: June 6 Scribe notes: One week

More information

CURRENT MATERIAL: Vector Calculus.

CURRENT MATERIAL: Vector Calculus. Math 275, section 002 (Ultman) Fall 2011 FINAL EXAM REVIEW The final exam will be held on Wednesday 14 December from 10:30am 12:30pm in our regular classroom. You will be allowed both sides of an 8.5 11

More information

EXAM MATHEMATICAL METHODS OF PHYSICS. TRACK ANALYSIS (Chapters I-V). Thursday, June 7th,

EXAM MATHEMATICAL METHODS OF PHYSICS. TRACK ANALYSIS (Chapters I-V). Thursday, June 7th, EXAM MATHEMATICAL METHODS OF PHYSICS TRACK ANALYSIS (Chapters I-V) Thursday, June 7th, 1-13 Students who are entitled to a lighter version of the exam may skip problems 1, 8-11 and 16 Consider the differential

More information

Lecture 3: Function Spaces I Finite Elements Modeling. Bruno Lévy

Lecture 3: Function Spaces I Finite Elements Modeling. Bruno Lévy Lecture 3: Function Spaces I Finite Elements Modeling Bruno Lévy Overview 1. Motivations 2. Function Spaces 3. Discretizing a PDE 4. Example: Discretizing the Laplacian 5. Eigenfunctions Spectral Mesh

More information

Final Examination. CS 205A: Mathematical Methods for Robotics, Vision, and Graphics (Fall 2013), Stanford University

Final Examination. CS 205A: Mathematical Methods for Robotics, Vision, and Graphics (Fall 2013), Stanford University Final Examination CS 205A: Mathematical Methods for Robotics, Vision, and Graphics (Fall 2013), Stanford University The exam runs for 3 hours. The exam contains eight problems. You must complete the first

More information

Math 433 Outline for Final Examination

Math 433 Outline for Final Examination Math 433 Outline for Final Examination Richard Koch May 3, 5 Curves From the chapter on curves, you should know. the formula for arc length of a curve;. the definition of T (s), N(s), B(s), and κ(s) for

More information

PDEs, part 1: Introduction and elliptic PDEs

PDEs, part 1: Introduction and elliptic PDEs PDEs, part 1: Introduction and elliptic PDEs Anna-Karin Tornberg Mathematical Models, Analysis and Simulation Fall semester, 2013 Partial di erential equations The solution depends on several variables,

More information

Fundamental Solutions and Green s functions. Simulation Methods in Acoustics

Fundamental Solutions and Green s functions. Simulation Methods in Acoustics Fundamental Solutions and Green s functions Simulation Methods in Acoustics Definitions Fundamental solution The solution F (x, x 0 ) of the linear PDE L {F (x, x 0 )} = δ(x x 0 ) x R d Is called the fundamental

More information

Spectral Algorithms I. Slides based on Spectral Mesh Processing Siggraph 2010 course

Spectral Algorithms I. Slides based on Spectral Mesh Processing Siggraph 2010 course Spectral Algorithms I Slides based on Spectral Mesh Processing Siggraph 2010 course Why Spectral? A different way to look at functions on a domain Why Spectral? Better representations lead to simpler solutions

More information

AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends

AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends Lecture 3: Finite Elements in 2-D Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Finite Element Methods 1 / 18 Outline 1 Boundary

More information

Lectures in Discrete Differential Geometry 2 Surfaces

Lectures in Discrete Differential Geometry 2 Surfaces Lectures in Discrete Differential Geometry 2 Surfaces Etienne Vouga February 4, 24 Smooth Surfaces in R 3 In this section we will review some properties of smooth surfaces R 3. We will assume that is parameterized

More information

Solving PDEs with Multigrid Methods p.1

Solving PDEs with Multigrid Methods p.1 Solving PDEs with Multigrid Methods Scott MacLachlan maclachl@colorado.edu Department of Applied Mathematics, University of Colorado at Boulder Solving PDEs with Multigrid Methods p.1 Support and Collaboration

More information

Frequency, Vibration, and Fourier

Frequency, Vibration, and Fourier Lecture 22: Frequency, Vibration, and Fourier Computer Graphics CMU 15-462/15-662, Fall 2015 Last time: Numerical Linear Algebra Graphics via linear systems of equations Why linear? Have to solve BIG problems

More information

The Laplacian ( ) Matthias Vestner Dr. Emanuele Rodolà Room , Informatik IX

The Laplacian ( ) Matthias Vestner Dr. Emanuele Rodolà Room , Informatik IX The Laplacian (26.05.2014) Matthias Vestner Dr. Emanuele Rodolà {vestner,rodola}@in.tum.de Room 02.09.058, Informatik IX Seminar «The metric approach to shape matching» Alfonso Ros Wednesday, May 28th

More information

CURRENT MATERIAL: Vector Calculus.

CURRENT MATERIAL: Vector Calculus. Math 275, section 002 (Ultman) Spring 2012 FINAL EXAM REVIEW The final exam will be held on Wednesday 9 May from 8:00 10:00am in our regular classroom. You will be allowed both sides of two 8.5 11 sheets

More information

Spectral Geometry Processing with Manifold Harmonics. Bruno Vallet Bruno Lévy

Spectral Geometry Processing with Manifold Harmonics. Bruno Vallet Bruno Lévy Spectral Geometry Processing with Manifold Harmonics Bruno Vallet Bruno Lévy Introduction Introduction II. Harmonics III. DEC formulation IV. Filtering V. Numerics Results and conclusion Introduction Extend

More information

Introduction to gradient descent

Introduction to gradient descent 6-1: Introduction to gradient descent Prof. J.C. Kao, UCLA Introduction to gradient descent Derivation and intuitions Hessian 6-2: Introduction to gradient descent Prof. J.C. Kao, UCLA Introduction Our

More information

Math background. Physics. Simulation. Related phenomena. Frontiers in graphics. Rigid fluids

Math background. Physics. Simulation. Related phenomena. Frontiers in graphics. Rigid fluids Fluid dynamics Math background Physics Simulation Related phenomena Frontiers in graphics Rigid fluids Fields Domain Ω R2 Scalar field f :Ω R Vector field f : Ω R2 Types of derivatives Derivatives measure

More information

APPENDIX A. Background Mathematics. A.1 Linear Algebra. Vector algebra. Let x denote the n-dimensional column vector with components x 1 x 2.

APPENDIX A. Background Mathematics. A.1 Linear Algebra. Vector algebra. Let x denote the n-dimensional column vector with components x 1 x 2. APPENDIX A Background Mathematics A. Linear Algebra A.. Vector algebra Let x denote the n-dimensional column vector with components 0 x x 2 B C @. A x n Definition 6 (scalar product). The scalar product

More information

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost Game and Media Technology Master Program - Utrecht University Dr. Nicolas Pronost Soft body physics Soft bodies In reality, objects are not purely rigid for some it is a good approximation but if you hit

More information

Relation of Pure Minimum Cost Flow Model to Linear Programming

Relation of Pure Minimum Cost Flow Model to Linear Programming Appendix A Page 1 Relation of Pure Minimum Cost Flow Model to Linear Programming The Network Model The network pure minimum cost flow model has m nodes. The external flows given by the vector b with m

More information

MATH 590: Meshfree Methods

MATH 590: Meshfree Methods MATH 590: Meshfree Methods Chapter 34: Improving the Condition Number of the Interpolation Matrix Greg Fasshauer Department of Applied Mathematics Illinois Institute of Technology Fall 2010 fasshauer@iit.edu

More information

Notes for CS542G (Iterative Solvers for Linear Systems)

Notes for CS542G (Iterative Solvers for Linear Systems) Notes for CS542G (Iterative Solvers for Linear Systems) Robert Bridson November 20, 2007 1 The Basics We re now looking at efficient ways to solve the linear system of equations Ax = b where in this course,

More information

11.3 MATLAB for Partial Differential Equations

11.3 MATLAB for Partial Differential Equations 276 3. Generate the shape functions N (i) j = a (i) j where i =1, 2, 3,..., m and j =1, 2, 3,..., m. + b (i) j x + c(i) j y (11.2.17) 4. Compute the integrals for matrix elements α ij and vector elements

More information

Numerical Linear Algebra Primer. Ryan Tibshirani Convex Optimization /36-725

Numerical Linear Algebra Primer. Ryan Tibshirani Convex Optimization /36-725 Numerical Linear Algebra Primer Ryan Tibshirani Convex Optimization 10-725/36-725 Last time: proximal gradient descent Consider the problem min g(x) + h(x) with g, h convex, g differentiable, and h simple

More information

Conservation of mass. Continuum Mechanics. Conservation of Momentum. Cauchy s Fundamental Postulate. # f body

Conservation of mass. Continuum Mechanics. Conservation of Momentum. Cauchy s Fundamental Postulate. # f body Continuum Mechanics We ll stick with the Lagrangian viewpoint for now Let s look at a deformable object World space: points x in the object as we see it Object space (or rest pose): points p in some reference

More information

Functional Maps ( ) Dr. Emanuele Rodolà Room , Informatik IX

Functional Maps ( ) Dr. Emanuele Rodolà Room , Informatik IX Functional Maps (12.06.2014) Dr. Emanuele Rodolà rodola@in.tum.de Room 02.09.058, Informatik IX Seminar «LP relaxation for elastic shape matching» Fabian Stark Wednesday, June 18th 14:00 Room 02.09.023

More information

A Hybrid Method for the Wave Equation. beilina

A Hybrid Method for the Wave Equation.   beilina A Hybrid Method for the Wave Equation http://www.math.unibas.ch/ beilina 1 The mathematical model The model problem is the wave equation 2 u t 2 = (a 2 u) + f, x Ω R 3, t > 0, (1) u(x, 0) = 0, x Ω, (2)

More information

Differential Geometry: Discrete Exterior Calculus

Differential Geometry: Discrete Exterior Calculus Differential Geometry: Discrete Exterior Calculus [Discrete Exterior Calculus (Thesis). Hirani, 23] [Discrete Differential Forms for Computational Modeling. Desbrun et al., 25] [Build Your Own DEC at Home.

More information

Numerical Optimization

Numerical Optimization Numerical Optimization Unit 2: Multivariable optimization problems Che-Rung Lee Scribe: February 28, 2011 (UNIT 2) Numerical Optimization February 28, 2011 1 / 17 Partial derivative of a two variable function

More information

Math Linear Algebra II. 1. Inner Products and Norms

Math Linear Algebra II. 1. Inner Products and Norms Math 342 - Linear Algebra II Notes 1. Inner Products and Norms One knows from a basic introduction to vectors in R n Math 254 at OSU) that the length of a vector x = x 1 x 2... x n ) T R n, denoted x,

More information

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit VII Sparse Matrix

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit VII Sparse Matrix Scientific Computing with Case Studies SIAM Press, 2009 http://www.cs.umd.edu/users/oleary/sccswebpage Lecture Notes for Unit VII Sparse Matrix Computations Part 1: Direct Methods Dianne P. O Leary c 2008

More information

Scattered Interpolation Survey

Scattered Interpolation Survey Scattered Interpolation Survey j.p.lewis u. southern california Scattered Interpolation Survey p.1/53 Scattered vs. Regular domain Scattered Interpolation Survey p.2/53 Motivation modeling animated character

More information

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher http://graphics.stanford.edu/projects/lgl/papers/nbwyg-oaicsm-11/nbwyg-oaicsm-11.pdf Need to understand

More information

Elliptic Problems / Multigrid. PHY 604: Computational Methods for Physics and Astrophysics II

Elliptic Problems / Multigrid. PHY 604: Computational Methods for Physics and Astrophysics II Elliptic Problems / Multigrid Summary of Hyperbolic PDEs We looked at a simple linear and a nonlinear scalar hyperbolic PDE There is a speed associated with the change of the solution Explicit methods

More information

Math (P)Review Part II:

Math (P)Review Part II: Math (P)Review Part II: Vector Calculus Computer Graphics Assignment 0.5 (Out today!) Same story as last homework; second part on vector calculus. Slightly fewer questions Last Time: Linear Algebra Touched

More information

How to solve the stochastic partial differential equation that gives a Matérn random field using the finite element method

How to solve the stochastic partial differential equation that gives a Matérn random field using the finite element method arxiv:1803.03765v1 [stat.co] 10 Mar 2018 How to solve the stochastic partial differential equation that gives a Matérn random field using the finite element method Haakon Bakka bakka@r-inla.org March 13,

More information

A case study in Interaction cohomology Oliver Knill, 3/18/2016

A case study in Interaction cohomology Oliver Knill, 3/18/2016 A case study in Interaction cohomology Oliver Knill, 3/18/2016 Simplicial Cohomology Simplicial cohomology is defined by an exterior derivative df (x) = F (dx) on valuation forms F (x) on subgraphs x of

More information

Directional Field. Xiao-Ming Fu

Directional Field. Xiao-Ming Fu Directional Field Xiao-Ming Fu Outlines Introduction Discretization Representation Objectives and Constraints Outlines Introduction Discretization Representation Objectives and Constraints Definition Spatially-varying

More information

Short title: Total FETI. Corresponding author: Zdenek Dostal, VŠB-Technical University of Ostrava, 17 listopadu 15, CZ Ostrava, Czech Republic

Short title: Total FETI. Corresponding author: Zdenek Dostal, VŠB-Technical University of Ostrava, 17 listopadu 15, CZ Ostrava, Czech Republic Short title: Total FETI Corresponding author: Zdenek Dostal, VŠB-Technical University of Ostrava, 17 listopadu 15, CZ-70833 Ostrava, Czech Republic mail: zdenek.dostal@vsb.cz fax +420 596 919 597 phone

More information

Fast Iterative Solution of Saddle Point Problems

Fast Iterative Solution of Saddle Point Problems Michele Benzi Department of Mathematics and Computer Science Emory University Atlanta, GA Acknowledgments NSF (Computational Mathematics) Maxim Olshanskii (Mech-Math, Moscow State U.) Zhen Wang (PhD student,

More information

Summary for Vector Calculus and Complex Calculus (Math 321) By Lei Li

Summary for Vector Calculus and Complex Calculus (Math 321) By Lei Li Summary for Vector alculus and omplex alculus (Math 321) By Lei Li 1 Vector alculus 1.1 Parametrization urves, surfaces, or volumes can be parametrized. Below, I ll talk about 3D case. Suppose we use e

More information

6.4 Krylov Subspaces and Conjugate Gradients

6.4 Krylov Subspaces and Conjugate Gradients 6.4 Krylov Subspaces and Conjugate Gradients Our original equation is Ax = b. The preconditioned equation is P Ax = P b. When we write P, we never intend that an inverse will be explicitly computed. P

More information

Numerical Methods I Non-Square and Sparse Linear Systems

Numerical Methods I Non-Square and Sparse Linear Systems Numerical Methods I Non-Square and Sparse Linear Systems Aleksandar Donev Courant Institute, NYU 1 donev@courant.nyu.edu 1 MATH-GA 2011.003 / CSCI-GA 2945.003, Fall 2014 September 25th, 2014 A. Donev (Courant

More information

Preface to the Second Edition. Preface to the First Edition

Preface to the Second Edition. Preface to the First Edition n page v Preface to the Second Edition Preface to the First Edition xiii xvii 1 Background in Linear Algebra 1 1.1 Matrices................................. 1 1.2 Square Matrices and Eigenvalues....................

More information

Review for Exam 2 Ben Wang and Mark Styczynski

Review for Exam 2 Ben Wang and Mark Styczynski Review for Exam Ben Wang and Mark Styczynski This is a rough approximation of what we went over in the review session. This is actually more detailed in portions than what we went over. Also, please note

More information

Soft Bodies. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies

Soft Bodies. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies Soft-Body Physics Soft Bodies Realistic objects are not purely rigid. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies Deformed

More information

Index. C 2 ( ), 447 C k [a,b], 37 C0 ( ), 618 ( ), 447 CD 2 CN 2

Index. C 2 ( ), 447 C k [a,b], 37 C0 ( ), 618 ( ), 447 CD 2 CN 2 Index advection equation, 29 in three dimensions, 446 advection-diffusion equation, 31 aluminum, 200 angle between two vectors, 58 area integral, 439 automatic step control, 119 back substitution, 604

More information

Final Exam May 4, 2016

Final Exam May 4, 2016 1 Math 425 / AMCS 525 Dr. DeTurck Final Exam May 4, 2016 You may use your book and notes on this exam. Show your work in the exam book. Work only the problems that correspond to the section that you prepared.

More information

Lucas-Kanade Optical Flow. Computer Vision Carnegie Mellon University (Kris Kitani)

Lucas-Kanade Optical Flow. Computer Vision Carnegie Mellon University (Kris Kitani) Lucas-Kanade Optical Flow Computer Vision 16-385 Carnegie Mellon University (Kris Kitani) I x u + I y v + I t =0 I x = @I @x I y = @I u = dx v = dy I @y t = @I dt dt @t spatial derivative optical flow

More information

FFTs in Graphics and Vision. The Laplace Operator

FFTs in Graphics and Vision. The Laplace Operator FFTs in Graphics and Vision The Laplace Operator 1 Outline Math Stuff Symmetric/Hermitian Matrices Lagrange Multipliers Diagonalizing Symmetric Matrices The Laplacian Operator 2 Linear Operators Definition:

More information

Projected Surface Finite Elements for Elliptic Equations

Projected Surface Finite Elements for Elliptic Equations Available at http://pvamu.edu/aam Appl. Appl. Math. IN: 1932-9466 Vol. 8, Issue 1 (June 2013), pp. 16 33 Applications and Applied Mathematics: An International Journal (AAM) Projected urface Finite Elements

More information

(1) Recap of Differential Calculus and Integral Calculus (2) Preview of Calculus in three dimensional space (3) Tools for Calculus 3

(1) Recap of Differential Calculus and Integral Calculus (2) Preview of Calculus in three dimensional space (3) Tools for Calculus 3 Math 127 Introduction and Review (1) Recap of Differential Calculus and Integral Calculus (2) Preview of Calculus in three dimensional space (3) Tools for Calculus 3 MATH 127 Introduction to Calculus III

More information

1 Vector Calculus. 1.1 Dot and Cross Product. hu, vi Euc := u v cos(q). Vector Calculus Review

1 Vector Calculus. 1.1 Dot and Cross Product. hu, vi Euc := u v cos(q). Vector Calculus Review Vector Calculus Review 1 Vector Calculus 1.1 Dot and Cross Product In our study of linear algebra, we looked inner products in the abstract, i.e., we said that an inner product h, i was any operation that

More information

Math 302 Outcome Statements Winter 2013

Math 302 Outcome Statements Winter 2013 Math 302 Outcome Statements Winter 2013 1 Rectangular Space Coordinates; Vectors in the Three-Dimensional Space (a) Cartesian coordinates of a point (b) sphere (c) symmetry about a point, a line, and a

More information

Iterative Methods for Linear Systems

Iterative Methods for Linear Systems Iterative Methods for Linear Systems 1. Introduction: Direct solvers versus iterative solvers In many applications we have to solve a linear system Ax = b with A R n n and b R n given. If n is large the

More information

Definition 1.2. Let p R n be a point and v R n be a non-zero vector. The line through p in direction v is the set

Definition 1.2. Let p R n be a point and v R n be a non-zero vector. The line through p in direction v is the set Important definitions and results 1. Algebra and geometry of vectors Definition 1.1. A linear combination of vectors v 1,..., v k R n is a vector of the form c 1 v 1 + + c k v k where c 1,..., c k R are

More information

Data Analysis and Manifold Learning Lecture 7: Spectral Clustering

Data Analysis and Manifold Learning Lecture 7: Spectral Clustering Data Analysis and Manifold Learning Lecture 7: Spectral Clustering Radu Horaud INRIA Grenoble Rhone-Alpes, France Radu.Horaud@inrialpes.fr http://perception.inrialpes.fr/ Outline of Lecture 7 What is spectral

More information

From Stationary Methods to Krylov Subspaces

From Stationary Methods to Krylov Subspaces Week 6: Wednesday, Mar 7 From Stationary Methods to Krylov Subspaces Last time, we discussed stationary methods for the iterative solution of linear systems of equations, which can generally be written

More information

Handout to Wu Characteristic Harvard math table talk Oliver Knill, 3/8/2016

Handout to Wu Characteristic Harvard math table talk Oliver Knill, 3/8/2016 Handout to Wu Characteristic Harvard math table talk Oliver Knill, 3/8/2016 Definitions Let G = (V, E) be a finite simple graph with vertex set V and edge set E. The f-vector v(g) = (v 0 (G), v 1 (G),...,

More information

Preparation for the Final

Preparation for the Final Preparation for the Final Basic Set of Problems that you should be able to do: - all problems on your tests (- 3 and their samples) - ex tra practice problems in this documents. The final will be a mix

More information

CS 542G: The Poisson Problem, Finite Differences

CS 542G: The Poisson Problem, Finite Differences CS 542G: The Poisson Problem, Finite Differences Robert Bridson November 10, 2008 1 The Poisson Problem At the end last time, we noticed that the gravitational potential has a zero Laplacian except at

More information

CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares

CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares Robert Bridson October 29, 2008 1 Hessian Problems in Newton Last time we fixed one of plain Newton s problems by introducing line search

More information

An Efficient Low Memory Implicit DG Algorithm for Time Dependent Problems

An Efficient Low Memory Implicit DG Algorithm for Time Dependent Problems An Efficient Low Memory Implicit DG Algorithm for Time Dependent Problems P.-O. Persson and J. Peraire Massachusetts Institute of Technology 2006 AIAA Aerospace Sciences Meeting, Reno, Nevada January 9,

More information

Partial Differential Equations

Partial Differential Equations Partial Differential Equations Introduction Deng Li Discretization Methods Chunfang Chen, Danny Thorne, Adam Zornes CS521 Feb.,7, 2006 What do You Stand For? A PDE is a Partial Differential Equation This

More information

U.C. Berkeley CS270: Algorithms Lecture 21 Professor Vazirani and Professor Rao Last revised. Lecture 21

U.C. Berkeley CS270: Algorithms Lecture 21 Professor Vazirani and Professor Rao Last revised. Lecture 21 U.C. Berkeley CS270: Algorithms Lecture 21 Professor Vazirani and Professor Rao Scribe: Anupam Last revised Lecture 21 1 Laplacian systems in nearly linear time Building upon the ideas introduced in the

More information

Stabilization and Acceleration of Algebraic Multigrid Method

Stabilization and Acceleration of Algebraic Multigrid Method Stabilization and Acceleration of Algebraic Multigrid Method Recursive Projection Algorithm A. Jemcov J.P. Maruszewski Fluent Inc. October 24, 2006 Outline 1 Need for Algorithm Stabilization and Acceleration

More information

Introduction to Algebraic and Geometric Topology Week 14

Introduction to Algebraic and Geometric Topology Week 14 Introduction to Algebraic and Geometric Topology Week 14 Domingo Toledo University of Utah Fall 2016 Computations in coordinates I Recall smooth surface S = {f (x, y, z) =0} R 3, I rf 6= 0 on S, I Chart

More information

Chapter Two: Numerical Methods for Elliptic PDEs. 1 Finite Difference Methods for Elliptic PDEs

Chapter Two: Numerical Methods for Elliptic PDEs. 1 Finite Difference Methods for Elliptic PDEs Chapter Two: Numerical Methods for Elliptic PDEs Finite Difference Methods for Elliptic PDEs.. Finite difference scheme. We consider a simple example u := subject to Dirichlet boundary conditions ( ) u

More information

Nonlinear Optimization for Optimal Control

Nonlinear Optimization for Optimal Control Nonlinear Optimization for Optimal Control Pieter Abbeel UC Berkeley EECS Many slides and figures adapted from Stephen Boyd [optional] Boyd and Vandenberghe, Convex Optimization, Chapters 9 11 [optional]

More information

Transpose & Dot Product

Transpose & Dot Product Transpose & Dot Product Def: The transpose of an m n matrix A is the n m matrix A T whose columns are the rows of A. So: The columns of A T are the rows of A. The rows of A T are the columns of A. Example:

More information

An Algorithmist s Toolkit September 15, Lecture 2

An Algorithmist s Toolkit September 15, Lecture 2 18.409 An Algorithmist s Toolkit September 15, 007 Lecture Lecturer: Jonathan Kelner Scribe: Mergen Nachin 009 1 Administrative Details Signup online for scribing. Review of Lecture 1 All of the following

More information

2.29 Numerical Fluid Mechanics Spring 2015 Lecture 9

2.29 Numerical Fluid Mechanics Spring 2015 Lecture 9 Spring 2015 Lecture 9 REVIEW Lecture 8: Direct Methods for solving (linear) algebraic equations Gauss Elimination LU decomposition/factorization Error Analysis for Linear Systems and Condition Numbers

More information

Boundary Value Problems and Iterative Methods for Linear Systems

Boundary Value Problems and Iterative Methods for Linear Systems Boundary Value Problems and Iterative Methods for Linear Systems 1. Equilibrium Problems 1.1. Abstract setting We want to find a displacement u V. Here V is a complete vector space with a norm v V. In

More information

Course Notes Math 275 Boise State University. Shari Ultman

Course Notes Math 275 Boise State University. Shari Ultman Course Notes Math 275 Boise State University Shari Ultman Fall 2017 Contents 1 Vectors 1 1.1 Introduction to 3-Space & Vectors.............. 3 1.2 Working With Vectors.................... 7 1.3 Introduction

More information

Numerical Methods I Solving Square Linear Systems: GEM and LU factorization

Numerical Methods I Solving Square Linear Systems: GEM and LU factorization Numerical Methods I Solving Square Linear Systems: GEM and LU factorization Aleksandar Donev Courant Institute, NYU 1 donev@courant.nyu.edu 1 MATH-GA 2011.003 / CSCI-GA 2945.003, Fall 2014 September 18th,

More information

Manifold Regularization

Manifold Regularization 9.520: Statistical Learning Theory and Applications arch 3rd, 200 anifold Regularization Lecturer: Lorenzo Rosasco Scribe: Hooyoung Chung Introduction In this lecture we introduce a class of learning algorithms,

More information

1 GSW Sets of Systems

1 GSW Sets of Systems 1 Often, we have to solve a whole series of sets of simultaneous equations of the form y Ax, all of which have the same matrix A, but each of which has a different known vector y, and a different unknown

More information

Discrete Projection Methods for Incompressible Fluid Flow Problems and Application to a Fluid-Structure Interaction

Discrete Projection Methods for Incompressible Fluid Flow Problems and Application to a Fluid-Structure Interaction Discrete Projection Methods for Incompressible Fluid Flow Problems and Application to a Fluid-Structure Interaction Problem Jörg-M. Sautter Mathematisches Institut, Universität Düsseldorf, Germany, sautter@am.uni-duesseldorf.de

More information

This exam will be over material covered in class from Monday 14 February through Tuesday 8 March, corresponding to sections in the text.

This exam will be over material covered in class from Monday 14 February through Tuesday 8 March, corresponding to sections in the text. Math 275, section 002 (Ultman) Spring 2011 MIDTERM 2 REVIEW The second midterm will be held in class (1:40 2:30pm) on Friday 11 March. You will be allowed one half of one side of an 8.5 11 sheet of paper

More information

Math 291-2: Lecture Notes Northwestern University, Winter 2016

Math 291-2: Lecture Notes Northwestern University, Winter 2016 Math 291-2: Lecture Notes Northwestern University, Winter 2016 Written by Santiago Cañez These are lecture notes for Math 291-2, the second quarter of MENU: Intensive Linear Algebra and Multivariable Calculus,

More information

Stable Spectral Mesh Filtering

Stable Spectral Mesh Filtering Stable Spectral Mesh Filtering Artiom Kovnatsky, Michael M. Bronstein, and Alexander M. Bronstein 2 Institute of Computational Science, Faculty of Informatics, Università della Svizzera Italiana, Lugano,

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 24: Preconditioning and Multigrid Solver Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Numerical Analysis I 1 / 5 Preconditioning Motivation:

More information

Boundary Value Problems - Solving 3-D Finite-Difference problems Jacob White

Boundary Value Problems - Solving 3-D Finite-Difference problems Jacob White Introduction to Simulation - Lecture 2 Boundary Value Problems - Solving 3-D Finite-Difference problems Jacob White Thanks to Deepak Ramaswamy, Michal Rewienski, and Karen Veroy Outline Reminder about

More information

Solving linear systems (6 lectures)

Solving linear systems (6 lectures) Chapter 2 Solving linear systems (6 lectures) 2.1 Solving linear systems: LU factorization (1 lectures) Reference: [Trefethen, Bau III] Lecture 20, 21 How do you solve Ax = b? (2.1.1) In numerical linear

More information

McGill University Department of Mathematics and Statistics. Ph.D. preliminary examination, PART A. PURE AND APPLIED MATHEMATICS Paper BETA

McGill University Department of Mathematics and Statistics. Ph.D. preliminary examination, PART A. PURE AND APPLIED MATHEMATICS Paper BETA McGill University Department of Mathematics and Statistics Ph.D. preliminary examination, PART A PURE AND APPLIED MATHEMATICS Paper BETA 17 August, 2018 1:00 p.m. - 5:00 p.m. INSTRUCTIONS: (i) This paper

More information

Vector Calculus handout

Vector Calculus handout Vector Calculus handout The Fundamental Theorem of Line Integrals Theorem 1 (The Fundamental Theorem of Line Integrals). Let C be a smooth curve given by a vector function r(t), where a t b, and let f

More information

Nonlinear Optimization

Nonlinear Optimization Nonlinear Optimization (Com S 477/577 Notes) Yan-Bin Jia Nov 7, 2017 1 Introduction Given a single function f that depends on one or more independent variable, we want to find the values of those variables

More information

Curvatures, Invariants and How to Get Them Without (M)Any Derivatives

Curvatures, Invariants and How to Get Them Without (M)Any Derivatives Curvatures, Invariants and How to Get Them Without (M)Any Derivatives Mathieu Desbrun & Peter Schröder 1 Classical Notions Curves arclength parameterization center of osculating ( kissing ) circle (also

More information

Getting Started with Communications Engineering

Getting Started with Communications Engineering 1 Linear algebra is the algebra of linear equations: the term linear being used in the same sense as in linear functions, such as: which is the equation of a straight line. y ax c (0.1) Of course, if we

More information

Aspects of Multigrid

Aspects of Multigrid Aspects of Multigrid Kees Oosterlee 1,2 1 Delft University of Technology, Delft. 2 CWI, Center for Mathematics and Computer Science, Amsterdam, SIAM Chapter Workshop Day, May 30th 2018 C.W.Oosterlee (CWI)

More information

Tangent spaces, normals and extrema

Tangent spaces, normals and extrema Chapter 3 Tangent spaces, normals and extrema If S is a surface in 3-space, with a point a S where S looks smooth, i.e., without any fold or cusp or self-crossing, we can intuitively define the tangent

More information