Ask Your Question

Express a vector field in terms of a frame

asked 2021-07-21 16:08:38 +0200

raul gravatar image

updated 2021-07-22 07:03:46 +0200

slelievre gravatar image

I have a set of 4 vector fields that form a frame, I have defined them as

N = Manifold(4, 'N')
Y.<x,y,k,t> = N.chart()
F = Y.frame()
X_1 = cos(k)*F[0] + sin(k)*F[1] + (-y/2*cos(k) + x/2*sin(k))*F[3]
X_2 = -sin(k)*F[0] + cos(k)*F[1] + (x/2*cos(k) + y/2*sin(k))*F[3]
X_3 = F[3]
b = var('b', domain='real') 
assume(2 > b, b >= 0) 
X_4 = F[2] - b*F[3]

Now I want to calculate their Lie bracket and express it in terms of these vectors fields, for example the following gives [X_2, X_4], and I would like that written in terms of the {X_1, X_2, X_3, X_4}, in this case the output should be X_1.

vw = X_2.bracket(X_4)

In general, I would like to know, given a vector field V in the original frame, how it can be expressed in terms of {X_1, X_2, X_3, X_4}. Many thanks.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-07-22 14:15:51 +0200

eric_g gravatar image

It suffices to declare (X_1, X_2, X_3, X_4) as a vector frame on the manifold and to pass it as argument of display:

XF = N.vector_frame(('X_1', 'X_2', 'X_3', 'X_4'), (X_1, X_2, X_3, X_4),
                     symbol_dual=('X^1', 'X^2', 'X^3', 'X^4'))
vw = X_2.bracket(X_4)



Type N.vector_frame? for more details; see also vector_frame online documentation.

Remark: if you construct the manifold N with the argument start_index=1, i.e.

N = Manifold(4, 'N', start_index=1)

the call to vector_frame can be much abridged:

XF = N.vector_frame('X', (X_1, X_2, X_3, X_4))
edit flag offensive delete link more

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


Asked: 2021-07-21 16:08:38 +0200

Seen: 248 times

Last updated: Jul 22 '21