Ask Your Question

Revision history [back]

Extrinsic curvature of Riemannian submanifold: no basis found for computing the components

I'm trying to compute the extrinsic curvature of a constant r slice of the following manifold:

M = Manifold(3, 'M', structure='Lorentzian')
X.<r,xplus,xminus> = M.chart('r:(0,+oo):r xplus:(-oo,+oo):x_+ xminus:(-oo,+oo):x_-')
g = M.riemannian_metric('g')

function('Lplus',latex_name='L_+',)(xplus)
function('Lminus',latex_name='L_-')(xminus)
var('l',domain='real')

g[0,0] = l^2/r^2
g[1,1] = l^2*Lplus(xplus)
g[2,2] = l^2*Lminus(xminus)
g[1,2] = 1/2*(-r^2-l^4*Lplus(xplus)*Lminus(xminus)/r^2)

I'm defining the submanifold using the following commands:

N = Manifold(2, 'N', ambient=M, structure='Lorentzian', start_index=1)
Y.<Xplus,Xminus> = N.chart('Xplus:(-oo,+oo):X_+ Xminus:(-oo,+oo):X_-')
var('r0',domain='real')
assume(r0>0)
phi = N.diff_map(M, {(Y,X): [r0,Xplus,Xminus]})
phi_inv = M.diff_map(N, {(X,Y): [xplus,xminus]})
phi_inv_t = M.scalar_field({X: r})
N.set_embedding(phi, inverse=phi_inv, var=r0, t_inverse = {r0: phi_inv_t})

But when computing the extrinsic curvature, I get an error:

N.extrinsic_curvature()

ValueError: no basis could be found for computing the components in the Coordinate frame (M, (d/dr,d/dxplus,d/dxminus))

Computing the normal vector leads to a similar error:

N.normal()
ValueError: no common basis for the contraction

What am I doing wrong? The examples at (https:// doc.sagemath.org/html/en/reference/manifolds/sage/manifolds/differentiable/pseudo_riemannian_submanifold.html) work fine for me.