Computations for the paper: Sufficient conditions for the existence of limiting Carleman weights (section 7)

Pablo Angulo-Ardoy, Daniel Faraco, Luis Guijarro

http://arxiv.org/abs/1603.04201

This notebook only covers the example in section 7

In [1]:
M = Manifold(4, 'M', r'\mathcal{M}', start_index=1)
print M
X.<t,x,y,z> = M.chart()
print X
g = M.riemannian_metric('g')
print g
4-dimensional differentiable manifold M
Chart (M, (t, x, y, z))
Riemannian metric g on the 4-dimensional differentiable manifold M
In [2]:
#You can use two generic functions
#F(s) = function('F', s)
#H(s) = function('H', s)
#g[1,1], g[2,2], g[3,3], g[4,4] = 1, 1, F(x), H(x)
#g.display()
In [3]:
assume(x>0)
g[1,1], g[2,2], g[3,3], g[4,4] = 1, 1, x^3, 1/x
g.display()
Out[3]:
g = dt*dt + dx*dx + x^3 dy*dy + 1/x dz*dz
In [4]:
show(g[:])
(1000010000x300001x)

The Weyl tensor has type C

In [5]:
%time W = g.weyl()
CPU times: user 12 s, sys: 340 ms, total: 12.4 s
Wall time: 14.5 s
In [6]:
W4 = W.down(g,0)
In [7]:
Frame = X.frame()
def g_norm(v):
    return sqrt(g(v,v))
vs  = [Frame[i] for i in [1..4]]
ovs = [v/g_norm(v) for v in vs]
v1,v2,v3,v4 = ovs

N = 4
INDEX_PAIRS = [tuple(c) for c in Combinations([1..N], 2)]

#Bivectors
BASIS = [(vi*vj).antisymmetrize(0,1) for vi,vj in Combinations(ovs, 2)]
for elem in BASIS:
    print elem.display()
d = 6
v12 = BASIS[0]
v13 = BASIS[1]

def WO(bv1, bv2):
    r = 0
    for i,j in INDEX_PAIRS:
        c1 = bv1[i,j]
        for k,l in INDEX_PAIRS:
            c2 = bv2[k,l]
            r += c1*c2*W4[i,j,k,l]
    return r
1/2 d/dt*d/dx - 1/2 d/dx*d/dt
1/2/x^(3/2) d/dt*d/dy - 1/2/x^(3/2) d/dy*d/dt
1/2*sqrt(x) d/dt*d/dz - 1/2*sqrt(x) d/dz*d/dt
1/2/x^(3/2) d/dx*d/dy - 1/2/x^(3/2) d/dy*d/dx
1/2*sqrt(x) d/dx*d/dz - 1/2*sqrt(x) d/dz*d/dx
1/2/x d/dy*d/dz - 1/2/x d/dz*d/dy
In [8]:
MM = matrix(SR, d)
for i, bvi in enumerate(BASIS):
    for j,bvj in enumerate(BASIS):
        MM[i,j] = WO(bvi, bvj).expr()

We notice that the Weyl tensor is of type C

In [10]:
show(MM)
(18x2000000116x2000000116x2000000116x2000000116x200000018x2)

Is this a product of surfaces?

On account of theorem 1.7, the manifold can only split as a product of surfaces if the factors are tangent to t,x and y,z.

We use theorem 2.4 to check if these are conformal factors

In [11]:
n = g.connection()
In [12]:
show(n.display())
Γxyyxyy=32x2Γxzzxzz=12x2Γyxyyxy=32xΓyyxyyx=32xΓzxzzxz=12xΓzzxzzx=12x

We want to check whether the surfaces <t,x> are <y,z> are umbilic

In [14]:
#An orthonormal basis
v1,v2,v3,v4 = ovs
In [17]:
#All this functions must be identically 0 (and they are)
print g(n(v1)(v2),v3).display()
print g(n(v1)(v2),v4).display()
print g(n(v3)(v4),v1).display()
print g(n(v3)(v4),v2).display()
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
In [33]:
#These two functions must agree on every point (and they do)
print g(n(v1)(v1),v3).display()
print g(n(v2)(v2),v3).display()
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
In [34]:
#These two functions must agree on every point (and they do)
print g(n(v1)(v1),v4).display()
print g(n(v2)(v2),v4).display()
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
In [35]:
#These two functions must agree on every point (and they do)
print g(n(v3)(v3),v1).display()
print g(n(v4)(v4),v1).display()
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
In [36]:
#These two functions must agree on every point (but THEY DON'T!!)
print g(n(v3)(v3),v2).display()
print g(n(v4)(v4),v2).display()
M --> R
(t, x, y, z) |--> -3/2/x
M --> R
(t, x, y, z) |--> 1/2/x

