Bubbles Bad; Ripples Good

… Data aequatione quotcunque fluentes quantitates involvente fluxiones invenire et vice versa …

Category: differential/pseudo-Riemannian geometry

Simulating closed cosmic strings (or yet another adventure in Julia)

One of my current research interests is in the geometry of constant-mean-curvature time-like submanifolds of Minkowski space. A special case of this is the study of cosmic strings under the Nambu-Goto action. Mathematically the classical (as opposed to quantum) behavior of such strings are quite well understood, by combining the works of theoretical physicists since the 80s (especially those of Jens Hoppe and collaborators) together with recent mathematical developments (such as the work of Nguyen and Tian and that of Jerrard, Novaga, and Orlandi). To get a better handle on what is going on with these results, and especially to provide some visual aids, I’ve tried to produce some simulations of the dynamics of closed cosmic strings. (This was also an opportunity for me to practice code-writing in Julia and learn a bit about the best practices for performance and optimization in that language.)

The code

After some false starts, here are some reasonably stable code.

function MC_corr3!(position::Array{Float64,2}, prev_vel::Array{Float64,2}, next_vel::Array{Float64,2}, result::Array{Float64,2}, dt::Float64)
  # We will assume that data is stored in the format point(coord,number), so as a 3x1000 array or something. 
  num_points = size(position,2)
  num_dims = size(position,1)

  curr_vel = zeros(num_dims)
  curr_vs = zeros(num_dims)
  curr_ps = zeros(num_dims)
  curr_pss = zeros(num_dims)

  pred_vel = zeros(num_dims)
  agreement = true

  for col = 1:num_points  #Outer loop is column
    if col == 1
      prev_col = num_points
      next_col = 2
    elseif col == num_points
      prev_col = num_points - 1
      next_col = 1
    else
      prev_col = col -1
      next_col = col + 1
    end

    for row = 1:num_dims
      curr_vel[row] = (next_vel[row,col] + prev_vel[row,col])/2
      curr_vs[row] = (next_vel[row,next_col] + prev_vel[row,next_col] - next_vel[row,prev_col] - prev_vel[row,prev_col])/4
      curr_ps[row] = (position[row,next_col] - position[row,prev_col])/2
      curr_pss[row] = position[row,next_col] + position[row,prev_col] - 2*position[row,col]
    end

    beta = (1 + dot(curr_vel,curr_vel))^(1/2)
    sigma = dot(curr_ps,curr_ps)
    psvs = dot(curr_ps,curr_vs)
    bvvs = dot(curr_vs,curr_vel) / (beta^2)
    pssps = dot(curr_pss,curr_ps)

    for row in 1:num_dims
      result[row,col] = curr_pss[row] / (sigma * beta) - curr_ps[row] * pssps / (sigma^2 * beta) - curr_vel[row] * psvs / (sigma * beta) - curr_ps[row] * bvvs / (sigma * beta)
      pred_vel[row] = prev_vel[row,col] + dt * result[row,col]
    end

    agreement = agreement && isapprox(next_vel[:,col], pred_vel, rtol=sqrt(eps(Float64)))
  end

  return agreement
end


function find_next_vel!(position::Array{Float64,2}, prev_vel::Array{Float64,2}, next_vel::Array{Float64,2}, dt::Float64; max_tries::Int64=50)
  tries = 1
  result = zeros(next_vel)
  agreement = MC_corr3!(position,prev_vel,next_vel,result,dt)
  for j in 1:size(next_vel,2), i in 1:size(next_vel,1)
    next_vel[i,j] = prev_vel[i,j] + result[i,j]*dt
  end
  while !agreement && tries < max_tries
    agreement = MC_corr3!(position,prev_vel,next_vel,result,dt)
    for j in 1:size(next_vel,2), i in 1:size(next_vel,1)
      next_vel[i,j] = prev_vel[i,j] + result[i,j]*dt
    end
    tries +=1
  end
  return tries, agreement
end

This first file does the heavy lifting of solving the evolution equation. The scheme is a semi-implicit finite difference scheme. The function MC_Corr3 takes as input the current position, the previous velocity, and the next velocity, and computes the correct current acceleration. The function find_next_vel iterates MC_Corr3 until the computed acceleration agrees (up to numerical errors) with the input previous and next velocities.

