计算楔积

问题描述 投票:0回答:1

一道微分几何问题,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?

python geometry sympy
1个回答
0
投票

您需要:

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

这与上面的手工计算一致。

© www.soinside.com 2019 - 2024. All rights reserved.