# Express a vector field in terms of a frame

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)
vw
vw.display()
```

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.