Or, in notations:
MC_Corr3: ( x[t], v[t-1], v[t+1] ) --> Delta-v[t]
and find_next_vel iterates MC_Corr3 until
Delta-v[t] == (v[t+1] - v[t-1]) / 2

The code in this file is also where the performance matters the most, and I spent quite some time experimenting with different algorithms to find one with most reasonable speed.

function make_ellipse(a::Float64,b::Float64, n::Int64, extra_dims::Int64=1)  # a,b are relative lengths of x and y axes
  s = linspace(0,2π * (n-1)/n, n)
  if extra_dims == 0
    return vcat(transpose(a*cos(s)), transpose(b*sin(s)))
  elseif extra_dims > 0
    return vcat(transpose(a*cos(s)), transpose(b*sin(s)), zeros(extra_dims,n))
  else
    error("extra_dims must be non-negative")
  end
end

function perturb_data!(data::Array{Float64,2}, coeff::Vector{Float64}, num_modes::Int64) 
  # num_modes is the number of modes
  # coeff are the relative sizes of the perturbations

  numpts = size(data,2)

  for j in 2:num_modes
    rcoeff = rand(length(coeff),2)

    for pt in 1:numpts
      theta = 2j * π * pt / numpts
      for d in 1:length(coeff)
        data[d,pt] += ( (rcoeff[d,1] - 0.5) *  cos(theta) + (rcoeff[d,2] - 0.5) * sin(theta)) * coeff[d] / j^2
      end
    end
  end

  nothing
end

This file just sets up the initial data. Note that in principle the number of ambient spatial dimensions is arbitrary.

using Plots

pyplot(size=(1920,1080), reuse=true)

function plot_data2D(filename_prefix::ASCIIString, filename_offset::Int64, titlestring::ASCIIString, data::Array{Float64,2}, additional_data...)
  x_max = 1.5
  y_max = 1.5
  plot(transpose(data)[:,1], transpose(data)[:,2] , xlims=(-x_max,x_max), ylims=(-y_max,y_max), title=titlestring)
  
  if length(additional_data) > 0
    for i in 1:length(additional_data)
      plot!(transpose(additional_data[i][1,:]), transpose(additional_data[i][2,:]))
    end
  end
  
  png(filename_prefix*dec(filename_offset,5)*".png")
  nothing
end

function plot_data3D(filename_prefix::ASCIIString, filename_offset::Int64, titlestring::ASCIIString, data::Array{Float64,2}, additional_data...)
  x_max = 1.5
  y_max = 1.5
  z_max = 0.9
  tdata = transpose(data)
  plot(tdata[:,1], tdata[:,2],tdata[:,3], xlims=(-x_max,x_max), ylims=(-y_max,y_max),zlims=(-z_max,z_max), title=titlestring)

  if length(additional_data) > 0
    for i in 1:length(additional_data)
      tdata = transpose(additional_data[i])
      plot!(tdata[:,1], tdata[:,2], tdata[:,3]) 
    end
  end

  png(filename_prefix*dec(filename_offset,5)*".png")
  nothing
end

This file provides some wrapper commands for generating the plots.

include("InitialData3.jl")
include("MeanCurvature3.jl")
include("GraphCode3.jl")

num_pts = 3000
default_timestep = 0.01 / num_pts
max_time = 3
plot_every_ts = 1500

my_data = make_ellipse(1.0,1.0,num_pts,0)
perturb_data!(my_data, [1.0,1.0], 15)
this_vel = zeros(my_data)
next_vel = zeros(my_data)

