这个问题是关于使 sympy 的几何代数模块同时使用协变和逆变向量形式以使输出更加紧凑。到目前为止,我可以使用其中一种,但不能同时使用。可能是我对数学不够了解,答案毕竟在文档中。
一些背景:
我有一个方程组,我想在一个复杂的非正交坐标系中求解。这个坐标系的度量张量元素是已知的,但是它们的表达式很笨拙,所以我想将它们隐藏起来,并简单地使用 g ij、其行列式 J 的平方根和 g ij。以它们的逆变形式或协变形式描述向量V也很有用,
V = ∑V i e i = ∑V i e i ,
并在必要时在它们之间进行转换。
这里 e i = ∇u(i) 和 u(i) 是第 i个坐标,并且 e i = ∂R/∂u(i)。此符号与此宝贵文本中使用的符号相同,我不能再推荐更多了。具体来说,第 2 章将有助于解决这个问题。
我要解决的方程组中有许多卷曲和发散运算。前者最简单地用 a 向量的逆变形式表示,而后者用协变形式表示:
∇。V = 1/J ∑∂ u(i) JV i ,
∇ x V = ε ijk /J (∂ u(i) V i )e i ,
其中 ε ijk是 Levi-Cevitta 符号。如果我可以使用 sympy 的几何代数模块打印上述两个方程,我会考虑回答这个问题。
如何配置 sympy 的几何代数模块以这种方式表达计算,即使用协变和逆变向量表达式来隐藏坐标系的复杂性?
也许有一个替代工具箱可以做到这一点?