Ask Your Question

Multiplying a vector to a list

asked 2020-06-25 02:16:50 +0100

whatupmatt gravatar image

updated 2020-06-28 02:27:06 +0100

slelievre gravatar image

Let's say I have a list of forms given by

U = Manifold(4, 'U')
X.<x, y, z, w> = U.chart()
f = U.diff_form(3, 'f')
f[0, 1, 2] = x^2
g = U.diff_form(3, 'g')
g[0, 1, 2] = y^2
h = U.diff_form(3, 'g')
h[0, 1, 2] = z^3
List = [f, g, h]

So I have a list of 3 elements, each a 3-form.

Let's assume I have a list of vectors given by

ListofVectors = [(0, 1, 1), (0, 2, 1), (1, 2, 3)]

I want to do a dot product but the problem is Sage won't let me make List into a vector so I can do like

List.dot_product(ListofVectors[i]) for i < len(ListforVectors)

Basically, I want a new list with [g + h, 2*h + g, f + 2*g + 3*h]. Is there a way to dot product a list of forms with a list of vectors? Again, I think the main issue is I can't turn List into a vector for the dot product function to make sense.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-06-25 04:04:51 +0100

The command

S = [sum(a*b for (a,b) in zip(List, v)) for v in ListofVectors]

will return what you want, although it won't be printed how you want:

sage: S
[3-form on the 4-dimensional differentiable manifold U,
 3-form on the 4-dimensional differentiable manifold U,
 3-form on the 4-dimensional differentiable manifold U]
sage: S[0] == g + h
sage: S[1] == 2*g + h
edit flag offensive delete link more


For a more Sage oriented way, I tried to build the module generated by f, g and h. using U.diff_form_module(3).basis('e', from_family=[f, g, h]), but it returns a KeyError in a cached method. Is it not a valid approach?

Florentin Jaffredo gravatar imageFlorentin Jaffredo ( 2020-06-25 13:32:23 +0100 )edit

I think from my previous questions, the command show(LatexExpr('[' + ','.join(latex(f.display()) for f in S) + ']')) works.

whatupmatt gravatar imagewhatupmatt ( 2020-06-25 19:42:38 +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


Asked: 2020-06-25 02:16:50 +0100

Seen: 421 times

Last updated: Jun 28 '20