for t = 0:floor(Int64,max_time / default_timestep)
  num_tries, agreement = find_next_vel!(my_data, this_vel,next_vel,default_timestep)

  if !agreement
    warn("Time $(t*default_timestep): failed to converge when finding next_vel.")
    warn("Dumping information:")
    max_beta = 1.0
    max_col = 1
    for col in 1:size(my_data,2)
      beta = (1 + dot(next_vel[:,col], next_vel[:,col]))^(1/2)
      if beta > max_beta
        max_beta = beta
	max_col = col
      end
    end
    warn("   Beta attains maximum at position $max_col")
    warn("   Beta = $max_beta")
    warn("   Position = ", my_data[:,max_col])
    prevcol = max_col - 1
    nextcol = max_col + 1
    if max_col == 1
      prevcol = size(my_data,2)
    elseif max_col == size(my_data,2)
      nextcol = 1
    end
    warn("   Deltas")
    warn("    Left:  ", my_data[:,max_col] - my_data[:,prevcol])
    warn("    Right:  ", my_data[:,nextcol] - my_data[:,max_col])
    warn("   Previous velocity: ", this_vel[:,max_col])
    warn("   Putative next velocity: ", next_vel[:,max_col])
    warn("Quitting...")
    break
  end

  for col in 1:size(my_data,2)
    beta = (1 + dot(next_vel[:,col], next_vel[:,col]))^(1/2)
    for row in 1:size(my_data,1)
      my_data[row,col] += next_vel[row,col] * default_timestep / beta
      this_vel[row,col] = next_vel[row,col]
    end

    if beta > 1e7
      warn("time: ", t * default_timestep)
      warn("Almost null... beta = ", beta)
      warn("current position = ", my_data[:,col])
      warn("current Deltas")
      prevcol = col - 1
      nextcol = col + 1
      if col == 1
        prevcol = size(my_data,2)
      elseif col == size(my_data,2)
        nextcol = 1
      end
      warn(" Left: ", my_data[:,col] - my_data[:,prevcol])
      warn(" Right: ", my_data[:,nextcol] - my_data[:,col])
    end
  end

  if t % plot_every_ts ==0
    plot_data2D("3Dtest", div(t,plot_every_ts), @sprintf("elapsed: %0.4f",t*default_timestep), my_data, make_ellipse(cos(t*default_timestep), cos(t*default_timestep),100,0))
    info("Frame $(t/plot_every_ts):  used $num_tries tries.")
  end
end

And finally the main file. Mostly it just ties the other files together to produce the plots using the simulation code; there are some diagnostics included for me to keep an eye on the output.

The results

First thing to do is to run a sanity check against explicit solutions. In rotational symmetry, the solution to the cosmic string equations can be found analytically. As you can see below the simulation closely replicates the explicit solution in this case.

The video ends when the simulation stopped. The simulation stopped because a singularity has formed; in this video the singularity can be seen as the collapse of the string to a single point.

Next we can play around with a more complicated initial configuration.

In this video the blue curve is the closed cosmic string, which starts out as a random perturbation of the circle with zero initial speed. The string contracts with acceleration determined by the Nambu-Goto action. The simulation ends when a singularity has formed. It is perhaps a bit hard to see directly where the singularity happened. The diagnostic messages, however, help in this regard. From it we know that the onset of singularity can be seen in the final frame:

3Dtest00268

The highlighted region is getting quite pointy. In fact, that is accompanied with the “corner” picking up infinite acceleration (in other words, experiencing an infinite force). The mathematical singularity corresponds to something unreasonable happening in the physics.

To make it easier to see the “speed” at which the curve is moving, the following videos show the string along with its “trail”. This first one again shows how a singularity can happen as the curve gets gradually more bent, eventually forming a corner.

This next one does a good job emphasizing the “wave” nature of the motion.

The closed cosmic strings behave like a elastic band. The string, overall, wants to contract to a point. Small undulations along the string however are propagated like traveling waves. Both of these tendencies can be seen quite clearly in the above video. That the numerical solver can solve “past” the singular point is a happy accident; while theoretically the solutions can in fact be analytically continued past the singular points, the renormalization process involved in this continuation is numerically unstable and we shouldn’t be able to see it on the computer most of the time.

The next video also emphasizes the wave nature of the motion. In addition to the traveling waves, pay attention to the bottom left of the video. Initially the string is almost straight there. This total lack of curvature is a stationary configuration for the string, and so initially there is absolutely no acceleration of that segment of the string. The curvature from the left and right of that segment slowly intrudes on the quiescent piece until the whole thing starts moving.

The last video for this post is a simulation when the ambient space is 3 dimensional. The motion of the string, as you can see, becomes somewhat more complicated. When the ambient space is 2 dimensional a point either accelerates or decelerates based on the local (signed) curvature of the string. But when the ambient space is 3 dimensional, the curvature is now a vector and this additional degree of freedom introduces complications into the behavior. For example, when the ambient space is 2 dimensional it is known that all closed cosmic strings become singular in finite time. But in 3 dimensions there are many closed cosmic strings that vibrate in place without every becoming singular. The video below is one that does however become singular. In addition to a fading trail to help visualize the speed of the curve, this plot also includes the shadows: projections of the curve onto the three coordinate planes.

