Lecture 18—Laplace Beltrami

In the next two lectures we’ll take a deep dive into one of the most important objects not only in discrete differential geometry, but in differential geometry at large (not to mention physics!): the Laplace-Beltrami operator. This operator generalizes the familiar Laplacian you may have studied in vector calculus, which just gives the sum of second partial derivatives: \(\Delta \phi = \sum_i \partial^2 \phi_i / \partial x_i^2\). We’ll motivate Laplace-Beltrami from several points of view, talk about how to discretize it, and show how from a computational point of view it really is the —Swiss army knife— of geometry processing algorithms, essentially replacing the discrete Fourier transform from classical signal processing.

You can find a video lecture for these slides, from a talk given by Etienne Vouga, here.

6 thoughts on “Lecture 18—Laplace Beltrami”

    1. See this page for an updated discussion of the smooth setting, including a video. There’s also a video that covers the original slides, including the discrete side of things, recorded by one of my colleagues (Etienne Vouga), which you can find here.

  1. For $\int_M{f\nabla f }dA$, should I realize it as a quadratic form?
    If so, should I take f as $(a_0, a_1, a_2, …)$ with the Laplacian spectrum as its basis?
    Or should I take f as $(f(p_1), f(p_2), …)$ with indicator functions ${\{\mathbb I_{\{p\}}: p \in M}\}$? as its basis?

    1. Great question.

      First of all, you have to be a careful with these little triangles: \(\nabla\) denotes the gradient, whereas \(\Delta\) denotes the Laplacian. You can type the former in TeX as \nabla, and the latter as \Delta. The Dirichlet energy of a function \(u\) on a closed surface \(M\) can then be expressed as

      \[
      E_D(u) := \int_M u \Delta u\ dA.
      \]

      Second, this energy is indeed a quadratic form—and it’s important to realize that you do not need a basis to define a quadratic form. Avoiding discussion of a basis allows you to easily define (and understand) quadratic forms even in the “infinite dimensional” case, i.e., even for functions like \(E_D\) whose domain is a continuous function, rather than a finite-dimensional vector. In particular, the Dirichlet energy is a quadratic form in the sense that

      \[
      E_D(cu) = c^2 u
      \]

      for any constant \(c \in \mathbb{R}\), and the expression

      \[
      E_D(u+v) – E_D(u) – E_D(v)
      \]

      is linear in each of \(u\) and \(v\), i.e., it is bilinear. Nothing more is needed.

      Hope that helps, and let us know if you have any other questions.

      1. Thanks! I typoed on $\Delta$. Actually I asked that question because I was wondering how can I intuitively imagine $\Delta$ as a super large matrix. I mean since a baby quadratic form is like $x^{T}Ax$, maybe it’s also possible to imagine $\int_{\Omega}{f\Delta f}dA$ as something similar?

        1. Yeah, if you really want to think of Dirichlet energy in terms of a matrix then there are two good ways to go. One is to think of it in terms of the discrete Laplacian, or more precisely, the cotan matrix \(A_{ij}\) (which does not include the mass matrix, i.e., it captures \(d \ast d\) rather than \(\ast d \ast d\)). Then the Dirichlet energy is

          \[
          E_D(u) = \frac{1}{2} u^T A u,
          \]

          where \(u \in \mathbb{R}^{|V|}\) is a vector storing one value per vertex. A different way is to indeed consider, in the smooth setting, eigenfunctions of the Laplace-Beltrami operator, i.e., functions \(\phi_i\) satisfying

          \[
          \Delta \phi_i = \lambda_i u_i
          \]

          for associated eigenvalues \(\lambda_i \in \mathbb{R}\). These eigenfunctions form an orthonormal basis for \(L^2(M;\mathbb{R})\), i.e., any square-integrable function \(u: M \to \mathbb{R}\) can be expressed as an infinite sum

          \[
          u = \sum_{i=1}^\infty \underbrace{\langle\!\langle u, \phi_i \rangle\!\rangle}_{c_i \in \mathbb{R}} \phi_i,
          \]

          where \(\langle\!\langle \cdot, \cdot \rangle\!\rangle\) denotes the \(L^2\) inner product

          \[
          \langle\!\langle u, v \rangle\!\rangle := \int_M u(x) v(x) dx.
          \]

          The values \(c_i\) are the “coordinates” of the function \(u\) in the infinite spectral basis \(\{\phi_1, \phi_2, \ldots\}\).

          It’s actually kind of fun to write out the Dirichlet energy in this setting. Assuming \(M\) has no boundary, we have
          \[
          \begin{array}{rcl}
          E_D(u) &=& \int_M |\nabla u|^2\ dA = -\int_M u \Delta u\ dA \\
          &=& -\int_M u \Delta \sum_{i=1}^\infty c_i \phi_i\ dA \\
          &=& -\int_M u \sum_{i=1}^\infty c_i \Delta \phi_i\ dA \\
          &=& -\int_M u \sum_{i=1}^\infty c_i \lambda_i \phi_i\ dA, \\
          \end{array}
          \]
          i.e., if we expand \(u\) in the eigenbasis, then all \(\Delta\) does is multiply each component by the associated eigenvalue. We can take this calculation a step further by expanding the other instance of \(u\) in the eigenbasis. Since the basis is orthonormal, we get just
          \[
          E_D(u) = \sum_{i=1}^\infty \lambda c_i^2.
          \]
          So, in the eigenbasis, the Dirichlet energy is nothing more than the squared norm of the function, but with each component weighted by the eigenvalues of \(\Delta\). Since higher frequencies will have larger eigenvalues, that means that the Dirichlet energy will penalize rapid oscillation much more than low-frequency variation. Finally, if you want to think of Dirichlet energy as a matrix (which I think was your original goal), you can now think of it in terms of a diagonal “matrix”
          \[
          A = \left[
          \begin{array}{ccc}
          \lambda_1 & & \\
          & \lambda_2 & \\
          & & \ddots
          \end{array}
          \right]
          \]
          that goes on forever. The Dirichlet energy itself then looks (conceptually) like
          \[
          c^T A c,
          \]
          where \(c\) is the (infinite) vector of all the coefficients \(c_i\). A common thing to do in practice is to truncate this expansion, and work only with the first \(k\) eigenvectors of the discrete Laplace matrix, rather than the infinite set of eigenfunctions of the Laplace-Beltrami operator. The nice thing about this treatment is that it allows one to control how much computation is done, by selecting the cutoff \(k\). This idea is the basis of spectral geometry processing, which I mention in the lecture.

Leave a Reply