The Laplace-Beltrami-Operator on Riemannian Manifolds Frank Schmidt at M¨

Frank Schmidt
The Laplace-Beltrami-Operator on Riemannian Manifolds
The Laplace-Beltrami-Operator on Riemannian Manifolds
Frank Schmidt
Computer Vision Group - Technische Universit¨at M¨
unchen
Abstract
This report mainly illustrates a way to compute the Laplace-Beltrami-Operator on a Riemannian Manifold and gives information to why and where it is used in the Analysis of 3D
Shapes. After a brief introduction, an overview over the necessary properties of manifolds
for calculating the Laplacian is given. Furthermore the two operators needed for defining the
Laplace-Beltrami-Operator - the gradient and the divergence - are introduced. Both of them
are individually derived from the geometric meaning of the operator in Euclidean space, which
then is translated into a Riemannian Manifold. With these operators defined, their formulas
are combined into a specification used to calculate the Laplace-Beltrami-Operator. Finally,
some examples for its applications are presented. Most of this report uses [1] as a reference,
for this reason it won’t be specifically noted.
1
Why do we need the Laplace-Beltrami-Operator?
Figure 1: 3D-model of a woman in different positions, coloured by using the 8th eigenfunction of
the Laplace-Beltrami operator. The third pose is coloured inverse to the other two.
As the title states, the main objective of this report is to illustrate the mathematical basics
of how to calculate the Laplace Operator on Riemannian Manifolds. So what does this have to
do with 3D-objects? Most of the time 3D-objects are represented as a surface, which (with some
math behind it) can be approximated by a manifold e.g. with the help of the Sturm-Liouville’s
decomposition [2]. Many methods for analyzing shapes use the Eigenfunctions of the LaplaceBeltrami-Operator (or the Laplacian for short) to calculate a metric bound to vertices. As shown
in Figure 1 those Eigenfunctions are not changed by isometric deformations and therefore are a
good way to specify a certain point on the object. Since the Laplace operator is defined as
∆ := div ∇,
1
(1)
Frank Schmidt
The Laplace-Beltrami-Operator on Riemannian Manifolds
those two functions need to be introduced first. I would like to begin by looking at the definitions
of Riemannian Manifolds.
2
Introduction into Manifolds
The set M ⊂ RN is called a submanifold, if it can be superimposed by local charts. The mapping
˜ → M is a local chart, if it is bijective and smooth. In addition to that, the Jacobian matrix
ϕ:U
˜ ⊂ Rn to
of ϕ has to have full rank. Most of the time, ϕ maps values from the parameter space U
N
−1
˜
R with n ≤ N . Furthermore the point x ∈ U = ϕ (p) is the local coordinate of p ∈ M . Now
we assume that the function f : M → R takes points from M and maps them to R. One way to
˜ is to use the the local chart ϕ to convert it into local
apply that function to the parameter space U
˜
˜
˜
coordinates, so that f = f ◦ ϕ with f : U → R.
Figure 2: Graphical representation of manifold terminography
Tangent Space The tangent space Tp M is a local approximation of the manifold at the point
p, defined as
Tp M := {v ∈ RN |∃ > 0, γ : (−, ) → M. γ(0) = p, γ(0)
˙
= v}.
(2)
The tangent space is the set of vectors in RN which are tangential to any function passing through
p. In the case of the R3 , the tangent space Tp M of a manifold M is a tangent plane in the point
p. For calculation purposes it is practical to have a basis of Tp M , one of which, if a local chart ϕ
is given, can be constructed like this: Let x = ϕ−1 (p), then
{∂i =
∂ϕ
(x) | ∀i ∈ {1 . . . n}}
∂xi
(3)
is a base of Tp M , by basically projecting x onto the different unit vectors xi ∈ Rn . As a sidenote,
the columns of the Jacobian matrix of ϕ are exactly the different ∂i . In other words, the Jacobian
matrix has to have full rank, so that the ∂i are linearly independent.
Riemannian Manifolds A Riemannian Manifold is the tuple (M, g) with the manifold M and
the Riemannian metric g. This metric is used to determine geometric values of the manifold M , for
example to measure distances and angles on the manifold. It is given by the scalar product
Pn gp over
Tp M P
, which can be seen in lokal coordinates as a matrix multiplication. Let be v = i=1 vi · ∂i ,
n
w = i=1 wi · ∂i ∈ Tp M with the local chart ϕ(x) = p:
∂ϕ ∂ϕ
,
for i, j ∈ {1 . . . n}
(4)
gi,j =
∂xi ∂xj
2
Frank Schmidt
The Laplace-Beltrami-Operator on Riemannian Manifolds
Figure 3: The tangent plane Tp M
gp (v, w) = v T · g · w =
n
X
gi,j · vi · wj
(5)
i,j=1
As an example for the usage of g, we will take a look at the integration of a function f over a
Riemannian Manifold (M, g). With the help of a local chart ϕ we can define differentiable functions
on M . To determine it, we set the result on the deformed manifold suface in relation to the integral
of f˜ in the parameter space. The equation
Z
Z
q
f dS =
f˜(x) det(gi,j )dx
(6)
M
˜
U
is used to calculate the integral of f over M . To sketch the proof of this, we will look at a manifold
in the R3 . The integral of a function over the parameter space is weightend by the infinitesimal
area element uv. Therefore the area element has to be deformed accordingly to get the right result.
The area spanned by the two unit vectors x1 and x2 in the parameter space is mapped to the area
|∂1 × ∂2 | in the tangent space of the manifold. The calculation
h∂1 , ∂2 i = |∂1 ||∂2 | cos(α)
(7)
|∂1 × ∂2 | = |∂1 ||∂2 | sin(α)
⇒
2
2
(8)
2
2
2
2
h∂1 , ∂2 i + |∂1 × ∂2 | = |∂1 | |∂2 | · (cos (α) + sin (α))
(9)
p
p
2
2
⇒ |∂1 × ∂2 | = |∂1 | |∂2 | − h∂1 , ∂2 i = det(g)
(10)
p
shows, that an area element in the parameter space is related by det(g) to an area element in
the tangent space of M .[3]
3
The Gradient
In Euclidean space Rn , the gradient is defined as
∂f
∂f
∇f =
,...,
.
∂xi
∂xi
(11)
The resulting vector points into the direction of the greatest increase of the function and its
magnitude corresponds to the slope of the function. It is also used to determine the directional
3
Frank Schmidt
The Laplace-Beltrami-Operator on Riemannian Manifolds
derivative dfp (v) of f at the point p in the direction of the vector v ∈ Rn :
h∇f (p), vi = dfp (v)
(12)
Another way to calculate the directional derivative dfp (v) directly is by watching its behavior over
time:
d
f (p + tv)
(13)
dfp (v) =
dt|t=t0
or, in a more general way, by using γ : (−, ) → Rn fullfilling γ(0) = p, γ(0)
˙
=v
dfp (v) =
d
dt|t=t0
f (γ(t)).
(14)
Now the second equation can be used in a Riemannian Manifold (M, g), since it is not necessary
to use f (p + tv) which could possibly go out of M but any γ. If the directional derivative dfp (v) of
f : M → Rn and v ∈ Tp M is calculated, a γ satisfying the conditions exists by the construction of
Tp M , so that dfp (v) exists and can be used to define the gradient on the manifold. After converting
(12) into Manifold arithmetics, it looks like this:
gp (∇f (p), v) = dfp (v) for ∀v ∈ Tp M
(15)
This equation implies that exactly one ∇f exists for v ∈ Tp M to satisfy the equation above.
Now that we know it exists, we want to calculate the gradient. The local chart ϕ is given,
leading to the Tp M with the base ∂1 , . . .P
, ∂n . Since the gradient is obviously an element
Tp M ,
Pof
n
n
it can be displayed in Tp M as ∇f =
a
∂
,
the
same
is
true
for
v
∈
T
M
=
i
i
p
i=1
i=1 vi ∂i .
Additionally, dfp (v) has to be determined. Since the directional derivative is linear and by using
◦ϕ)
∂ f˜
∂ϕ
the chain rule ∂x
= ∂(f
= df ( ∂x
) = df (∂i )
∂xi
i
i
dfp (v) =
n
X
vi dfp (∂i ) =
n
X
vi
i=1
i=1
∂ f˜
.
∂xi
(16)
This information can now be used to determine the values of the ai by starting from (15):
n
X
gp (∇f, v) =
gi,j vi aj = dfp (v) =
i,j=1
n
X
vi
i=1
and therefore

n
X
gi,j aj =
j=1
∂ f˜
,
∂xi
∂ f˜
∂x1
(17)

 . 
∂ f˜

∀i ∈ {1 . . . n} ⇔ g · a = 
 ..  .
∂xi
˜
(18)
∂f
∂xn
Let (g i,j )i,j=1,...,n be the inverse matrix of g, then

∂ f˜
∂x1

n
X
 . 
∂ f˜
 = a ⇔ ai =
.
(g i,j ) · 
g i,j
 . 
∂xj
∂ f˜
∂xn
(19)
j=1
Combining these terms, the Gradient ∇f can be calculated from the formula
∇f =
n
X
ai ∂i with ai =
i=1
n
X
j=1
4
g i,j
∂ f˜
.
∂xj
(20)
Frank Schmidt
4
The Laplace-Beltrami-Operator on Riemannian Manifolds
The Divergence
The divergence operator div converts a vector field V : M → Tp M into a scalar field. Even though
the formula for doing so in the Rn
n
X
∂Vi
div V =
(21)
∂xi
i=1
seems complex, the idea behind it is simple: It basically interprets the vector field as a definiton of
a flow, where the direction and volume of the flow in a certain point is defined by the corresponding
vector. The operator will then compute the current volume change under the influence of V . It
can be proven, that for a function f with a compact support and a vectorfield V, the divergence
is the negative adjoint operator to the gradient:[3]
hV, ∇f i = h−div V, f i
If this is integrated over Rn , it leads to
Z
Z
f · div V dx = −
Rn
h∇f, V i dx.
(22)
(23)
Rn
(23) can now be changed into localpcoordinates within a manifold by using g(∇f, V ) instead of
h∇f, V i and replacing dx by dS = |det g|dx. An integration by parts will be performed on the
result.
Z
Z
p
p
˜
f · div V · |det g| dx = −
g(∇f, V ) · |det g| dx
(24)
M
M
n
X
p
∂ f˜
Vi · |det g| dx
M i=1 ∂xi
Z
= −
Z
=
M
f˜
n
X
p
∂
(Vi · |det g|) dx
∂xi
i=1
(25)
(26)
for all f , if their support is contained in the coordinates. So the final formula for computing the
divergence on manifolds is
n
X ∂
p
1
(Vi · |det g|).
div V = p
|det g| i=1 ∂xi
5
(27)
The Laplace-Beltrami-Operator
After determining (27) and (20), they can be combined into a way to compute the Laplace-BeltramiOperator with local coordinates:
∆
∆f
:
C ∞ (M ) → C ∞
:= div ∇f
=
(28)
(29)
n
X
1
∂ p
∂
p
( |det g| · g i,j ·
f)
∂xj
|det g| i,j=1 ∂xi
(30)
Since we know a geometric meaning of the gradient and the divergence, it would be desirable to
find one for the Laplacian. To find it, we look at the Laplace operator as a generalisation of the
2
second derivate ∂∂ 2 fx . The second derivate is defined as
which is related to
f 00 = lim
f 0 (x + h) − f 0 (x)
h→∞
h
(31)
f (x + h) + f (x − h) − 2f (x)
h→∞
2h2
(32)
f 00 = lim
5
Frank Schmidt
The Laplace-Beltrami-Operator on Riemannian Manifolds
Figure 4: Constraining vertex positions (red) and a set of handle vertices (yellow sphere) yields a
smooth deformed surface by solving a linear system.
by L’Hˆ
opital’s rule. Equation 32 shows, that the second derivate is a measurement of difference of
the function values of the point x and the average in a small neighborhood.[3]
This concept is used by the Laplacian coordiantes. The Laplacian is applied to each vertex
on a mesh/manifold and the resulting vector represents the difference between the vertex and the
vertices in a small neighborhood. Using those vectors, one can reconstruct the mesh up to a rigid
transformation. Furthermore, by constraining the location of a set of vertices and change the
location of a set of handle vertices, one can obtain a smooth deformation of the mesh by solving
for a mesh, which has the same Laplacian coordinates in a least square sense as shown in Figure 4.
[3]
Referring back to the introduction, an eigenfunction is a function, which satisfies ∆φ = λφ.
We know, that the Laplacian is a linear self-adjoint operator for compact Riemannian manifolds
without a boundary [2]. Therefore non-unique eigenfunctions φ exist, which fullfill that condition.
The eigenfunctions of different λ are orthogonal to each other, and even if the representative of the
classes of eigenfunctions for the λ are restricted by having to be orthonormal to each other, there
can still be two different eigenfunctions φ, −φ which both fullfill the conditions. This explains,
why in Figure 1 the colouring of the woman on the right is exactly inverse to the other ones even
though it is the same eigenfunction.
References
[1] Grieser, D.: Der Laplace-Operator auf einer Riemannschen Mannigfaltigkeit (2009)
[2] Canzani, Y.: Analysis on manifolds via the laplacian (2013)
[3] Herholz, P.: General discrete laplace operators on polygonal meshes. diploma thesis, HumboldUniversit¨
at zu Berlin (2012)
6