Compactifying (p,q)-Minkowski space

In a previous post I described a method of thinking about conformal compactifications, and I mentioned in passing that, in principle, the method should also apply to arbitrary signature pseudo-Euclidean space \mathbb{R}^{p,q}. A few days ago while visiting Oxford I had a conversation with Sergiu Klainerman where this came up, and we realised that we don’t actually know what the conformal compactifications are! So let me write down here the computations in case I need to think about it again in the future. Read the rest of this entry »

Decay of Waves IV: Numerical Interlude

I offer two videos. In both videos the same colour scheme is used: we have four waves in red, green, blue, and magenta. The four represent the amplitudes of spherically symmetric free waves on four different types of spatial geometries: 1 dimension flat space, 2 dimensional flat space, 3 dimensional flat space, and a 3 dimensional asymptotically flat manifold with “trapping” (has closed geodesics). Can you tell which is which? (Answer below the fold.)

Read the rest of this entry »

The non-existence of “black holes” in (2+1) dimensional general relativity

Yesterday I came across a fairly recent paper of Galloway, Schleich, and Witt on the non-existence of trapped surfaces and geons in (2+1) dimensional gravity. The non-existence of trapped surfaces in (2+1) GR was first established by Ida in a 2000 paper. In this post I will give a proof of this fact, and use this as an excuse to present the “double null foliation” formulation for general relativity that was used by, among others, Christodoulou’s recent work on dynamical formation of black holes, and Klainerman and Nicolo’s re-presentation of the stability of Minkowski space. By working in (2+1) instead of the customary (3+1) situation, the notations simplify and it is easier to see how the double null formalism proceeds. Read the rest of this entry »

Gauge invariance, geometrically

A somewhat convoluted chain of events led me to think about the geometric description of partial differential equations. And a question I asked myself this morning was

Question
What is the meaning of gauge invariance in the jet-bundle treatment of partial differential equations?

The answer, actually, is quite simple.

Review of geometric formulation PDE
We consider here abstract PDEs formulated geometrically. All objects considered will be smooth. For more about the formal framework presented here, a good reference is H. Goldschmidt, “Integrability criteria for systems of nonlinear partial differential equations”, JDG (1967) 1:269–307.

A quick review: the background manifold X is assumed (here we take a slightly more restrictive point of view) to be a connected smooth manifold. The configuration space \mathcal{C} is defined to be a fibred manifold p:\mathcal{C}\to X. By J^r\mathcal{C} we refer to the fibred manifold of r-jets of \mathcal{C}, whose projection p^r = \pi^r_0 \circ p where for r > s we use \pi^r_s: J^r\mathcal{C}\to J^s\mathcal{C} for the canonical projection.

A field is a (smooth) section \phi \subset \Gamma \mathcal{C}. A simple example that capture most of the usual cases: if we are studying mappings between manifolds \phi: X\to N, then we take \mathcal{C} = N\times X the trivial fibre bundle. The s-jet operator naturally sends j^s: \Gamma\mathcal{C} \ni \phi \mapsto j^s\phi \in \Gamma J^r\mathcal{C}.

A partial differential equation of order r is defined to be a fibred submanifold J^r\mathcal{C} \supset R^r \to X. A field is said to solve the PDE if j^r\phi \subset R^r.

In the usual case of systems of PDEs on Euclidean space, X is taken to be \mathbb{R}^d and \mathcal{C} = \mathbb{R}^n\times X the trivial vector bundle. A system of m PDEs of order r is usually taken to be F(x,\phi, \partial\phi, \partial^2\phi, \ldots, \partial^r\phi) = 0 where

\displaystyle F: X\times \mathbb{R}^n \times \mathbb{R}^{dn} \times \mathbb{R}^{\frac{1}{2}d(d+1)n} \times \cdots \times \mathbb{R}^{{d+r-1 \choose r} n} \to \mathbb{R}^m

