在 SageMath 中评估向量上某个点的表单域
Evaluating a form field at a point on vectors in SageMath
我无法将教科书中的术语(Hubbard 的 向量微积分 )与 SageMath 运算符进行匹配。我想了解如何使用 Sage 解决以下示例问题:
Let phi = cos(x z) dx /\ dy
be a 2-form on R^3
. Evaluate it at the point (1, 2, pi)
on the vectors [1, 0, 1], [2, 2, 3]
.
预期的答案是:
cos (1 * pi) * Matrix([1, 2], [0, 2]).det() = -2
到目前为止,我拼凑了以下内容:
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))
失败并出现错误:
TypeError: the argument no. 1 must be a module element
为了在 E
中构造一个向量,我尝试了:
p1 = E(v1.list())
p2 = E(v2.list())
show(anchor(p1, p2))
但是失败并出现同样的错误。在E
中构建两个向量的正确方法是什么?
快到了。
计算点 p
处的 2 形式,
使用基于 p
.
的向量
sage: T = E.tangent_space(point)
sage: T
Tangent space at Point point on the Euclidean space E
sage: pv1 = T(v1)
sage: pv2 = T(v2)
sage: pv1
Vector at Point point on the Euclidean space E
sage: pv2
Vector at Point point on the Euclidean space E
sage: anchor(pv1, pv2)
-2
我无法将教科书中的术语(Hubbard 的 向量微积分 )与 SageMath 运算符进行匹配。我想了解如何使用 Sage 解决以下示例问题:
Let
phi = cos(x z) dx /\ dy
be a 2-form onR^3
. Evaluate it at the point(1, 2, pi)
on the vectors[1, 0, 1], [2, 2, 3]
.
预期的答案是:
cos (1 * pi) * Matrix([1, 2], [0, 2]).det() = -2
到目前为止,我拼凑了以下内容:
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))
失败并出现错误:
TypeError: the argument no. 1 must be a module element
为了在 E
中构造一个向量,我尝试了:
p1 = E(v1.list())
p2 = E(v2.list())
show(anchor(p1, p2))
但是失败并出现同样的错误。在E
中构建两个向量的正确方法是什么?
快到了。
计算点 p
处的 2 形式,
使用基于 p
.
sage: T = E.tangent_space(point)
sage: T
Tangent space at Point point on the Euclidean space E
sage: pv1 = T(v1)
sage: pv2 = T(v2)
sage: pv1
Vector at Point point on the Euclidean space E
sage: pv2
Vector at Point point on the Euclidean space E
sage: anchor(pv1, pv2)
-2