Evaluating a form field at a point on vectors
I am having trouble matching up terminology in my textbook (Hubbard's Vector Calculus) against SageMath operators. I'd like to understand how to solve the following example problem with Sage:
Let
phi = cos(x z) * dx /\ dybe a 2-form onR^3. Evaluate it at the point(1, 2, pi)on the vectors[1, 0, 1], [2, 2, 3].
The expected answer is:
cos (1 * pi) * Matrix([1, 2], [0, 2]).det() = -2
So far I have pieced together the following:
E.<x,y,z> = EuclideanSpace(3, 'E')
f = E.diff_form(2, 'f')
f[1, 2] = cos(x * z)
point = E((1,2,pi), name='point')
anchor = f.at(point)
v1 = vector([1, 0, 1])
v2 = vector([2, 2, 3])
show(anchor(v1, v2))
which fails with the error:
TypeError: the argument no. 1 must be a module element
To construct a vector in E, I tried:
p1 = E(v1.list())
p2 = E(v2.list())
show(anchor(p1, p2))
but that fails with the same error. What's the right way to construct two vectors in E?
Motivated by your question, I've opened the ticket https://trac.sagemath.org/ticket/31609 to add a method
vector()in order to easily create vectors at a given point.Also asked at Stack Overflow question 66934629: Evaluating a form field at a point on vectors in SageMath.