is some function. We note that the domain of F can be identified in this case with J^r\mathcal{C}, We can then extend F to \tilde{F}: J^r\mathcal{C} \ni c \mapsto (F(c),p^r(c)) \in \mathbb{R}^m\times X a fibre bundle morphism.

If we assume that \tilde{F} has constant rank, then \tilde{F}^{-1}(0) is a fibred submanifold of J^r\mathcal{C}, and this is our differential equation.

Gauge invariance
In this frame work, the gauge invariance of a partial differential equation relative to certain symmetry groups can be captured by requiring R^r be an invariant submanifold.

More precisely, we take

Definition
A symmetry/gauge group \mathcal{G} is a subgroup of \mathrm{Diff}(\mathcal{C}), with the property that for any g\in\mathcal{G}, there exists a g'\in \mathrm{Diff}(X) with p\circ g = g' \circ p.

It is important we are looking at the diffeomorphism group for \mathcal{C}, not J^r\mathcal{C}. In general diffeomorphisms of J^r\mathcal{C} will not preserve holonomy for sections of the form j^r\phi, a condition that is essential for solving PDEs. The condition that the symmetry operation “commutes with projections” is to ensure that g:\Gamma\mathcal{C}\to\Gamma\mathcal{C}, which in particular guarantees that g extends to a diffeomorphism of J^rC with itself that commutes with projections.

From this point of view, a (system of) partial differential equation(s) R^r is said to be \mathcal{G}-invariant if for every g\in\mathcal{G}, we have g(R^r) \subset R^r.

We give two examples showing that this description agrees with the classical notions.

Gauge theory. In classical gauged theories, the configuration space \mathcal{C} is a fibre bundle with structure group G which acts on the fibres. A section of G\times X \to X induces a diffeomorphism of \mathcal{C} by fibre-wise action. In fact, the gauge symmetry is a fibre bundle morphism (fixes the base points).

General relativity. In general relativity, the configuration space is the space of Lorentzian metrics. So the background manifold is the space-time X. And the configuration space is the open submanifold of S^2T^*X given by non-degenerate symmetric bilinear forms with signature (-+++). A diffeomorphism \Psi:X\to X induces T^*\Psi = (\Psi^{-1})^*: T^*X \to T^*X and hence a configuration space diffeomorphism that commutes with projection. It is in this sense that Einstein’s equations are diffeomorphism invariant.

Notice of course, this formulation does not contain the “physical” distinction between global and local gauge transformations. For example, for a linear PDE (so \mathcal{C} is a vector bundle and R^r is closed under linear operations), the trivial “global scaling” of a solution is considered in this frame work a gauge symmetry, though it is generally ignored in physics.

Extensions of (co)vector fields to tangent bundles

I am reading Sasaki’s original paper on the construction of the Sasaki metric (a canonical Riemannian metric on the tangent bundle of a Riemannian manifold), and the following took me way too long to understand. So I’ll write it down in case I forgot in the future.

In section two of the paper, Sasaki consider “extended transformations and extended tensors”. Basically he wanted to give a way to “lift” tensor fields from a manifold to tensor fields of the same rank on its tangent bundle. And he did so in the language of coordinate changes, which geometrical content is a bit hard to parse. I’ll discuss his construction in a bit. But first I’ll talk about something different.

The trivial lifts
Let M, N be smooth manifolds, and let f:M\to N a submersion. Then we can trivially lift covariant objects on N to equivalent objects on M by the pull-back operation. To define the pull-back, we start with a covariant tensor field \vartheta \in \Gamma T^0_kN, and set f^*\vartheta \in \Gamma T^0_kM by the formula:

\displaystyle f^*\vartheta(X_1,\ldots,X_k) = \vartheta(df\circ X_1, \ldots, df\circ X_k)

where the X_1, \ldots, X_k \in T_pM, and we use that df(p): T_pM \to T_{f(p)}N. Observe that for a function g: N \to \mathbb{R}, the pull-back is simply f^*g = g\circ f :M\to N\to\mathbb{R}.

On the other hand, for contravariant tensor fields, the pull-back is not uniquely defined: using that f is a submersion, we have that TM / \ker(df) = TN, so while, given a vector field v on N, we can always find a vector field w on M such that df(w) = v, the vector field w is only unique up to an addition of a vector field that lies in the kernel of df. If, however, that M is Riemannian, then we can take the orthogonal decomposition of TM into the kernel and its complement, thereby getting a well-defined lift of the vector field (in other words, by exploiting the identification between the tangent and cotangent spaces).