Thus the manifold is not conformal to a product of surfaces.

We check if the coordinate vector fields are LCW

The vector fields t, y and z are obviously LCWs. We consider x:

In [23]:
#A sanity check: second fundamental form of partial_t^\perp
II = matrix(SR, 3)
for j,v_j in enumerate((v2,v3,v4)):
    for k,v_k in enumerate((v2,v3,v4)):
        II[j,k] = g(n(v_j)(v_k),v1).expr()
print II
[0 0 0]
[0 0 0]
[0 0 0]

However, the second fundamental form of x is not a multiple of the identity

In [24]:
#Second fundamental form of partial_x^\perp
II = matrix(SR, 3)
for j,v_j in enumerate((v1,v3,v4)):
    for k,v_k in enumerate((v1,v3,v4)):
        II[j,k] = g(n(v_j)(v_k),v2).expr()
show(II)
(000032x00012x)

We find all LCWs

The analysis of the Weyl tensor shows that any possible conformal factor must be contained in either t,x or y,z.

We first seek conformal factors in t,x:

In [25]:
print g(n(v3)(v3),v1).display()
print g(n(v3)(v4),v1).display()
print g(n(v4)(v4),v1).display()
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 0
In [26]:
print g(n(v3)(v3),v2).display()
print g(n(v3)(v4),v2).display()
print g(n(v4)(v4),v2).display()
M --> R
(t, x, y, z) |--> -3/2/x
M --> R
(t, x, y, z) |--> 0
M --> R
(t, x, y, z) |--> 1/2/x

The function Zg(ZZ,v1) is identically zero, but Zg(ZZ,v2) is not a multiple of the identity.

Thus the only possible LCW is (x,y,z,t)t, which obviously is

We now look for conformal factors in y,z

We compute the second fundamental form of O

We define O=cos(α)v3+sin(α)v4 and P=sin(α)v3+cos(α)v4 for a generic function α(x,y,z,t). We want to find equations for α so that O is umbilic:

In [30]:
alpha = function('alpha', t, x, y, z)
O = cos(alpha)*v3+sin(alpha)*v4
P = -sin(alpha)*v3+cos(alpha)*v4

#Segunda forma fundamental de O^\perp
II = matrix(SR, 3)
for j,v_j in enumerate((v1,v2,P)):
    for k,v_k in enumerate((v1,v2,P)):
        II[j,k] = g(n(v_j)(v_k),O).expr()
/projects/sage/sage-6.10/local/lib/python2.7/site-packages/IPython/core/interactiveshell.py:3066: DeprecationWarning: Calling function('f',x) is deprecated. Use function('f')(x) instead.
See http://trac.sagemath.org/17447 for details.
  exec(code_obj, self.user_global_ns, self.user_ns)
In [32]:
for j,v_j in enumerate((v1,v2,P)):
    for k,v_k in enumerate((v1,v2,P)):
        if II[j,k]:
            print 'II_{%d,%d}=%s'%(j, k, II[j,k].simplify_full())
II_{1,2}=-2*cos(alpha(t, x, y, z))*sin(alpha(t, x, y, z))/x
II_{2,0}=-D[0](alpha)(t, x, y, z)
II_{2,1}=-D[1](alpha)(t, x, y, z)
II_{2,2}=-(x^2*cos(alpha(t, x, y, z))*D[3](alpha)(t, x, y, z) - sin(alpha(t, x, y, z))*D[2](alpha)(t, x, y, z))/x^(3/2)

Remark: This is not symmetric! This is because for some choices of α the distribution Z is not integrable. The distribution is umbilic if and only if II is a multiple of the identity, so an umbilic distribution is integrable.

The entry II1,2=2xcos(α(t,x,y,z))sin(α(t,x,y,z)) is very explicit: α must be a multiple of π/2 at every point. Since α is a continuous function, P must be either v1 or v2.

In [ ]: