Ask Your Question
2

Tangent vector field

asked 2020-09-02 18:44:50 +0100

cav_rt gravatar image

Hello over there.

I'm trying to calculate the norm, or the norm squared, of a vector field tangent to a curve over a manifold. The examples on Curves in Manifold and Vector Fields from the documentation work fine, but when I try a tangent to a curve I get the error ValueError: the two subsets do not belong to the same manifold.

Here is my minimal example:

N = Manifold(2, 'N', latex_name=r'\mathcal{N}',structure='Lorentzian')
var('u v')
chart_N.<u,v> = N.chart()
R.<t> = RealLine()
beta = N.curve({chart_N: [t, sech(t)]}, (t,0, oo), latex_name=r'\beta')
vbeta = beta.tangent_vector_field()
g=N.metric(name='g', latex_name=r'g_{\mathcal{N}}')
g[0,0]=-1
g[1,1]=cosh(u)**2

Everything is fine until here. I got the error when I tried

g(vbeta,vbeta)

or

vbeta.norm(metric=g)

What I'm missing?

Thank you in advance.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2020-09-03 08:08:08 +0100

eric_g gravatar image

updated 2020-09-03 08:30:36 +0100

You should use

g.along(beta)(vbeta, vbeta)

See the documentation of the method along().

Considering your example, we have

sage: v2 = g.along(beta)(vbeta, vbeta); v2
Scalar field on the Real interval (0, +Infinity)
sage: v2.display()
(0, +Infinity) --> R
t |--> -1/cosh(t)^2
sage: v2.expr()
-1/cosh(t)^2

In SageMath 9.2, which should be released within a few weeks, you will be able to use directly vbeta.dot(vbeta) or vbeta.norm(), cf. the 9.2 release tour.

edit flag offensive delete link more

Comments

Thank you!

cav_rt gravatar imagecav_rt ( 2020-09-03 14:46:56 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2020-09-02 18:44:50 +0100

Seen: 680 times

Last updated: Sep 03 '20