Remarkably, the extensions defined by Sasaki is not this one.

(Let me just add a remark here: given two manifolds, once one obtain a well defined way of lifting vectors, covectors, and functions from one to the other, such that they are compatible (\vartheta^*(v^*) = [\vartheta(v)]^*), one can extend this mapping to arbitrary tensor fields.)

The extensions defined by Sasaki
As seen above, if we just rely on the canonical submersion \pi:TM\to M, we cannot generally extend vector fields. Sasaki’s construction, however, strongly exploits the fact that TM is the tangent bundle of M.

We start by looking at the vector field extension defined by equation (2.6) of the linked paper. We first observe that a vector field v on a manifold M is a section of the tangent bundle. That is, v is a map M\to TM such that the composition with the canonical projection \pi\circ v:M\to M is the identity map. This implies, using the chain rule, that the map d(\pi\circ v)= d\pi \circ dv: TM\to TM is also the identity map. Now, d\pi: T(TM) \to TM is the projection induced by the projection map \pi, which is different from the canonical projection \pi_2: T(TM) \to TM from the tangent bundle of a manifold to the manifold itself. However, a Proposition of Kobayashi (see “Theory of Connections” (1957), Proposition 1.4), shows that there exists an automorphism \alpha:T(TM) \to T(TM) such that d\pi \circ \alpha = \pi_2 and \pi_2\circ\alpha = d\pi. So v as a differential mapping induces a map \alpha\circ dv: TM \to T(TM), which is a map from the tangent bundle TM to the double tangent bundle T(TM), which when composed with the canonical projection \pi_2 is the identity. In other words, \alpha\circ dv is a vector field on TM.

Next we look at the definition (2.7) for one-forms. Give \vartheta a one-form on M, it induces naturally a scalar function on TM: for p\in M, v\in T_pM, we have \vartheta: TM\to \mathbb{R} taking value \vartheta(p)\cdot v. Hence its differential d\vartheta is a one-form over TM.

Now, what about scalar functions? Let \vartheta be a one-form and v be a vector field on M, we consider the pairing of their extensions to TM. It is not too hard to check that the corresponding scalar field to \vartheta(v), when evaluated at (p,w)\in TM, is in fact d(\vartheta(v))|_{p,w}, the derivative of the scalar function \vartheta(v) in the direction of w at point p. In general, the compatible lift of scalar fields g:M\to \mathbb{R} to TM is the function \tilde{g}(p,v) = dg(p)[v].

Using this we can extend the construction to arbitrary tensor fields, and a simple computation yields that this construction is in fact identical, for rank-2 tensors, to the expressions given in (2.8), (2.9), and (2.10) in the paper.

The second extension
The above extension is not the only map sending vectors on M to vectors on TM. In the statement of Lemmas 3 there is also another construction. Given a vector field v, it induces a one parameter family of diffeomorphisms on TM via that maps \psi_t(p,w) = (p, w+vt). Its differential \frac{d}{dt}\psi_t|_{t=0} is a vector field over TM.

The construction in the statement of Lemma 4 is the trivial one mentioned at the start of this post.

Decay of waves IIIb: tails for homogeneous linear equation on curved background

Now we will actually show that the specific decay properties of the linear wave equation on Minkowski space–in particular the strong Huygens’ principle–is very strongly tied to the global geometry of that space-time. In particular, we’ll build, by hand, an example of a space-time where geometry itself induces back-scattering, and even linear, homogeneous waves will exhibit a tail.

For convenience, the space-time we construct will be spherically symmetric, and we will only consider spherically symmetric solutions of the wave equation on it. We will also focus on the 1+3 dimensional case. Read the rest of this entry »

Symmetry and uniformization

A bit of trivia (can’t think of any use of it now)

Let (M,g) be a two-dimensional compact Riemannian manifold with negative Euler characteristic. Let V be a Killing vector field on it. By the uniformisation theorem, there exists a conformal factor u: M\to \mathbb{R} such that e^{2u}g has constant negative scalar curvature. Then V(u) = 0.

The statement follows from considering the conformal change of curvature formula in two dimensions. By a rescaling, we can assume e^{2u}g has Gauss curvature -1. Then u must solve

