一道微分几何问题,sympy中的WedgeProduct到底如何使用?这是我想解决的问题的示例:
我已经尝试过:
In [28]: from sympy.diffgeom import WedgeProduct
In [29]: from sympy.diffgeom.rn import R3_r
In [30]: e_x, e_y, e_z = R3_r.base_vectors()
In [49]: u = e_x + 2 * e_y
In [50]: v = e_x + e_y - e_z
In [51]: WedgeProduct(u, v)
Out[51]: WedgeProduct(e_x + 2*e_y, e_x + e_y - e_z)
但这不是我想要的。文档稀疏且有点令人困惑,我如何像示例中那样扩展 WedgeProduct?
您需要:
e_x, e_y, e_z = R3_r.base_vectors()
dx, dy, dz = R3_r.base_oneforms()
u = e_x + 2 * e_y
v = e_x + e_y - e_z
assert WedgeProduct(dx, dy)(u, v) == -1
assert WedgeProduct(dx, dz)(u, v) == -1
assert WedgeProduct(dy, dz)(u, v) == -2
这与上面的手工计算一致。