\displaystyle \triangle_g u - e^{2u} = K_g

where \triangle_g, K_g are the Laplace-Beltrami operator and Gauss curvature associated with g. Now hit the equation with the Lie derivative \mathcal{L}_V. Since V is Killing relative to g, its Lie derivative commutes with the Laplace-Beltrami operator, and kills K_g. So we have

\displaystyle \triangle_g V(u) - 2 e^{2u}V(u) = 0

Now we multiply by V(u) throughout, and integrate over M, we have that

\displaystyle \int_M |\nabla V(u)|^2 + 2 e^{2u} V(u)^2 dvol_M = 0

which leads to our conclusion. Q.E.D.

Observe that the same argument works for conformally flat Riemann surfaces. That is: let (M,g) be a 2-dimensional compact Riemannian manifold with non-positive Euler characteristic, and let g_0 be the conformal metric with constant Gauss curvature. Then any infinitesimal symmetry of g is a symmetry of g_0.

For surfaces of positive Euler characteristic (well, the topological 2-sphere), this argument doesn’t work. And in fact, the statement is false. This is related to the fact that the 2-sphere has a really huge conformal group (any fractional-linear/Moebius transformation of the complex plane gives rise to one such) (which also causes a bit of technical difficulty when considering the uniformisation problem for the sphere). For example, under the stereographic projection of the 2-sphere to the complex plane \mathbb{C}, the canonical rotation vector field is given by \frac{\partial}{\partial\theta} in polar coordinates. The metric can be written as 16dz d\bar{z}/(4 + |z|^2)^2 . Now take the conformal transformation w = (z+1)/(z+2), which implies that dw = dz/(z+2)^2. The pull-back metric 16dwd\bar{w} / (4 + |w|^2)^2 differs from the standard metric by a factor of [(4 + |z|^2) / (4|z+2|^2 + |z+1|^2)]^2, which is emphatically not constant along integral curves of \frac{\partial}{\partial\theta}.

The “Hoop Conjecture” of Kip Thorne and Spherically Symmetric Space-times

Abstract. (This being a rather long post, I feel the need to write one.) In the post I first gather some miscellaneous thoughts on what the hoop conjecture is and why it is difficult to prove in general. After this motivation, I show also how the statement becomes much easier to state and prove in spherical symmetry: the entire argument collapses to an exercise in ordinary differential equations. In particular, I demonstrate a theorem that is analogous, yet slightly different, from a recent result of Markus Khuri, using much simpler machinery.

The Hoop conjecture is a proposed criterion for when a black-hole will form under gravitational collapse. Kip Thorne, in 1972 [see Thorne, Nonspherical Gravitational Collapse: a Short Review in Magic without Magic] made the conjecture that (I paraphrase here)

Horizons form when and only when a mass M gets compacted into a region whose circumference C in EVERY direction is bounded by C \lesssim M.

This conjecture, now widely under the name of “Hoop conjecture”, is deliberately vague. (This seemed to have been the trend in physics, especially in general relativity. Conjectures are often stated in such a way that half the effort spent in proving said conjectures are used to find the correct formulation of the statement itself.) Read the rest of this entry »

Newton-Cartan part 3: gravitating particles

As a simple example of a physical theory on a Galilean manifold, let us consider the physics of a collection of massive particles that do not interact except for their gravitational interaction. In other words, let us consider a collisionless kinetic theory coupled to Newtonian gravity.

Vlasov system
The Vlasov system is a transport equation describing the free flow of collisionless particles. Let (M,\nabla) be a manifold with an affine connection that represents the spacetime. We postulate Newton’s first law:

Physical assumption 1
The motion of a free particle is geodesic.

Therefore the motion of a free particle is described by the following system of equations: let \tau denote proper time as experienced by the particle, and \gamma(\tau) the world-line of the particle (its spacetime trajectory) parametrized by \tau, then we have the hyperbolic system of equations.

Equation 2
(\frac{d}{d\tau}\gamma)(\tau) = V\circ\gamma(\tau) \in T\gamma \subset TM
and
\frac{d}{d\tau}(V\circ\gamma) (= \frac{d^2}{d\tau^2}\gamma) = \nabla_VV = 0

Read the rest of this entry »